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。
文章来源地址https://www.toymoban.com/news/detail-443931.html
文章来源:https://www.toymoban.com/news/detail-443931.html
到了这里,关于操作数的基本寻址方式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!