《X86 汇编语言:从实模式到保护模式》

《X86 汇编语言:从实模式到保护模式》

1
2
3
4
5
6
mov ax,0xb800
mov ds,ax
mov [0x00],a
mov [0x02],s
mov [0x04],m
jmp $
1
nasm -f bin a.asm -o a.bin
1
2
3
error: symbol `’a’' not defined
error: symbol `’s’' not defined
error: symbol `’m’' not defined

mov 指令没有指定操作数的大小,nasm 不知道怎么理解这三个 ASCII 码,可以是 8bit 的也可以是 16 或者 32bit

把显存的基地址移动到段寄存器里,然后字符 A 加上黑底白字下划线的特效移动到偏移 0x0 处,最后死循环

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
mov ax,0xb800
mov ds,ax
mov word ds:[0x0],0x41
mov word ds:[0x1],0x07

spin:
    jmp spin 
    
    times 510 - ( $ - $$ ) db 0
    dw 0xaa55 ;=== 确保以 0x55 0xaa 为结尾    

series: