; 主引导程序
;-------------------------------------------------
SECTION MBR vstart=0x7c00
mov ax,cs
mov ds,ax
mov es,ax
mov ss,ax
mov fs,ax
mov sp,0x7c00
; 清屏利于0x06 号功能,上卷全部行,则可清屏
; --------------------------------------------------
; INT 0x10 功能号:0x06 功能描述:上卷窗口
; -------------------------------------------------
; 输入;
; AH 功能号= 0x06
; AL = 上卷的行数(如果为零,表示全部
; BH = 上卷行属性
; (CL, CH) = 窗口左下角的(X,Y)位置
; (DL, DH) = 窗口右下角的(X,Y)位置
; 无返回值:
mov ax, 0x600
mov bx, 0x700
mov cx, 0 ; 左上角:(0,0)
mov dx, 0x184f ; 右下角:(80,25)
; VGA 文本模式,一行只能容纳80个字符,共25行
; 下标从0开始,所以ox18=24, 0x4f=79
int 0x10
; ------------------------------------------------------------------
; .get_cursor 获取当前光标位置, 在光标位置处打印字符
mov ah, 3 ; 输入:3号子功能是获取光标的位置,需要存入ah寄存器
mov bh, 0 ; bh寄存器存储的是待获取光标的页号
int 0x10 ; 输出: ch=光标开始行,cl=光标结束行
; 用10h 中断,调用13号子功能 打印字符串
mov ax, message
mov bp, ax ; es:bp 为串首地址, es此时于cs一致
; 开头时已经初始化了
; 光标位置要用dx寄存器中的内容,cx中的光标位置可忽略
mov cx, 0x19 ; cx 为串长度,不包括结束符0的字符个数
mov ax, 0x1301 ; 子功能号13显示字符及属性,要存入ah寄存器
; al设置写字符当时 ah=01, 显示字符串,光标跟随移动
mov bx, 0x2 ; bh存储要显示的页号,此处是第0页
; bl中是字符属性, 黑底绿字
int 0x10
;;;;;;;;;;;; 打字符串结束 ;;;;;;;;;;;;;;;;;
jmp $ ; 使程序悬停在此
message db "hello world i am linglong"
times 510-($-$$) db 0
db 0x55, 0xaa
-------------------------------------- 日记------------------------------
我不是最关心我的,任何人也不是。没有资格,也无能力,包括我自己。
有黑暗是因为没有光明,有严寒是因为没有温暖,有软弱是因为没有坚强。光明离开了,就呈现出黑暗,温暖和坚强缺失了,就会造成严寒和软弱。这个,坚强应该胜于软弱,温暖能胜于严寒,光明能驱赶黑暗。先是没有才导致的这种有,感觉对人都不怎么友好
人可以自由选取光明,坚强和温暖。当人不能获取或抛弃这些,人就才会呈现出来没有这些的样子,可恨也可怕
我是不知,或知而不察。说的也是就像几粒沙子一样的话。我依旧是小知不及大知,夏虫不可与言冰雪,
虽然很不想做以篱测海,篱尽以为海尽,但终究想成为个人,所以跃跃欲试
我是初学蒙童,也渴望有人能给我讲解讲解
春天,树开始发芽的那种朦胧嫩绿,实在是太好看了