汇编学习笔记(三)

第三章 80x86寻址方式
一、指令系统
1、
指令:操作码+操作数
在这里插入图片描述
段超越前缀:改变系统指定的默认段
一般来说,操作数存放在数据段中,其物理地址由数据段寄存器DS和指令中给出的有效地址直接形成;使用段超越前缀,操作数可存放在其他段

2、80x86寻址方式
寻址方式:寻找操作数的方法
立即数:跟随在指令操作码后的操作数
寄存器操作数:存放在CPU内部的寄存器
存储器操作数:存放在内存储器的操作数(绝大多数)
给出地址信息->根据地址信息找到需要的操作数

(1)与数据有关的寻址方式
①立即寻址
定义:操作数作为指令的一部分而直接写在指令中(没有EA)
eg. MOV AX,3064H
功能:操作数存放在代码段CS,指令下一单元的内容为立即操作数
在这里插入图片描述
②寄存器寻址
定义:指令所要的操作数已存储在某寄存器中,或把目标操作数存入寄存器,在指令中指出所使用的寄存器(没有EA)
eg. MOV AX,BX
功能:操作数直接存放在寄存器中
在这里插入图片描述
③直接寻址
定义:指令所要的操作数存放在内存中,在指令中直接给出该操作数的有效地址(EA=位移量)
eg. MOV AX,[2000H]
或MOV AX,ES:[2000H]
功能:指令下一单元的内容是操作数的偏移地址EA
在这里插入图片描述
在这里插入图片描述

④寄存器间接寻址
定义:操作数在存储器中,操作数的有效地址用SI、DI、BX、BP等四个寄存器之一来指定(EA=基址/变址)
eg. MOV AX,[BX]
或MOV AX,ES:[BX]
功能:寄存器存放操作数的偏移地址EA
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
⑤寄存器相对寻址
定义:操作数在存储器中,其有效地址是一个基址寄存器(BX、BP)或变址寄存器(SI、DI)的内容和指令中的8位/16位偏移量之和(EA=基址/变址+位移量)
eg. MOV AX,[3000H+SI]
或MOV AX,3000H[SI]
或MOV AX,ES:3000H[SI]
功能:操作数存放在存储器中,寄存器的内容加位移量为操作数的偏移地址EA
在这里插入图片描述
在这里插入图片描述
⑥基址变址寻址
定义:操作数在存储器中,其有效地址是一个基址寄存器(BX、BP)和一个变址寄存器(SI、DI)的内容之和(EA=基址+变址)
eg. MOV AX,[BX][SI]
或MOV AX,[BX+SI]
或MOV AX,ES:[BX][SI]
或MOV AX,ES:[BX+SI]
功能:操作数存放在存储器,BR的内容加IR的内容是操作数的偏移地址EA
在这里插入图片描述
在这里插入图片描述
⑦相对基址变址寻址
定义:操作数在存储器中,其有效地址是一个基址寄存器(BX、BP)的值、一个变址寄存器(SI、DI)的值和指令中的8位/16位位移量之和。(EA=基址+变址+位移量)
eg. MOV AX,0246H[BX][SI]
或MOV AX,0246H[BX+SI]
或MOV AX,[0246H+BX+SI]
或MOV AX,ES:[O246H+BX+SI]
功能:操作数存放在存储器,BR内容+IR内容+位移量是操作数的偏移地址EA
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
⑧比例变址寻址
EA=变址*比例因子+位移量
eg. MOV EAX,MASK[ESI * 4]
或MOV EAX,[MASK+ESI * 4]

⑨基址比例变址寻址
EA=基址+变址*比例因子
eg. MOV EBX,[EAX][EDX * 8]
或MOV EBX,[EAX+EDX * 8]
或MOV EBX,[ESP][EAX * 2]

⑩相对基址比例变址寻址
EA=基址+变址*比例因子+位移量
eg. MOV EAX,TABLE[EBP][EDI * 4]
或MOV EAX,[TABLE+EBP+EDI * 4]
在这里插入图片描述
(2)与转移地址有关的寻址方式
转移地址是由各种寻址方式得到的有效地址和段地址相加而成
有效地址存入IP寄存器中,段地址为CS寄存器内容
①段内直接寻址
在这里插入图片描述
②段内间接寻址
在这里插入图片描述
③段间直接寻址
在这里插入图片描述
④段间直接寻址
在这里插入图片描述

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值