-
立即寻址(Immediate Addressing):
-
操作数直接包含在指令中。
MOV AH, 5 ; 将立即数5赋值给寄存器AH
-
-
直接寻址(Direct Addressing):
-
指令中包含的是操作数的确切内存地址。
MOV AL, [0x8000] ; 将地址0x8000处的数据移动到AL寄存器
-
-
寄存器寻址(Register Addressing):
-
操作数存储在CPU的寄存器中。
ADD BX, CX ; 将CX寄存器的值加到BX寄存器中
-
-
寄存器间接寻址(Register Indirect Addressing):
-
指令中包含一个寄存器的编号,该寄存器包含一个地址,该地址指向操作数的内存位置。
MOV AX, [BX] ; 将BX寄存器指向的内存地址处的数据移动到AX寄存器
-
-
基址寻址(Base Addressing):
-
使用基址寄存器(如BX或BP)的内容加上指令中指定的偏移量来形成操作数的地址。
MOV AX, [BX + 10] ; 将BX寄存器的值加上10后,从该地址处获取数据到AX寄存器
-
-
变址寻址(Indexed Addressing):
-
类似于基址寻址,但使用变址寄存器(如SI或DI)的内容加上指令中指定的偏移量来形成地址。
MOV AX, [SI + 20] ; 将SI寄存器的值加上20后,从该地址处获取数据到AX寄存器
-
-
基址变址寻址(Base Indexed Addressing):
-
结合基址寄存器和变址寄存器,加上指令中指定的偏移量来形成地址。
MOV AX, [BX + SI + 30] ; 将BX和SI寄存器的值相加后再加上30,从该地址处获取数据到AX寄存器
-
-
相对寻址(Relative Addressing):
-
指令中包含一个偏移量,该偏移量相对于当前指令的地址来计算目标地址。
JMP +5 ; 跳转到当前指令地址加上5的位置
-
-
堆栈寻址(Stack Addressing):
-
操作数位于堆栈中,指令通过堆栈指针(SP)加上或减去一个偏移量来访问堆栈中的元素。
PUSH AX ; 将AX寄存器的值压入堆栈
POP BX ; 从堆栈中弹出值到BX寄存器
-
-
段内偏移寻址(Offset Addressing within a Segment):
-
使用段内偏移量来访问同一代码或数据段内的地址。
MOV AX, [100] ; 将当前段内偏移量为100处的数据移动到AX寄存器
-
-
段间寻址(Inter-Segment Addressing):
-
通过段寄存器和偏移量来访问不同段中的地址。
MOV AX, ES:[200] ; 从ES段寄存器指定的段中,偏移量为200处获取数据到AX寄存器
-
计算机的寻址方式(8086下汇编的表示方法)
weixin_749949902024-12-06 17:17
相关推荐
wechatbot8883 小时前
企业微信API开发:登录-联系人查询-消息发送完整开发流程分享00后程序员张14 小时前
iOS加固技术路线全面解析:Bitcode模式、源码模式与汇编模式对比及爱加密优势wechatbot8884 天前
解决企业微信官方 API 短板:iPad 协议全功能对接方案学逆向的6 天前
汇编——JCC指令一只旭宝6 天前
【汇编入门】寄存器、MOV/LEA、JMP/CALL/RET、内存与指令本质学逆向的9 天前
汇编——寻址方式我不是QI9 天前
Master PDF Editor 逆向复现学逆向的9 天前
汇编——堆栈平衡执迷不悟82314 天前
ARM--汇编指令Dlrb121115 天前
ARM指令集---汇编指令集的学习与应用:C程序与汇编的相互调用,处理器工作模式的改变等