簡體   English   中英

如何使用x86匯編從數據段讀取數據?

[英]How can I read data from data segment using x86 assembly?

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

但是奇怪的數字回來了。 發生了什么? 我不明白這個結果。

以及如何解決此代碼?

您沒有設置ds。

mov dx, @data

您的意思是:

push @data
pop ds

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM