在汇编语言中MOV AX,3[BX]是什么寻址
3个回答
展开全部
这是 寄存器相对寻址方式。
操作数的有效地址是一个基址或变址寄存器的内容和指令中指定的8位或16位
位移量(displacement)之和。
除有段跨越前缀者外,对于寄存器为BX,SI,DI的情况,段寄存器用DS,而寄存器BP则使用SS段寄存器的内容作为段地址。
物理地址=16D*(DS)+ (BX)或(SI)或(DI + 8位位移量或16位位移量
或 物理地址=16D*(SS)+ (BP) + 8位位移量或16位位移量
例:MOV AX,COUNT[SI]
其中COUNT 为16位位移量的符号地址。
如果(DS)=3000H,(SI)=2000H,COUNT=3000H
则物理地址=30000+2000+3000=35000H
执行结果是(AX)=1234H
这种寻址方式同样可用于表格处理,表格的首地址可设置为COUNT,利用修改基址或变址寄存器的内容来取得表格中的值。
直接变址寻址方式也可以使用段跨越前缀。
例如:MOV DL,ES:STRING[SI]
操作数的有效地址是一个基址或变址寄存器的内容和指令中指定的8位或16位
位移量(displacement)之和。
除有段跨越前缀者外,对于寄存器为BX,SI,DI的情况,段寄存器用DS,而寄存器BP则使用SS段寄存器的内容作为段地址。
物理地址=16D*(DS)+ (BX)或(SI)或(DI + 8位位移量或16位位移量
或 物理地址=16D*(SS)+ (BP) + 8位位移量或16位位移量
例:MOV AX,COUNT[SI]
其中COUNT 为16位位移量的符号地址。
如果(DS)=3000H,(SI)=2000H,COUNT=3000H
则物理地址=30000+2000+3000=35000H
执行结果是(AX)=1234H
这种寻址方式同样可用于表格处理,表格的首地址可设置为COUNT,利用修改基址或变址寄存器的内容来取得表格中的值。
直接变址寻址方式也可以使用段跨越前缀。
例如:MOV DL,ES:STRING[SI]
迪凯特科技(北京)有限公司_
2025-01-03 广告
2025-01-03 广告
RS232串行通讯的数据格式包括以下组成部分:1. 起始位:一位,用于表示数据的开始。2. 数据位:通常为8位,但也可以是7位或9位。3. 校验位:可以选择奇偶校验或无校验。4. 停止位:一位,用于表示数据的结束,也可以选择使用1.5个或2...
点击进入详情页
本回答由迪凯特科技(北京)有限公司_提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询