繁体   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