码迷,mamicode.com
首页 > 其他好文 > 详细

02_day-helloos3

时间:2014-12-19 19:09:55      阅读:236      评论:0      收藏:0      [点我收藏+]

标签:

		;启动区 所有电脑都一样
		ORG		0x7c00			


		;配置软盘参数 供启动用
		JMP		entry
		DB		0x90
		DB		"HELLOIPL"		
		DW		512				
		DB		1				
		DW		1				
		DB		2				
		DW		224				
		DW		2880			
		DB		0xf0			
		DW		9				
		DW		18				
		DW		2				
		DD		0				
		DD		2880			
		DB		0,0,0x29		
		DD		0xffffffff		
		DB		"HELLO-OS   "	
		DB		"FAT12   "		
		RESB	18				



entry:		;初始化一些主要寄存器
		MOV		AX,0			
		MOV		SS,AX
		MOV		SP,0x7c00
		MOV		DS,AX
		MOV		ES,AX

		MOV		SI,msg;将标号msg赋值给SI寄存器,在这里msg代表的是一个地址
putloop:
		MOV		AL,[SI];SI中装的是一个地址,从地址中取值,赋值给AL
		ADD		SI,1	;移到下一个地址			
		CMP		AL,0
		JE		fin
		MOV		AH,0x0e			
		MOV		BX,15			
		INT		0x10	;打印msg中的信息  int 0x10的使用可查百度		
		JMP		putloop
fin:
		HLT			;使CPU进入休眠的指令			
		JMP		fin				

msg:					;此处就是我们要打印的信息
		DB		0x0a, 0x0a	;换行		
		DB		"hello, world"
		DB		0x0a			
		DB		0

		RESB	0x7dfe-$	;0x7dfe第一个扇区结束地址,此处$代表当前代码的地址,RESB是开辟内存指令,并填充0	 0x7dfe-0x7c00恰好一个扇区	

		DB		0x55, 0xaa



		DB		0xf0, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00
		RESB	4600
		DB		0xf0, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00
		RESB	1469432

02_day-helloos3

标签:

原文地址:http://blog.csdn.net/hutao1101175783/article/details/42030349

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!