首页 > 代码库 > 02_day-helloos3
02_day-helloos3
;启动区 所有电脑都一样 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
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。