计算问题
段地址怎么是SA+10?看图片中的算数,首先从地址SA:0开始,存储256个字节,256 = 16*16,算式结合一下,合并同类项,提出*16,(SA+16)*16,那么这么看来段地址就可以是(SA+16) (SA+16) X 16+0
10H 为 16, 段地址为SA+16, 偏移为0
所以可以表示为SA+10:0。 你可以这样理解。
计算机生成的程序开始的物理地址是段地址为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]