我正在使用DOSBox和nasm,尝试使用int 13来获取串行代码等硬盘信息。 Int 13需要:
AH=25h
DL=(80h,81h) and
ES:BX-> 512 byte buffer for reply packet.
我根本不了解最后一行的要求。任何帮助?
非常感谢一个例子。
答案 0 :(得分:2)
寄存器es
和bx
提供缓冲区的远地址以接收数据,缓冲区长512字节。
答案 1 :(得分:0)
如您所知es
和bx
是16位寄存器。
es
是细分,而bx
是偏移量。
如果将它们连接起来[es:bx]
,则会获得到“缓冲区”的完整32位地址(AKA指针),数据将从磁盘设备复制到该地址。
以下是适用于您的代码段:
xor ax,ax
mov ah,25h
mov dl,80; 81h is for write probably
mov bx,0h
mov es,0800h
int 13