• 57H H代表十六进制
  • 57 十进制
  • 010101001B B代表二进制
  • A=10
  • B=11
  • C=12
  • D=13
  • E=14
  • F=15




段地址*16(10H)+ 偏移地址= 内存地址(物理地址)

段地址*16=基础地址

基础地址+偏移地址=物理地址

注:10H是 十进制数16的十六进制的形式

因为8086CPU有20根地址线,16位寄存器无法表示所以才采取这样的计算方式

举个例子:我有两张纸,但是每张纸上面只能写2个数字,但是我需要告诉你一个三位数的数字。
一个是50 一个是20 拿到这两张纸后 你需要做一个运算:
第一张纸*10+第二张纸=520

这里50就相当于是段地址,20相当于是偏移地址,520就是最后的物理地址




例题:现在有一个段地址CS=0F8AH ,偏移地址IP=2460H。求内存地址

按照公式:段地址*10H+偏移地址=内存地址
得:0F8AH*10H+2460H

H代表前面的数是十六进制的,所以不看它。 0F8A*10=0F8A0 再来加上偏移地址

A+6如何计算呢? 文章最前面有提到A=10,相当于是10+6,是十六吗?由于是十六进制的数相加,满16进1,所以这里其实只是“进1”

所以第三位应该是 8+4+1=13 ,13在十六进制中是D,所以写D

同理,F代表15,15+2=17,满16进1,余1,高位进1 最后结果11D00

最后修改:2022 年 03 月 08 日
如果觉得我的文章对你有用,请随意赞赏