我正在使用nasm32,x86汇编语言。我想从数据段中读取一些数字。
.model small
.stack
.data
DATA1 DB 53H,"$"
DATA2 DB 17H,"$"
.code
.startup
mov dx, @data
mov dx, offset DATA1
add dl,30h
mov ah, 02h
int 21h
mov dl, dh
add dl, 30h
mov ah, 02h
int 12h
.exit
end
此代码只返回
20
我认为DATA1 53h(= 83(十进制))值将返回。 (用ascii字符表示)
但奇怪的是回归。发生了什么?我不明白这个结果。
我该如何修复此代码?
答案 0 :(得分:1)
您没有设置ds。
mov dx, @data
你的意思是:
push @data
pop ds