3 80x86指令系统.ppt

  1. 1、本文档共143页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章 80x86指令系统 第一节 80x86的寻址方式 四类寻址方式: 立即寻址(操作数包含在代码中) 寄存器寻址(操作数存放在寄存器中) 存储器寻址 (操作数存放在存储器中) I/O端口寻址 (操作数存放在I/O端口中) 一、立即寻址 指令的操作数就在指令代码中,对应的寻址方式称为立即寻址 例如: MOV AX,1234H 二、寄存器寻址 操作数就存放在寄存器中,对应的寻址方式称为寄存器寻址 例如: MOV AX,BX 三、存储器寻址 操作数的地址偏移量称为有效地址(Effective Address,EA) 对16位机(如8086): EA = 基址 + 变址 + 位移量 基址——BX、BP 变址——SI、DI 位移量——8位或16位带符号数 若使用寄存器BP进行寻址,则默认操作数是存放在堆栈段中,否则默认操作数存放在数据段中 对32位机(如80386): EA = 基址 +(变址*比例因子)+ 位移量 基址——EAX、EBX、ECX、EDX、EBP、 ESP、ESI、EDI 变址——EAX、EBX、ECX、EDX、EBP、 ESI、EDI 比例因子——1、2、4或8 位移量——8位或32位带符号数 若使用寄存器BP进行寻址,则默认操作数是存放在堆栈段中,否则默认操作数存放在数据段中 存储器寻址方式的分类 直接寻址 寄存器间接寻址 寄存器相对寻址 基址变址寻址 相对基址变址寻址 比例变址寻址(只用于386以上处理器) 基址比例变址寻址(只用于386以上处理器) 相对基址比例变址寻址(只用于386以上处理器) 1、直接寻址 程序直接通过操作数的地址来访问该操作数 例如:MOV AX,[1234H] ;设(DS)=5000H 2、寄存器间接寻址 操作数存放在存储器中,但操作数的偏移量存放在基址寄存器或变址寄存器中 例如:设(DS)=5000H,(BX)=1234H ,则: MOV AX,[BX] 3、寄存器相对寻址 EA = 基址或变址寄存器 + 位移量 例如:假设(DS)=5000H,(BX)=1234H,则: MOV AX,[BX+1000H] 4、基址变址寻址 EA = 基址寄存器 + 变址寄存器 例如:设(DS)=5000H,(BX)=1234H,(SI)=1000H,则: MOV AX,[BX+SI] 5、相对基址变址寻址 EA = 基址 + 变址 + 位移量 例如:(DS)=5000H,(BX)=1234H,(SI)=1000H ,则: MOV AX,[BX+SI+2000H] 6、比例变址寻址(386以上) EA = 变址*比例因子 + 位移量 例如:设变址(ESI)=2,比例因子=4,则: MOV EAX,[ESI*4+12340H] 7、基址比例变址寻址 (386以上) EA = 基址 + 变址*比例因子 例如:基址(EBP)=12340H,变址(ESI)=3,比例因子= 2,则: MOV AX,[EBP+ESI*2] 8、相对基址比例变址寻址 (386以上) EA = 基址 + 变址*比例因子 + 位移量 例如:设基址(EBX)=12340H,变址(EDI)=2,比例因子=4,则: MOV EAX,[EBX+EDI*4+12H] 四、I/O端口寻址 直接端口寻址 采用这种寻址方式时,端口地址只有8位(0~0FFH)。例如: IN AL,10H ;从10H号端口读入8位数据 OUT 50H,AX ;把AX中的内容送到50H号端口 IN EAX,20H ;从20H号端口读入32位数据 I/O端口寻址 间接端口寻址:采用这种寻址方式时,端口地址为16位(0~0FFFFH)。 必须先将端口地址存放到寄存器DX中。 例如: MOV DX,1000H ;端口地址为1000H OUT DX,AL ;间接端口寻址 第二节 80x86指令系统 80x86的六大类指令: 一、数据传送类 二、算术运算类 三、逻辑操作类 四、字符串操作类 五、控制转移类 六、处理器控制类 一、数据传送类 通用数据传送指令: MOV、MOVSX、MOVZX、PUSH、POP、PUSHA、POPA、PUSHAD、POPAD、XCHG、XLAT 目标地址传送指令: LEA、LDS、LES、LFS、LGS、LSS 标志位传送指令: LAHF、SAHF、PUSHF、POPF、PUSHFD、POPFD 输入输出指令: IN、OUT 1、通用数据传送指令 (1)MOV(Move)

文档评论(0)

xiaofei2001129 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档