我正在尝试创建一个简单的BIOS Boot 扇区,我发现在整个引导过程中内存的布局看起来就像这段文字下面的图片。我的想法是使用 ORG 汇编指令来通知汇编程序设置一个相对内存地址 (在本例中为0x7c00)。这样我就不必在现场计算内存地址了。汇编代码如下所示:
[org 0x7C00]
mov ah, 0x0e
mov al, [0x09] ;this is the offset of 'the_secret'
int 0x10
the_secret:
db "X"
times 510 - ($-$$) db 0
dw 0xaa55
问题是,当我把这些代码汇编成二进制代码并启动 Boot 过程时,终端中没有出现“X”,我在这里犯了什么错误?
1条答案
按热度按时间zfciruhq1#
最好让汇编程序为您计算偏移量。