如何使用x86汇编从数据段读取数据?

时间:2012-11-29 03:46:51

标签: assembly x86 nasm data-segment

我正在使用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字符表示)

但奇怪的是回归。发生了什么?我不明白这个结果。

我该如何修复此代码?

1 个答案:

答案 0 :(得分:1)

您没有设置ds。

mov dx, @data

你的意思是:

push @data
pop ds