物理地址.逻辑地址.段地址.偏移地址的具体含义和作用是什么?

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-07-31
谁能帮我解释一下,汇编语言中的物理地址,段基址和偏移地址的具体含义,及作用,要详细一点,谢谢!

物理地址就是数据在内存中实际存放的位置.因为8086或8088有20条地址线,寻址能力有2的20次方,1MBit.而8086或8088内部寄存器是是16位的,无法用一个位完全表示出来.所以采用段首地址+偏移量两个寄存器来表示的方式,俗称PC或CS:IP来表示一个实际的物理地址,这就是所谓的虚拟地址.例如段首地址为0000H,而偏移量的范围就在0000H-FFFFH之间,就表示00000H-0FFFFH的实际内存单元.就是说一个段的大小在64Kb.
SUB1 DB 03H,35H 这个命令中,SUB1表示存放03H,35H这两个数据的首地址,相当于C语言中字符串数组的首地址.假如这个SUB1在数据段中,有专门的数据段寄存器DS,它的实际地址就是DS:SUB1

逻辑地址由段基址和偏移地址组成
物理地址(20位)=段首地址(20位)+偏移地址(16位)=段基址(16位)*10h+偏移地址(16位)

实模式下,每个存储单元分配一个惟一的20位二进制数(5位十六进制数)的存储器地址,称为物理地址。
逻辑地址由16位二进制数(4位十六进制数)的段地址和偏移地址组成。
段首地址:5位十六进制数中的末尾1位十六进制数为0的地址,即可作为段首地址
段地址是指每一段的段首地址的高4位十六进制数,通常被保存在某个段寄存器中。
偏移地址则是指在段内相对于段首地址的偏移值,也取4位十六进制数。

  • 逻辑地址与物理地址的区别是什么?
    答:首先我们知道,逻辑地址=段地址:偏移地址 然后进行运算:段地址×16+偏移地址=物理地址(可以理解为段地址末尾补一个零)举例:逻辑地址是1000H:1000H 那么物理地址为1000H×16+1000H=11000H 拓展知识:逻辑地址和物理地址的区别是:逻辑地址(Logical Address) 是指由程序产生的与段相关的偏移地址...
  • 段地址,偏移地址
    答:数据是储存在内存里的,你说的物理地址其实就是实际内存地址。逻辑地址 是程序中使用的地址,它由段基址和段内偏移值所组成,段基址与段内偏移值都为16位的二进制数。物理地址 也叫实际地址或绝对地址,是CPU访问存储器时实际使用的地址,为20位地址。段地址指的是段起始地址的高16位 偏移地址指的是...
  • 逻辑地址和物理地址有什么关系和区别?
    答:4. 逻辑地址的表达方式:逻辑地址的表达形式为“段地址:段内偏移地址”。5. 物理地址的表达方式:CPU与存储器进行数据交换时,在地址总线上使用的存储器地址称为物理地址。6. 逻辑地址产生的背景:在Intel的8位机8080CPU中,数据总线为8位,地址总线为16位。由于地址总线是数据总线的整数倍,不会产生...
  • 汇编0000h:1200h什么意思?
    答:0000H:1200H,这叫做《逻辑地址》。冒号前面的,是《段地址》,后面的是《偏移地址》。把段地址后面,添上一个零,再加上偏移地址,就成为了《物理地址》。
  • 在8086里 什么是物理地址,逻辑地址
    答:存储器中每一个单元的地址可以用两种方法表示:1.逻辑地址:其表达形式为“段地址:段内偏移地址”。2.物理地址:CPU与存储器进行数据交换时在地址总线上 提供的20位地址信息称为物理地址。物理地址=段地址×10H+段内偏移量 CPU一次处理的数据是16位,地址总线实际上代表CPU的寻址能力,地址线为20条...
  • 逻辑地址是什么意思?
    答:首先我们知道,逻辑地址=段地址:偏移地址 然后进行运算:段地址×16+偏移地址=物理地址(可以理解为段地址末尾补一个零)举例:逻辑地址是1000H:1000H 那么物理地址为1000H×16+1000H=11000H 拓展知识:逻辑地址和物理地址的区别是:逻辑地址(Logical Address) 是指由程序产生的与段相关的偏移地址...
  • 计算机中的逻辑地址是什么?
    答:首先我们知道,逻辑地址=段地址:偏移地址 然后进行运算:段地址×16+偏移地址=物理地址(可以理解为段地址末尾补一个零)举例:逻辑地址是1000H:1000H 那么物理地址为1000H×16+1000H=11000H 拓展知识:逻辑地址和物理地址的区别是:逻辑地址(Logical Address) 是指由程序产生的与段相关的偏移地址...
  • 已知逻辑地址为3800H:2100H,求物理地址是多少?
    答:段地址为3800H,偏移地址为2100H。物理地址 = 段地址 x 16 + 偏移地址 将段地址转换为十进制:3800H = 3 x 16^3 + 8 x 16^2 + 0 x 16^1 + 0 x 16^0 = 3 x 4096 + 8 x 256 + 0 x 16 + 0 x 1 = 12288 + 2048 + 0 + 0 = 14336 将偏移地址转换为十进制:2100H ...
  • 8086中的逻辑地址和物理地址是什么?
    答:8086中含有存储器。存储器中每一个单元的地址可以用两种方法表示:1.逻辑地址:其表达形式为“段地址:段内偏移地址”。2.物理地址:CPU与存储器进行数据交换时在地址总线上提供的20位地址信息称为物理地址。物理地址=段地址×10H+段内偏移量 CPU一次处理的数据是16位,地址总线实际上代表CPU的寻址能力...
  • 2.6 什么是逻辑地址?什么是物理地址?如何由逻辑地址计算物理地址?
    答:具体来说,CPU会将段寄存器的内容左移4位,然后加上指令中提供的16位偏移地址,从而得到20位的物理地址。在取指令时,CPU会使用代码段寄存器CS来进行计算;在堆栈操作时,会使用堆栈段寄存器SS;而在存取操作数时,会使用数据段寄存器(或附加段寄存器ES)。通过这种方式,CPU能够将逻辑地址转换为物理地址...