操作数的基本寻址方式

1.隐含寻址

这种类型的指令,不是明显地给出操作数的地址,而是在指令中隐含着操作数的地址。

例如:8086汇编里的 CWD指令;把AX中的内容按符号位拓展成DX,AX双字。

 2.立即寻址

指令中直接给出操作数本身,而不是操作数所在的地址。

例如:MOV AX,#123

3.直接寻址

指令中直接给出操作数在内存中的位置。

例如:MOV AX,123

4.间接寻址

指令中的地址字段不是真正的操作数地址,而是操作数地址的指示器。

例如:MOV AX,[121]

5.寄存器寻址

操作数在寄存器里,如上述的AX寄存器。

6.寄存器间接寻址

指令格式中的寄存器里存放的是操作数的地址。

例如 MOV [AX],#123

7.偏移寻址之基址寻址

利用指令中所指明的基址寄存器和偏移量相结合进行相关计算,得出所需的操作数地址。

例如: MOV BP[100],#123

8.偏移寻址之变址寻址

利用指令中所指明的基址寄存器和偏移量相结合进行相关计算,得出所需的操作数地址,并且指令执行完成后,变址寄存器的值加一或者减一。

例如:MOV SI[100],#123

9.偏移寻址之相对基址变址寻址

操作数的地址由基址寄存器+变址寄存器+偏移量得到。其中若无偏移量,则为基址变址寻址。

例如:MOV [BP][SI][100],#123

示意图由上图修改即可,即得到111的方式(不一定是111)由基址寄存器+变址寄存器+偏移量得到。

10.堆栈寻址

操作数由专用的堆栈指针寄存器隐式指名。

例如:PUSH ,#123(假设可以将立即数入栈,有些机器并不支持这样做)

ok。 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值