导航:首页 > 物理学科 > 汇编语言物理地址怎么计算

汇编语言物理地址怎么计算

发布时间:2022-07-18 02:05:53

⑴ 汇编语言与接口技术怎么求物理地址

1.汇编语言 SI DI BX BP SS DS
SI: 16位寄存器,源变址寄存器
DI: 16寄存器,目变址寄存器
BX: 16位寄存器(28位寄存器BH,BL),基址寄存器
BP: 16位寄存器,基址指针寄存器
SS : 16位段寄存器作用存放前堆栈段段址般SP连用
DS: 16段寄存器, 作用存放前数据段段址

2.根据些求物理址
面几寄存器跟求物理址谈关系.
公式: 物理址 = 基础址 + 偏移址 = CS*10H(基础址)+ IP(偏移址)
CS: 16位段寄存器,存放前代码段段址
IP: 存放条要执行指令偏移址

LZ明白追问

⑵ 汇编语言 有关段跨越物理地址的计算问题

是不是求ES:[BX]指向的物理地址的问题?
是的话,可以这样计算:
(ES)*16+(BX)=物理地址
2100H*16+0100H=21100H
补充:
源操作数就是ES:[BX],它的物理地址可由上面公式计算出来,就是21100H

⑶ 汇编语言 SI DI BX BP SS DS 是什么 怎样根据这些求物理地址

SI、DI、BX、BP是8086CPU可用来作指针使用的寄存器,一般用来表示一个偏移量,具体的和寻址方式有关。
SS、DS是段地址寄存器。
由于8086CPU是16的,而其存储容量可达1MB,也就是20位的寻址空间,因此编程时用两个16位的地址来表示,即 段地址:偏移地址,它和实际地址,也就是物理地址的关系是:
物理地址=段地址×16+偏移地址

对于上面的寄存器,当作地址使用时,根据寻址方式不同,有一种默认关系,只要指令中出现BP作地址的,则其段地址为SS,否则就为DS。当然还有段前缀一说,这要看实际情况来定了。
比如:
MOV AX,[BX];则其物理地址=DS×16+BX
MOV AX,[BP];则其物理地址=SS×16+BP
MOV AX,[BX][SI] ;则其物理地址=DS×16+(BX+SI)
MOV AX,[BP][SI];则其物理地址=SS×16+(BP+SI)

⑷ x86汇编语言求物理地址算法

也没那种最初的玩泥巴的心思。指条路你自己学着走:
需要指出,此算法严格上是有缺陷的,其正确的前提是假设bx中的段地址高四位总为零,如此bx*10H就不会溢出,同时也需要加上偏移量后bx不产生溢出,这样冲从限制下的结果才是正确的。
该算法正确的前提是所得的物理地址高四位都是零,所以就不需多考虑,只需输出0XXXXH即可。
至于将ax或内存的二进制以十六进制字符输出,网络上有许多现成的简单算法,既然你都没兴趣自己尝试,那就自己去找找吧,阿门。。。

真要得到任意二十位偏移物理地址,需要用到dx:ax
lds ax,list
mov bx,10H
xor dx,dx
mul bx
;至此得到段地址的20位物理地址存于dx:ax中,其中高12位始终为零也无使用意义
mov cx,offset list
add cx,2
;至此得到目标内存单元的偏移量
add ax,cx
adc dx,0
;至此得到目标内存单元的20位物理地址存于dx:ax的低20位
;输出dx:ax的低20位即可,阿门。。。。

⑸ 汇编语言 物理地址问题

这个答案是错误的,正确的是:7E814H。
1、先计算数据区末字的偏移地址
16个字占20H字节的内存空间,0DDF6H+20H=DE16H,这是末字数据后面的偏移地址,末字的偏移地址为DE16H-2=DE14H。
2、再计算末字的物理地址
物理地址=段地址*10H+偏移地址=70A0H+DE14H=7E814H。

⑹ 汇编如何计算目标操作数的物理地址

