网站大量收购独家精品文档,联系QQ:2885784924

[工学]第三章 汇编语言指令系统.ppt

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

第三章 汇编语言指令系统 汇编语言伪指令 寻址方式 传送指令 堆栈操作指令 算术运算指令 逻辑与移位指令 串操作指令 分支转移指令 其它指令 3.1 汇编语言伪指令 1、标号概述 由几个符号组成。 作用:用来表示存储单元或指令的位置。 用法:先定义后使用。 定义规则: (1)不能以数字0-9开头。 (2)不能和系统默认符号同名。 (3)字母不分大小写。 2、常量标号的定义 用符号来表示一个指定 的常数或数值表达式为常量标号。 一般用“=”或“EQU”连接。 如: Num1 equ 78h Cont1 = 96 3、变量标号的定义 用来定义存储单元的位置。 使用DB、DW、DD、DF、DQ、DT 各种变量的数据类型见P—38表3.1 定义的格式: 变量标号 数据类型 初始值 应用举例: P—39?~⑤ ? DATA1 DW 9999H 4、伪指令汇总 P-40 表3.3 5、程序的段结构 8086分成4个段,分别是代码段、数据段、堆栈段和附加段。这几个段的定义如下: 3.2 8088/8086CPU的寻址方式 什么是指令系统 一台CPU全部指令的集合。 指令的组成: 操作码:说明该指令要做什么。 操作数:参加运算的数或数的地址。 寻址方式:指数或数的地址的产生方法。 一、立即寻址 操作数就在指令中。如: MOV AX,267 MOV AL AND 0FEH MOV AX,1234H 如 p-43图3-1所示 二、寄存器寻址方式 操作数在某个寄存器中,指令中给出了寄存器的名字。如: MOV EAX,EBX MOV AX,BX MOV AL,BL 优点: 指令执行时间短,节省存储空间。 三、存储器直接寻址方式 数据在存储器中,指令中给出了存储器的地址。如: 操作数地址在指令中直接给出。如: MOV AL,[TABLE] MOV AL,[1000H] MOV AL,DS:[2000H] 其操作示意图如p-44图3.2 四、寄存器间接寻址 1、间址寄存器寻址 操作数地址放在某个寄存器中,如BX、BP、SI、DI。如: MOV AX,[BX] MOV AX,[SI] MOV AX,[BX] (DS)=4000H,(BX)=0100H,(40100H)=25H,(40101H)=34H 执行示意图P-45图3.4所示。 图3.4 寄存器间接寻址示意图 2、间址寄存器加位移量寻址 操作数的偏移地址是某个寄存器加上指令中给定的一个整数。如: MOV AX,[BX+5] P-45 图3.5 3、基址加变址寻址 基址寄存器加上变址寄存器的内容形成操作数地址。 MOV AX,[BX][SI] MOV AX,[BX+SI] MOV CX,[BX+SI] P-46 图3.6 4、 基址加变址加位移量寻址 操作数的偏移地址由基址寄存器+变址寄存器+指令中给定的一个整数。如:MOV [BX+SI+1234H],AX P-46 图3.7 5、比例变址寻址 偏移量有效地址EA=基址寄存器+变址寄存器*比例因子+位移量 只能用于32位地址的特殊寻址方式。 如P-47图3.8 3) 不能向段寄存器写立即数 MOV DX,2000H × 应写成; MOV AX, 2000H MOV DX, AX 4) 以CS为目标的一切传送指令都是非法的,不用给CS送任何值。 例3.4 举例说明堆栈操作的编程规则 PUSH AX PUSH BX : POP BX POPAX 加1指令:INC 目标操作数 目标操作数+1→目标操作数 影响A,O,P,S,Z 5个标志位 加法指令见p-53表3.7 例3.5 用寄存器对EBX:EAX和EDX:ECX分别表示64位数,将它们相加后结果存放于EBX:EAX中。 ADD EAX,ECX ;EAX+ECX→EAX ADC EBX,EDX ; EBX+EDX+CF→ EBX 例:BX内容加1送BX INC BX ;BX+1→BX 常用减法指令见P-54表3.8 例3.6 用寄存器对EBX:EAX和ESI:EDI分别表示64位数,将EBX:EAX中减去ESI:EDI后结果存放于EBX:EAX中。 SUB EAX,EDI ;EAX-EDI→EAX SBB EBX,ESI ; EBX-EDI-CF→ EBX 4、 除法指令 例3.8

文档评论(0)

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

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

1亿VIP精品文档

相关文档