Lin_junhan 发表于 2018-10-12 00:32:47

监测点3.1中的问题

检测点3.1中:
mov ax, 1
mov ds, ax
这个 1 放入段寄存器中是什么意思呢?我看了答案是移动到了0000:0010的内存单元地址中了,这是为什么?
求大佬们帮帮我

StoneDo 发表于 2018-10-25 00:30:53

ds=0001 物理地址 就是00010左移一位,所以可以看做是0000*16+0010偏移量或者是0010:0000两个是相同的。

一粒傻白 发表于 2019-5-4 20:55:24

mov ax,1
mov ds, ax
之后,ds的值就变成0001,这样,就指向地址为0001:0000的内存单元,根据段地址偏移地址和物理地址的转化关系,这个地址也可以写成0000:0010,就变成了题目上的形式

北极冰枪 发表于 2019-6-17 00:10:19

{:5_100:}卧槽我也懵    看了3楼的解答明白怎么回事了多谢多谢

魚粉 发表于 2019-6-18 15:47:49

想請問為何0001:0 = 0000:0010?

九方皋 发表于 2019-7-2 00:01:52

请问一下,为什么0010:0000 可以转化成0000:0010 ? 能详细解释一下吗

W_H_I 发表于 2020-9-16 17:23:45

九方皋 发表于 2019-7-2 00:01
请问一下,为什么0010:0000 可以转化成0000:0010 ? 能详细解释一下吗

谁告诉你是0010:0000的?DS=0001对吧?那么DSX16+便宜地址是不是就等于物理地址?是不是就是0001Hx16+0000H=00010H?这里你可能要问了,对是00010H,但是题目中的是0000:0010啊,大哥,麻烦看下,物理地址是多少位?00010H五位数对不?那么一个内存单元可以放几位16进制?是不是两位?一个内存地址是不是四位16进制?人家题目中的0000:0010你就不认识了?前面都是0000啊,大哥,后面0010开始的啊,是不是和你算出来的0010一样的?有啥好纠结?

W_H_I 发表于 2020-9-16 17:26:57

魚粉 发表于 2019-6-18 15:47
想請問為何0001:0 = 0000:0010?

这个0001:0是你想出来的吧?物理地址是00010H,也是0010H,也就是说物理地址是从0010处开始的,人家题目中的0000:0010前面的都是0,你可以理解为空地址,有啥好奇怪的,只要是从10处开始不就结了?
页: [1]
查看完整版本: 监测点3.1中的问题