汇编语言:第3章80x86的指令系统和寻址方式I..ppt

汇编语言:第3章80x86的指令系统和寻址方式I..ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第 3 章 80x86的指令系统和寻址方式 本章重点(1) 能够正确使用以下各类指令: 1)数据传送指令; 2)算术运算指令; 3)逻辑运算和移位指令; 4)串处理指令; 5)控制转移指令; 6)处理机控制指令。 本章重点(2) 能够根据不同的寻址方式掌握对源操作数和目的操作数的物理地址的确定 重点掌握算术运算和逻辑运算指令执行后对状态标志SF,ZF,CF,OF位的置位和复位的条件 能够正确分析给定指令组所完成的功能和运行结果,并能灵活选用各种指令完成指定的操作 学习方法 学习时不应单纯地对各类指令进行死记硬背,而是应该根据其记忆符的英文含义和各类指令的不同功能来灵活掌握 重点掌握8086/8088的寻址方式和指令系统 然后推广到80386及后继机型的情形,比较对照 0、指令系统概述 机器指令 以二进制代码(机器码)表示指令 直接,不易读懂 汇编指令 以符号形式表示指令 易读,需要翻译(汇编) 与CPU相关 指令系统 指令组成:计算机中的指令由操作码字段和操作数字段两部分组成 指令的格式: 指令成分 操作码(操作的性质) 表示指令应完成的具体操作 以助记符的形式表示 操作数字段 指令分类:(按操作数分) 单操作数指令:OPR DEST 双操作数指令:OPR DEST, SRC 三操作数指令:OPR DEST,SRC,SRC1 无操作数: OPR (隐含操作数) 指令的操作码字段和操作数字段的表示 每个操作用确定的二进制代码表示 操作数字段:情况很多,也很复杂 汇编用助记符表示操作码,用符号或符号地址表操作数 指令、程序初步-1 从键盘输入一个字符,然后从屏幕输出 指令、程序初步-2 从键盘输入2个字符,存放于字节变量A、B中,然后从屏幕输出这2字符。 指令、程序初步-3 从键盘输入2个一位数,求他们的和,并存放在变量sum中。 例、字符串打印- C++实现 在数据区中有一个内容是“Shanghai”的字符串str,请编程在屏幕上输出 字符串打印-汇编实现 程序中涉及的操作数与寻址 AX与datarea:传入地址 DS与AX :传入数据 CX与 8 :传入数据 BX与0: 传入数据 AH与2: :传入数据 DL与str[BX]: 传入数据 BX:自增 CX:自减 Again:标号地址 AH与4CH:传入数据 3.1.1 与数据有关的寻址方式 8086/80286系列 立即寻址 寄存器寻址 直接寻址 寄存器间接寻址 寄存器相对寻址 基址变址寻址 相对基址变址寻址 寻址方式及操作数类型 寻找指令中所需操作数的方法 所需的操作数 立即数操作数 寄存器操作数 存储器操作数 输入/输出端口操作数 1、立即寻址 操作数:直接存放在指令中,紧跟在操作码之后,作为指令的一部分存放在代码段里 8086/8088:立即数是8或16位常数 80386:立即数可以是8或32位常数 仅用作源操作数的寻址 立即数的高位字(节)放在高地址中,低位字(节)放在低地址中 立即寻址举例 MOV AL,5 ==(AL)=05H MOV CX,2A50H ==(CX)=3064H 即 (CX)=(CH,CL)=(30H,64H ) MOV EAX ==(EAX) MOV CX,2A50H 注意 下列指令错 MOV AH,500 MOV 50,AL 不能直接给段寄存器和标志寄存器赋予立即数。下面的指令是错误的:      MOV DS, 1250H 2.寄存器寻址 指令指定寄存器号/名称,操作数在寄存器中 对16位操作数:寄存器用AX、BX、CX、DX、SI、DI、SP和BP 对8位操作数:寄存器用AL、AH、BL、BH、CL、CH、DL和DH 对32位操作数:寄存器用EAX、EBX、ECX、EDX、ESI、EDI、ESP和EBP 寄存器寻址举例 设(AX)=3064H,(BX)=1234H,执行MOV AX,BX ==(AX)=1234H,(BX)保持不变 设(ECX)=0123454H,(EBX),执行 MOV ECX,EBX ==(ECX),(EBX)保持不变 注 意 寄存器寻址时要弄清针对哪个寄存器而言 源、目的寄存器是什么? MOV AL,BX 对吗? MOV AX,BH 对吗? MOV AL,AH 对吗? 3.直接寻址 所需的操作数在存储器中。 指令中直接给出操作

文档评论(0)

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

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

1亿VIP精品文档

相关文档