汇编语言(二)寻址方式_基址变址寻址

个人图书馆-instl 2023-08-10 15:09:00

8086指令体系总共有7种寻址方式,详细如下:

立即数寻址
mov ax, 3069H

直接将值为3069H的立即数放到ax中。


(资料图片仅供参考)

寄存器寻址
mov AL, BH

将BH寄存器的值放入AL中。

寄存器间接寻址

使用BX寄存器进行间接寻址,BP,BI,DI寄存器也行。

mov ax, [bx]

将bx保存的值当做偏移地址,这里假设为2000H,再到DS:2000H号单元中取出值放到ax中。

tips:注意在通用寄存器组中只有bx能够进行间接寻址,AX、CX、DX不行。

寄存器相对寻址

操作数的有效地址为基址寄存器(BP,SP)和变址寄存器(DI,SI)的内容和指令中指定的偏移量之和。

mov ax, count[SI]mov ax, [count + SI]

这里的count是一个偏移量,可以是一个常数或者一个变量。

内存寻址

直接寻址

mov ax,[2000H]

将DS:2000H号单元的内容放入ax中,如果要指定别的段的话要使用段跨越前缀。例如

mov ax, ES:[2000H]

要写上ES才能指定该段的有效地址为2000H号单元。

同时该寻址方式的操作数地址也可以由变量给出:

value db 10mov ah, valuemov ax, word ptr value# 将value强制转化为字类型

在汇编语言中,变量名即意味着对应单元的偏移地址,因此直接使用变量名的方式也能进行内存寻址。

基址变址寻址

操作数的有效值是一个基址寄存器和一个变址寄存器的内容之和,例如

mov ax, [BX][DI]mov ax, [BX + DI]

其可能的组合为

DS:[BX|BP][DI|SI]
相对基址变址寻址

操作数的有效地址为一个基址寄存器,一个变址寄存器和一个偏移量之和构成

mov ax, count[bx][si]mov ax,[count + bx + si]

注意源对象的位数大小要和目标对象的位数大小相等。

寻址方式汇总如下

寻址方式指令格式
立即数寻址mov ax, 1000H
寄存器寻址mov ax, bx
寄存器间接寻址mov ax, [bx]
寄存器相对寻址mov ax, count[bx]
直接寻址mov ax, [2000H]
基址变址寻址mov ax, [bx + di]
相对基址变址寻址mov ax, count[bx + di]
段寄存器的使用规定
访问方式默认寄存器可跨越偏移地址
取指令csip
堆栈操作sssp
一般数据访问dscs,es,ss有效地址EA
BP作为基址寻址sscs,ds,esBP
串操作的源操作数dscs,es,ssSI
串操作的目的操作数ESDI
x

热门推荐

理文造纸(2314.HK)上半年纯利按年跌57% 每吨净利润达到292港元

2022-08

啤酒行业高端化发展趋势凸显 力推中高端产品

2022-07

疫情后营业额翻四倍 多家小店迎来复苏

2022-05

强化优环境“软实力 赣州经开区助力企业走好绿色发展之路

2022-05

又有一家公司追锂 索通发展进军锂电材料领域胜算几

2022-05

海南推动农贸市场全面落实禁塑 加强违禁塑料制品源头治理

2021-12

柴犬登登拍卖记:动物是如何被司法拍卖的

2021-12

江西:到2025年鄱阳湖区断面水质优良比例达到50%以上

2021-12

西藏森林消防:锻造雪域救援尖兵 打造高海拔山岳救援队伍

2021-12

加强人才融通发展 第10届海峡两岸水利青年工程交流营成功举办

2021-12

推荐阅读

汇编语言(二)寻址方式_基址变址寻址

2023-08

02年意韩战若出场结果是否会改变?卡纳瓦罗&马特拉齐:当然

2023-08

2023年“亲情中华·风雅桐乡”网上夏令营嘉兴·桐乡营举办

2023-08

全球首个陆上商用小型核反应堆“玲龙一号”核心模块吊装成功

2023-08

青岛5个项目入选省“现场工程师专项培养计划”

2023-08

直击五常沙河子镇通讯抢修

2023-08

“黄酒+气泡”,价格堪比高端啤酒 会稽山的年轻化“算盘”能打响吗?

2023-08

艾尔登法环展翼镰刀武器图鉴

2023-08

探访北京最西的安置点,村民把帐篷周围打扫得干干净净

2023-08

《诛仙》手游七周年版本福利满满 情怀联动《轩辕剑》

2023-08