📄 boot.asm
字号:
org 07c00h ; 告诉编译器程序加载到7c00处
mov ax, cs
mov ds, ax
mov es, ax
call DispStr ; 调用显示字符串例程
jmp $ ; 无限循环
DispStr:
mov ax, BootMessage
mov bp, ax ; ES:BP = 串地址
mov cx, 16 ; CX = 串长度
mov ax, 01301h ; AH = 13, AL = 01h
mov bx, 000ch ; 页号为0(BH = 0) 黑底红字(BL = 0Ch,高亮)
mov dl, 0
int 10h ; 10h 号中断
ret
BootMessage: db "Hello, OS world!"
times 510-($-$$) db 0 ; 填充剩下的空间,使生成的二进制代码恰好为512字节
dw 0xaa55 ; 结束标志
139A:0100 db 11
139A:0101 mov BP,0100
139A:0104 mov CX,0002
139A:0107 mov AX,1301
139A:010A mov BX,000C
139A:010D mov DL,00
139A:010F int 10h
139A:0111
-a 139A:0100
139A:0100 DB "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD"
139A:0120 MOV BP,0100
139A:0123 MOV CX,0022
139A:0126 MOV AX,1301
139A:0129 MOV BX,000C
139A:012C MOV DL,00
139A:012E INT 10H
139A:0130
a 139A:0100
MOV AX,1201
MOV BX,000C
MOV DL,00
INT 10H
p=139A:0100
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -