汇编语言书中有个地方不太懂,请大神指教。。
检测点3.1原题目:在Debug中 用"d 0:0 1f" 查看内存,结果如下:
0000:0000 70 80 F0 30 EF 60 30 E2-00 80 80 12 66 20 22 60
0000:0010 62 26 E6 D6 CC 2E 3C 3B-AB BA 00 00 26 06 66 88
下面的程序执行前,AX=0,BX=0,写出每条汇编指令执行完后相关寄存器中的值。
提示:注意DS的设置
mov ax,1
mov ds,ax
mov ax,
计算过程:
mov ax,1 //ax=0001
mov ds,ax //ds=0001
mov ax, /的地址应该是0001:0000吧??为什么会是0000:0010???
回显应该是段地址:偏移地址吧?
上机验证时0000:0010,百思不得其解啊
本帖最后由 jackz007 于 2020-12-20 23:27 编辑
你说得没错,0001:0000和 0000:0010 虽然在形式上有所不同,但实际上确实是同一个地址,因为,SEG : OFF 形式的内存地址如果要换算成 20 位形式的话,计算公式是:
SEG × 10H + OFF
用这个公式的计算结果,上述两个地址的 20 位形式的内存地址相等,都是 00010H。 感谢大佬指点
页:
[1]