1. 若偏存地址来自sp寄存器则在计算物理地址时段基址来自于什么寄存器
基址"可以"来源于SS段寄存器,为CPU默认搭配。也可以使用其他段寄存器,但需要明确使用段超越。
2. 段地址和段基址的区别
段地址 = 段基址 × 16 + 偏移地址
也就是:实际地址 = 段基址 × 16 + 补偿地址
段地址指的是物理地址
段基址指的是当前段寄存器的内容。
3. 物理地址的首址和末地址
首地址等于基址后面加0,尾地址等于首地址加上段址空间宽度64K,答案为
DS:12100H~220FFH
ES:0A3010H~0B310FH
CS:634E0H~734DFH
物理地址是你的网卡地址,MAC(Media Access Control, 介质访问控制)地址是识别LAN(局域网)节点的标识。
网卡的物理地址通常是由网卡生产厂家烧入网卡的EPROM(一种闪存芯片,通常可以通过程序擦写),它存储的是传输数据时真正赖以标识发出数据的电脑和接收数据的主机的地址。
(3)物理和地址中段基址默认是什么扩展阅读:
逻辑地址就是IP地址,是虚拟的,实际不存在的,它在网络中用来定义不同的网络,使其不会发生数据混乱,在OSI七层模型中属于第三层网络层的。
内存必须容纳操作系统和各种用户进程,因此必须尽可能有效得分配内存,在分配内存过程中,通常需要将多个进程放入内存中,前面提到过,需要每个进程的空间相互独立。
而且必须保护每个进程的内存空间的独立性,如果不同的进程间需要通信,可以按照前面提到的通信方法进行通信,但是在此时,考虑内存空间独立性的实现。
4. 源操作数的物理地址是es ds ss 怎么判断
这图太难看了
5. 汇编题,请指教
逻辑地址和物理地址的转换问题。
物理地址=段基址×16+段内偏移地址,乘16就相当于把段基址左移4位,所以(ds)=3000h(即0011 0000 0000 0000B)左移四位就是30000h(即0011 0000 0000 0000 0000B)。
6. 段基址的概念
在80x86 CPU中设置的段寄存器只有16位,只能存放20位段起始地址的高16位,称它为段基值(Segment Base Value),而机器将段起始地址的低4位设置为0。故将段基值左移4位后(即末尾加4位二进制0),就得到一个20位的段起始地址,称它为段基地址或段基址(Segment Base Address)。显然,段基址为xxxx0H,其低4位二进制数为0,即能被16整除的主存物理地址才可作为段基址。
7. 段基地址是什么
X86实模式下内存地址为20位二进制数(5位16进制数),一般表示成xxxx:yyyy(16进制)的形式,称为逻辑地址;对应的物理地址为xxxx0+yyyy。逻辑地址中的xxxx就称为段基址,yyyy称为偏移量。多个逻辑地址可能对应同一个物理地址。
因为物理地址的计算公式是xxxx0+yyyy,所以要先在段基地址xxxx的后面补4个0(2进制,在16进制下就是一个0),再加上偏移量。
8. 谁能帮我解释一下,汇编语言中的物理地址,段基址和偏移地址的具体含义,及作用,要详细一点,谢谢!
物理地址就是数据在内存中实际存放的位置.因为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
9. 物理地址.逻辑地址.段地址.偏移地址的具体含义和作用是什么
实模式下,每个存储单元分配一个惟一的20位二进制数(5位十六进制数)的存储器地址,称为物理地址。
逻辑地址由16位二进制数(4位十六进制数)的段地址和偏移地址组成。
段首地址:5位十六进制数中的末尾1位十六进制数为0的地址,即可作为段首地址
段地址是指每一段的段首地址的高4位十六进制数,通常被保存在某个段寄存器中。
偏移地址则是指在段内相对于段首地址的偏移值,也取4位十六进制数。