汇编语言——十种寻址方式
寻址方式
1. 立即寻址方式
直接给寄存器赋值
MOV AH, 80H
2. 寄存器寻址方式
源或者目的有一个是寄存器
(2.1) 源操作数是寄存器寻址方式
如:ADD VARD, EAX ADD VARW, AX MOV VARB, BH等。
其中:VARD、VARW和VARB是双字,字和字节类型的内存变量。
(2.2) 目的操作数是寄存器寻址方式
如:ADD BH, 78h ADD AX, 1234h MOV EBX, 12345678H等。
(2.3) 源和目的操作数都是寄存器寻址方式
如:MOV EAX, EBX MOV AX, BX MOV DH, BL等。
3. 直接寻址方式
地址值在括号里
MOV BX, [1234H] (默认使用DS)
MOV ES:[1000H], AX
4. 寄存器间接寻址方式
寄存器在括号里
MOV BX,[DI]
操作数的有效地址用SI、DI、BX和BP等四个寄存器之一来指定,称这种寻址方式为寄存器间接寻址方式。
若有效地址用SI、DI和BX来指定,则其缺省的段寄存器为DS;
若有效地址用BP来指定,则其缺省的段寄存器为SS(即:堆栈段)。
5. 寄存器相对寻址方式
一个寄存器和一个立即数在括号里,并且还要计算
MOV BX, [SI+100H]
6. 基址变址寻址方式
两个寄存器在括号里,并且要计算
MOV BX, [BX+SI]
7. 相对基址变址寻址方式
两个寄存器在括号里和一个立即数在括号里,并且要计算
MOV AX, [BX+SI+200H]
8.比例变址寻址方式
MOV EAX,COUNT[ESI*4]
9.基址比例变址寻址方式
MOV ECX,[EAX][EDX*8]
10.相对比例变址寻址方式
MOV EAX,TABLE[EBP][EDI*4]
常见问题
汇编语言——偏移地址超过有效地址FFFFH
汇编语言中16位的最大寻址为什么为64KB
参考文章
https://blog.csdn.net/qq_40627648/article/details/83960246
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
