微笑向暖~ 发表于 2017-10-12 12:55:34

计算问题

段地址怎么是SA+10?

丶忘却的年少o 发表于 2017-10-12 12:59:58

看图片中的算数,首先从地址SA:0开始,存储256个字节,256 = 16*16,算式结合一下,合并同类项,提出*16,(SA+16)*16,那么这么看来段地址就可以是(SA+16)

weizhongyang 发表于 2017-10-12 15:19:28

(SA+16) X 16+0

10H 为 16, 段地址为SA+16, 偏移为0

所以可以表示为SA+10:0。

兰陵月 发表于 2017-10-13 18:12:19

你可以这样理解。

计算机生成的程序开始的物理地址是段地址为SA,偏移地址为0所在的地方,即SA:0

由于生成的时候计算机自己加了PSP这一坨进去,而这一坨的长度为100H(256个字节)

所以,你自己编写的程序开始的地方紧跟PSP这一坨结束的地方后,

其所位于的物理地址是段地址为SA,偏移地址为100H,即SA:100H

SA:100H与(SA+10):0其实就是同一个地址。

假设SA=0CF8,
SA:100H就是0CF8:100,所以其实际物理地址计算出来后为0xD080
SA+10:0就是0CF8+10:0,即0D08:0,其代表的物理地址计算出来以后0xD080。

上面的10或者100都是16进制的,所以他们实际上就是同一个数。

上面写成了SA+10:0,可能导致脑袋有点混乱,这代表你还没看习惯逻辑地址表示方法{:5_109:} {:5_109:}
页: [1]
查看完整版本: 计算问题