[...]不作为偏移地址使用问题

我在学习过程中dosbox运行效果与期望效果有出入

;DS和[address]实际代码如下
assume cs:code
code segment
mov bx,0ffffh
mov ds,bx
mov al,[0]
mov ax,4c00h
int 21h
code ends
end

寄存器AX并没有变为FFEA而是变为了FF00
很明显这就是直接将0给到了AL
[0]并没有作为偏移使用
异常的出现可能是masm版本差异的问题,也可能是dosbox与真正的dos系统有差异

问题解决方案

使用emu8086
emu8086下载
image
FFFF0的低8位FF
image
al成功变为FF

posted @ 2024-01-26 21:17  Mask_2022  阅读(39)  评论(0)    收藏  举报