自制操作系统——01(Hello,world!)

来源:互联网 发布:java简单记事本源代码 编辑:程序博客网 时间:2024/04/29 23:42

boot.asm 程序代码:

org 0x7c00;加载本程序至内存0x7c00处,如果省略,那么标号后面必须手动加上0x7c00mov bp,szBuffer;将标号地址赋值给bpmov ah,0x0e;显示字符(ah值的选择可参考BIOS int 10h参数表)mov cx,12;这里显示12个字符mov bx,0h;初始化计数器bx为0print_str:mov bp,szBuffer;将字符串的地址赋值给bpadd bp,bx;将字符串首字符的地址加上已经显示过的字符数,就得到当前要显示的字符地址mov al,[bp];将当前字符的地址中存储的字符赋值给aladd bx,1h;累加bxint 10h;显示当前字符loop print_str;循环显示,直到12个字符显示完毕loop: jmp loop;死循环挂起szBuffer:    dw "hello,world!",0times 510-($-$$) db 0;凑齐512个字符,不足添0dw 0x55aa;可引导扇区必须以0x aa 55结尾

编译命令:
nasm boot.asm -f bin -o boot.img

用Virtual Box测试效果:
这里写图片描述

0 0
原创粉丝点击