簡體   English   中英

匯編中數據段變量的絕對地址是什么?

[英]what is the absolute address for data segment variable in assembly?

.data

len dw 10
msg db "1234567890"

.code
....

段地址 DS= 0ACA CS =0AC7

字符串 msg 的絕對地址是什么?

我的理解是 msg 的有效地址是 12 月 21 日,即 15H,然后我做了 DS:0015,這是 ACB5 但它不起作用..

可用的答案是:

0ACA2

0ACC0

0ACC

0ACA0

鑒於您當前的假設,您正在對線性地址進行合理的計算。

(0ACAh << 4) + 0015h確實產生了線性地址 0000ACB5h。

但是,為什么您會理解msg標簽位於偏移量 21 (15h) 處?

做出可接受的假設,即DS段寄存器指向.data部分並查看下一個代碼片段

.data
len dw 10
msg db "1234567890"

其中len變量占用 2 個字節,因為這就是dw (DefineWord) 所做的,而msg的偏移量將是2

如果您重新計算,您會在提供的列表中看到正確的答案...

暫無
暫無

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

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