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

boot.asm 程序代码:

org 0x7c00;加载本程序至内存0x7c00处,如果省略,那么标号后面必须手动加上0x7c00
mov bp,szBuffer;将标号地址赋值给bp
mov ah,0x0e;显示字符(ah值的选择可参考BIOS int 10h参数表)
mov cx,12;这里显示12个字符
mov bx,0h;初始化计数器bx为0
print_str:
mov bp,szBuffer;将字符串的地址赋值给bp
add bp,bx;将字符串首字符的地址加上已经显示过的字符数,就得到当前要显示的字符地址
mov al,[bp];将当前字符的地址中存储的字符赋值给al
add bx,1h;累加bx
int 10h;显示当前字符
loop print_str;循环显示,直到12个字符显示完毕


loop:
 jmp loop;死循环挂起
szBuffer:
    dw "hello,world!",0
times 510-($-$$) db 0;凑齐512个字符,不足添0
dw 0x55aa;可引导扇区必须以0x aa 55结尾

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值