❶ 求详解啊。汇编算物理地址啊。很急很急!
1) MOV AX, ES:[1000H] AX=9ABCH 地址:31000H
算法:ES*10H+1000H 声明的段寄存器ES
2) MOV AX, [BX] AX=3412H 地址:21000H
算法:DS*10H+BX 默认段寄存器DS
3) MOV AX, [BX][SI] AX= ? 地址:21001H
算法:DS*10H+BX+SI 默认段寄存器DS
这道题是不是你哪里敲错了,你题中没有这个21001H 地址
4) MOV AX,[BP+DI] AX=9A78H 地址:41002H
算法: SS*10H+BP+DI 默认段寄存器SS
方括号里面代表地址,比如 mov ax,[bx] 就等于 mov ax,[1000h],冒号代表段前缀,冒号前面的是段寄存器,将以指明的段寄存器寻址,段寄存器 * 10H + 后面的地址 即是物理地址,如果没有指明段前缀,将以默认的段寄存器寻址,BX,SI,DI 这3个寄存器默认的段寄存器是 DS,BP的默认段寄存器是SS
❷ 操作系统-物理地址计算
答:逻辑地址0A5C(H)所对应的二进制表示形式是:0000 1010 0101 1100 ,由于1K=2^10,下划线部分前的编码为000010,表示该逻辑地址对应的页号为2。查页表,得到物理块号是4(十进制),即物理块地址为:0001 0010 0000 0000 ,拼接块内地址0000 0000 0101 1100,得0001 0010 0101 1100,即125C(H)。
❸ 计算物理地址
不知道这是不是你想要的。
计算比较急,你最好验证一下代入数相加的结果有没有错
ADD AX,[1000H] ;直接寻址方式EA=DS*10H+1000H=2000H*10H+1000H=21000H
MOV AL,[BX+SI] ;基址加变址寻址方式EA=DS*10H+BX+SI=2000H*10H+0100H+00A0H=201A0H
INC CX ;寄存器寻址方式 CX
MOV AX,[BX+10] ;寄存器相对寻址方式EA=DS*10H+BX+10=2000H*10H+0100H+10H=20110H
MOV AX,[BX] ;寄存器间接寻址方式EA=DS*10H+BX=2000H*10H+0100H=20100H
MOV AX,0ABH ;立即寻址方式EA=DS*10H+0ABH=2000H*10H+0ABH=200ABH
MOV AX,[BX+SI] ;基址加变址寻址方式EA=DS*10H+BX+SI=2000H*10H+0100H+00A0H=201A0H
MOV AX,[100H] ;直接寻址方式 EA=100H
MOV AX,[BP] ;寄存器间接寻址方式EA=DS*10H+BP=2000H*10H+0010H=20010H
MOV AX,VAL[BX] ;寄存器相对寻址方式EA=DS*10H+VAL+BX=2000H*10H+0050H+0100H=20150H
❹ 关于微机中物理地址的计算
首先你要明白二进制,用十进制来做例子,左移一位,右边补零,相当于乘以十,左移两位,相当于乘以10的两次方,即一百,比如241,左移两位就是24100,就是乘一百。同理,二进制左移一位,相当于乘移2,左移四位,就是2的四次方。
❺ 物理地址的算法
“H”表示16进制。
物理地址的计算方法是 段地址×10H+偏移地址,所以你说的物理地址是CS×10H+IP=FE00H×10H+0200H=FE000H+0200H=FE200H。
❻ 的物理地址.具体怎么算
段地址*10H+偏移地址
❼ 2.6 什么是逻辑地址什么是物理地址如何由逻辑地址计算物理地址
【解】:物理地址:完成存储器单元或I/O端口寻址的实际地址成为物理地址,CPU型号不同其物理地址也不同。物理地址是指CPU和存储器进行数据交换时实际所使用的地址,而逻辑地址是程序使用的地址。物理地址由两部分组成:段基址(段起始地址高16位)和偏移地址。前者由段寄存器给出,后者是指存储单元所在的位置离段起始地址的偏移距离。当CPU寻址某个存储单元时,先将段寄存器的内容左移4位,然后加上指令中提供的16位偏移地址而形成20位物理地址。在取指令时,CPU自动选择代码段寄存器CS,左移4位后,加上指令提供的16位偏移地址,计算出要取指令的物理地址。堆栈操作时,CPU自动选择堆栈段寄存器SS,将其内容左移4位后,加上指令提供的16位偏移地址,计算出栈顶单元的物理地址。每当存取操作数时,CPU会自动选择数据段寄存器(或附加段寄存器ES),将段基值左移4位后加上16位偏移地址,得到操作数在内存的物理地址。
❽ 操作系统的物理地址怎么计算
其实第一条回答是正确的,我在这里为网友们追加一个解释:
按照书上定义,在页式存储系统中,
绝对地址 = 块号 x块长 +业内偏移地址。
相对地址 由一段内存的高bit位作为页号,低bit位作为页内偏移地址
那重要的一点是,如果找出这三个变量。且看该题:
每页1KB,说明了,业内偏移地址的范围是0~1023byte 换句话说,页内偏移地址占16bit中的 0-9bit, 那按照相对地址的概念,那10-15 bit就该为页号地址了。
那么, 0x0A5C <=> 0000 1010 0101 1100
则前面 0000 10 这6个bit 表示页号,换算成十进制为 2,也即是页号为2,再按照页表推算,即物理块号就为4, 而4再换算成16进制,即是0001 00;而后面 10 0101 1100 这10个bit位,理所当然的为页内偏移地址了。 则物理地址就该为0001 00 (占据10-15bit)+ 10 0101 1100 (占据0-9bit) = 0001 0010 0101 1100
他的所谓凭接,其实就是让0001 00 占用bit 10-15.
❾ 物理地址的计算方法
20位物理地址计算方法如下:
物理地址=段基址*16d+偏移地址
❿ 根据逻辑地址算出物理地址
逻辑内存为4页,即2的2次方,所以逻辑地址表示页号的高位有2位。页大小为4字节,即2的2次方,故页内地址有2位。逻辑地址共4位。逻辑地址0,转换为二进制为00,00。故页号为0,页内地址为0。
而对于逻辑地址5,转换为二进制为01,01。故页号为1,页内地址为1。