bochs:输出MBR

在这里插入图片描述

; 主引导程序
;-------------------------------------------------
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			; 左上角:(00)
	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

-------------------------------------- 日记------------------------------

我不是最关心我的,任何人也不是。没有资格,也无能力,包括我自己。
有黑暗是因为没有光明,有严寒是因为没有温暖,有软弱是因为没有坚强。光明离开了,就呈现出黑暗,温暖和坚强缺失了,就会造成严寒和软弱。这个,坚强应该胜于软弱,温暖能胜于严寒,光明能驱赶黑暗。先是没有才导致的这种有,感觉对人都不怎么友好
人可以自由选取光明,坚强和温暖。当人不能获取或抛弃这些,人就才会呈现出来没有这些的样子,可恨也可怕
我是不知,或知而不察。说的也是就像几粒沙子一样的话。我依旧是小知不及大知,夏虫不可与言冰雪,
虽然很不想做以篱测海,篱尽以为海尽,但终究想成为个人,所以跃跃欲试
我是初学蒙童,也渴望有人能给我讲解讲解
春天,树开始发芽的那种朦胧嫩绿,实在是太好看了

发布了45 篇原创文章 · 获赞 0 · 访问量 1042
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 1024 设计师: 上身试试

分享到微信朋友圈

×

扫一扫,手机浏览