第3章pentium指令系统.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章pentium指令系统

第3章 Pentium的指令系统 本章要点 Pentium寻址方式和指令系统: 汇编语言的寻址方式 传送指令、算术运算指令、逻辑运算指令和移位指令的用法、串操作指令、控制转移指令 汇编语言源程序的规范格式 伪指令及其使用 第3章 Pentium的指令系统 3.1 Pentium的寻址方式 3.2 Pentium的指令系统 3.3 汇编语言中的标记、表达式和伪指令 3.1 Pentium的寻址方式 汇编语言指令要解决的两个问题: 要指出进行什么操作——操作符; 要指出操作数和操作结果放在何处——寻址方式。 3.1 Pentium的寻址方式 立即数寻址 寄存器寻址 存储器寻址 输入/输出端口寻址 1、立即数寻址 操作数就在指令中提供,叫立即数寻址方式。 比如: MOV AL,80H MOV AX,1090H 2、寄存器寻址 操作数放在寄存器中,指令中给出寄存器名 ——寄存器寻址方式。 比如: INC CX ROL AH,1 MOV ECX,EAX 3、存储器寻址 数据在存储器中,偏移地址(有效地址EA)由指令给出——存储器寻址。 EA=基址+变址x比例因子+位移量 寻址计算方法 存储器寻址 (1) 直接寻址方式 如:INC WORD PTR[500H] (2) 寄存器间接寻址方式 如:MOV[ECX],EDX 任何32位通用寄存器(BX、BP、SI、DI) SP、ESP、BP、EBP(BP)默认段为SS,其他寄存器默认段为DS (3) 寄存器相对寻址方式 如:MOV ECX,[EAX+24] 存储器寻址 (4) 基址变址寻址方式 如:MOV EAX,[ESI][EBX] (5) 相对基址变址寻址方式 如:ADD EDX,[ESI][EBP+100H] 存储器寻址 (6) 相对的带比例因子的变址寻址方式 如:IMUL EBX,[ESI*4+7] (7) 基址加带比例因子的变址寻址方式 如:MOV ECX,[EDI*8][EAX] (8) 相对的基址加带比例因子的变址寻址方式 如:MOV EAX,[EDI*4][EBP+80] 4、输入/输出端口寻址 I/O直接寻址 I/O端口地址直接在指令中提供 例:IN AL,82H OUT 80H,AX I/O间接寻址 在DX寄存器中设置好I/O端口地址 例:IN AL,DX OUT DX,AX 3.2 Pentium的指令系统 传送指令 算术运算指令 逻辑运算和移位指令 串操作指令 调用/转移/循环控制/中断指令 标志操作和处理器控制指令 条件测试和字节设置指令 位处理指令 系统管理指令 支持高级语言指令 1. 传送指令 通用传送指令 : MOV MOVZX MOVSX 堆栈操作指令 : PUSH POP PUSHA POPA PUSHAD POPAD 交换指令 : XCHG BSWAP 输入/输出指令 : IN OUT 换码指令 : XLAT XLATB 地址传送指令 : LEA LDS LES LSS LFS LGS 标志传送指令 : LAHF SAHF PUSHF POPF PUSHFD POPFD 1. 传送指令 输入指令IN 长格式:IN? AL,PORT(字节) IN? AX,PORT(字) 执行的操作:(AL)←(PORT)(字节) ???????????? (AX)←(PORT+1,PORT)(字) 短格式:IN? AL,DX (字节) ????????? ?IN? AX,DX(字) 执行的操作:AL←((DX))(字节) ?????????? AX←((DX)+1,DX)(字) 输入/输出指令IN/OUT 8086支持64K个I/O端口,地址范围0000 ~FFFFH。 前256个端口(0 ~FFH)可以直接在指令中指定,即长格式(直接寻址)。 当端口号=256时,只能使用短格式(间接寻址)。 1. 传送指令 MOV CX,[1000H] MOV WORD PTR[SI],6070H PUSH AX PUSH [BX+DI] XCHG BX,CX XCHG [2530H],AX IN AL,60H OUT 61H,AX IN AL,DX OUT DX,AX 1. 传送指令 XLAT LEA AX,[3820H] LDS DI,[2530H] LES DX,[1000H] 举例: 堆栈存放了字符串的首地址,SUB子程序中在调用显示字符串子程序DI

文档评论(0)

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

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

1亿VIP精品文档

相关文档