第一个为ES(段基址)*16+SI(偏移地址)第二个为SS(段基址)*16+BP+SI+6。至于段基址的判断为当含有BP时,段基址为SS,而如第一个已经给出段基址了为ES,其余情况均为DS

⑺ 汇编语言SI、DI、BX、BP、SS、DS分别是什么怎样根据这些求物理地址

1.汇编语言 SI DI BX BP SS DS 是什么
SI: 16位寄存器,源变址寄存器
DI: 16为寄存器,目的变址寄存器
BX: 16位寄存器(可分成2个8位寄存器BH,BL),基址寄存器
BP: 16位寄存器,基址指针寄存器
SS : 16位段寄存器,作用是存放当前堆栈段的段地址,一般和SP连用
DS: 16为段寄存器, 作用是存放当前数据段的段地址

2.怎样根据这些求物理地址
上面的这几个寄存器跟求物理地址谈不上关系.
有个公式: 物理地址 = 基础地址 + 偏移地址 = CS*10H(基础地址)+ IP(偏移地址)
CS: 16位段寄存器,存放当前代码段的段地址
IP: 存放下一条要执行的指令的偏移地址

LZ如有不明白的地方,可追问

⑻ 汇编语言:SI、DI、BX、BP、SS、DS分别是什么怎样根据这些求物理地址

1.汇编语言 SI DI BX BP SS DS 是什么
SI: 16位寄存器,源变址寄存器
DI: 16为寄存器,目的变址寄存器
BX: 16位寄存器(可分成2个8位寄存器BH,BL),基址寄存器
BP: 16位寄存器,基址指针寄存器
SS : 16位段寄存器,作用是存放当前堆栈段的段地址,一般和SP连用
DS: 16为段寄存器, 作用是存放当前数据段的段地址

2.怎样根据这些求物理地址
上面的这几个寄存器跟求物理地址谈不上关系.
有个公式: 物理地址 = 基础地址 + 偏移地址 = CS*10H(基础地址)+ IP(偏移地址)
CS: 16位段寄存器,存放当前代码段的段地址
IP: 存放下一条要执行的指令的偏移地址

LZ如有不明白的地方,可追问

⑼ <汇编语言> 里说物理地址=段地址乘16d+偏移地址,那么段地址*16d是如何计算

不是算出来的,这个和你的系统有关,这个根据你用的汇编支持的地址宽度、字长等等决定的,确切地是你汇编对应的CPU规定死的。

16d=10h=10000b,十进制是乘以16,16进制左移一位,2进制是左移4位。

这个其实是进制乘法的问题,你可以按照普通的竖式乘法计算,只不过,16进制是逢G(F+1)进1,2进制是逢2进1。

就像你平时做十进制的x*10的时候,很自然地会在后面加个0,16进制、2进制也是看到*10可以在后面加个0的。

阅读全文

与汇编语言物理地址怎么计算相关的资料

热点内容
word中化学式的数字怎么打出来 浏览:745
乙酸乙酯化学式怎么算 浏览:1410
沈阳初中的数学是什么版本的 浏览:1362
华为手机家人共享如何查看地理位置 浏览:1053
一氧化碳还原氧化铝化学方程式怎么配平 浏览:893
数学c什么意思是什么意思是什么 浏览:1420
中考初中地理如何补 浏览:1311
360浏览器历史在哪里下载迅雷下载 浏览:711
数学奥数卡怎么办 浏览:1401
如何回答地理是什么 浏览:1034
win7如何删除电脑文件浏览历史 浏览:1062
大学物理实验干什么用的到 浏览:1493
二年级上册数学框框怎么填 浏览:1712
西安瑞禧生物科技有限公司怎么样 浏览:999
武大的分析化学怎么样 浏览:1254
ige电化学发光偏高怎么办 浏览:1344
学而思初中英语和语文怎么样 浏览:1665
下列哪个水飞蓟素化学结构 浏览:1429
化学理学哪些专业好 浏览:1492
数学中的棱的意思是什么 浏览:1070