书签 分享 收藏 举报 版权申诉 / 73
上传文档赚钱

类型汇编语言-8-总复习-课件.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:3923453
  • 上传时间:2022-10-25
  • 格式:PPT
  • 页数:73
  • 大小:184.57KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《汇编语言-8-总复习-课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    汇编语言 复习 课件
    资源描述:

    1、总总 复复 习习封面1总总 复复 习习第一章 1.2数据表示 第一章第一章 汇编语言基础知识汇编语言基础知识1.2 1.2 数据表示数据表示 1.1.十进制数转换二进制数;十进制数转换二进制数;整数部分整数部分不断除以不断除以2 2,记下每次得到的余,记下每次得到的余数,直到商为零;余数倒排,即最后得到的数,直到商为零;余数倒排,即最后得到的余数排在最高位,第一个余数排在最低位。例余数排在最高位,第一个余数排在最低位。例如将十进制数如将十进制数1313转换成二进制转换成二进制数:数:小数部分小数部分转换:乘转换:乘2 2取整,顺序排列得到取整,顺序排列得到的整数。例如将的整数。例如将0.812

    2、50.8125转换成二进制数转换成二进制数2总总 复复 习习数制转换 BCD 码2.2.二进制数十六进制数互相转换二进制数十六进制数互相转换1101001.101B=1101001.101B=68.AH68.AH (68.5H68.5H)3.3.BCD BCD 码(码(84218421码、二码、二十进制数)十进制数)v 解决十进制数在计算机内部如何表示。解决十进制数在计算机内部如何表示。BCDBCD码码 规定用四位二进制数表示一位十进制数。规定用四位二进制数表示一位十进制数。v 对多位十进制数,只要把每一位十进制数分对多位十进制数,只要把每一位十进制数分别表示为四位二进制数即可。别表示为四位二

    3、进制数即可。v 压缩压缩BCDBCD码和非压缩码和非压缩BCDBCD码码3总总 复复 习习ASCII码4.ASCII4.ASCII码码v解决字母、符号在计算机内部如何表示。解决字母、符号在计算机内部如何表示。v基本基本ASCIIASCII码(标准码(标准ASCIIASCII码)用七位二进制数表示码)用七位二进制数表示一个符号(共一个符号(共128128个);个);v书写:用两位十六进制数书写,如书写:用两位十六进制数书写,如41H-A41H-A;v种类:种类:1 1)控制字符(前)控制字符(前3232个和最后一个):个和最后一个):0D-0D-回车,回车,0A-0A-换行;换行;2 2)其他为

    4、打印字符(可显示字符);)其他为打印字符(可显示字符);v应记住的应记住的ASCIIASCII码:码:30H39H30H39H,41H41H,61H 61H v扩展扩展ASCIIASCII码用八位二进制数表示一个符号(共码用八位二进制数表示一个符号(共256256个)。个)。4总总 复复 习习有符号数表示方法5.5.有符号数表示方法有符号数表示方法原码、反码、补码总结:原码、反码、补码总结:1 1)正数正数的原码反码补码相同;的原码反码补码相同;负数负数的原码反码的原码反码补码各不相同,补码各不相同,但符号位都是但符号位都是1 1。2 2)设字长为八位,原码反码的表数范围为)设字长为八位,原码

    5、反码的表数范围为-127-127+127+127,补码的表数范围为,补码的表数范围为-128-128+127+127。3 3)已知某负数的补码,求该负数的真值,方法如下:)已知某负数的补码,求该负数的真值,方法如下:符号位不动,其余位求反加一,得到的是该符号位不动,其余位求反加一,得到的是该负数的原码;负数的原码;根据原码即可写出该负数的真值。根据原码即可写出该负数的真值。例:例:X补补=11111100B X原原=10000011B+1=10000100B X=-0000100=-4 5总总 复复 习习1.5 8086微处理器1.5 80861.5 8086微处理器微处理器 1.8086 1

    6、.8086的功能结构的功能结构总线接口单元、执行单元、指令预取队列总线接口单元、执行单元、指令预取队列 2.8086 2.8086的寄存器组的寄存器组v80868086通用寄存器通用寄存器 (1)1)AXAX-累加器。累加器。(2)(2)BXBX-基地址寄存器。基地址寄存器。(3)(3)CXCX-计数寄存器。计数寄存器。(4)(4)DXDX-数据寄存器。数据寄存器。(5)(5)SISI-源变址寄存器。源变址寄存器。(6)(6)DIDI-目的变址寄存器。目的变址寄存器。(7)(7)BPBP-栈基地址寄存器。栈基地址寄存器。(8)(8)SPSP-栈顶指针。栈顶指针。v专用寄存器专用寄存器 IPIP

    7、、标志寄存器标志寄存器FLAGFLAG(PSWPSW)6总总 复复 习习段寄存器使用规定3.3.段寄存器使用规定段寄存器使用规定S SS SE SE SD SD SD SD SS SS SC SC S 默默 认认 段段 寄寄 存存 器器有效地址有效地址EAEAD ID IS IS I有效地址有效地址EAEAS PS PI PI P偏偏 移移 地地 址址CS,ES,SSCS,ES,SS无无CS,ES,SSCS,ES,SSCS,ES,SSCS,ES,SS无无无无可超越的可超越的段段 寄寄 存存 器器BPBP作基址时作基址时串的目的操作数串的目的操作数串的串的源操作数源操作数一般数据访问一般数据访问

    8、堆栈操作堆栈操作取指令取指令访访 问问 存存 储储 方方 式式7总总 复复 习习1.6 8086的寻址方式1.6 80861.6 8086的寻址方式的寻址方式 1.1.立即数寻址方式立即数寻址方式 2.2.寄存器寻址方式寄存器寻址方式 3.3.存储器寻址方式存储器寻址方式1.1.寄存器间接寻址寄存器间接寻址2.2.寄存器相对寻址寄存器相对寻址3.3.基址变址寻址基址变址寻址4.4.直接寻址直接寻址5.5.基址变址相对寻址基址变址相对寻址8总总 复复 习习mem操作数的各种形式 memmem操作数的各种形式操作数的各种形式 2050H;VAR_ADDR2050H;VAR_ADDR BX;BP;s

    9、i;diBX;BP;si;di BX+disp;BP+disp;si+disp;di+dispBX+disp;BP+disp;si+disp;di+disp dispBX;dispBP;dispSI;dispDI dispBX;dispBP;dispSI;dispDI BX+SI;BX+DI;BP+SI;BP+DI BX+SI;BX+DI;BP+SI;BP+DI BXSI;BXDI;BXSI;BXDI;BX+SI+disp;BX+DI+disp;BX+SI+disp;BX+DI+disp;BP+SI+disp;BP+DI+disp;BP+SI+disp;BP+DI+disp;9总总 复复 习习

    10、第二章 2.1 MOV 第二章第二章 8086 8086的指令系统的指令系统2.1 2.1 数据传送指令数据传送指令 2.1.1 2.1.1 通用数据传送指令通用数据传送指令 MOV/XCHG/XLAT MOV/XCHG/XLATv MOV DESTMOV DEST,SRCSRC 立即数只能作源操作数立即数只能作源操作数,且要与目的操作数匹配。且要与目的操作数匹配。两个操作数类型要匹配。两个操作数类型要匹配。如汇编程序无法确定操作类型,要加类型说明符。如汇编程序无法确定操作类型,要加类型说明符。CSCS一般不能作目的操作数(用转移指令改变)。一般不能作目的操作数(用转移指令改变)。如果指令有两

    11、个操作数,不允许两个都是存储器数。如果指令有两个操作数,不允许两个都是存储器数。所有所有“MOV”“MOV”类指令均不影响标志。类指令均不影响标志。10总总 复复 习习PUSH/POP2.1.2 2.1.2 堆栈操作指令堆栈操作指令 PUSH r16/m16/segPUSH r16/m16/seg POP r16/m16/seg POP r16/m16/seg 堆栈操作是字操作指令堆栈操作是字操作指令 在在“POP”“POP”指令中,指令中,“POP CS”“POP CS”为非法指为非法指令。令。堆栈操作指令不影响标志。堆栈操作指令不影响标志。11总总 复复 习习地址传送指令2.1.3 2.1

    12、.3 标志传送指令标志传送指令 LAHF/SAHF/PUSHF/POPF LAHF/SAHF/PUSHF/POPF2.1.4 2.1.4 地址传送指令地址传送指令 LEA/LDS/LES LEA/LDS/LES LEA r16 LEA r16,memmem 2.1.5 2.1.5 输入输出指令输入输出指令 IN/OUT IN/OUT12总总 复复 习习2.2 算术运算指令2.2 2.2 算术运算指令算术运算指令 ADD/ADC/INC ADD/ADC/INC SUB/SBB/DEC/SUB/SBB/DEC/NEG/CMPNEG/CMP加法指令对标志的影响:加法指令对标志的影响:ADDADD和和

    13、ADCADC指令对所有指令对所有的的6 6个个状态标志都有影响,状态标志都有影响,INCINC指令不影响指令不影响CFCF,影响其他五个标志。影响其他五个标志。学习加减法指令要会设置学习加减法指令要会设置标志、使用标志。标志、使用标志。加减法运算加减法运算要注意要注意OFOF和和CFCF的意义不同,用法不的意义不同,用法不同同。注意注意NEG/CMPNEG/CMP指令的用法。指令的用法。13总总 复复 习习MUL/IMULMUL/IMULMUL/IMUL 指令指定的是乘数,指令指定的是乘数,被乘数是隐含的被乘数是隐含的。如乘数类如乘数类型为字节,则被乘数为型为字节,则被乘数为ALAL,1616

    14、位乘积用位乘积用AXAX;如乘数类如乘数类型为字,则被乘数为型为字,则被乘数为AXAX,3232位乘积用位乘积用DXDX,AXAX。影响影响 CF CF、OF OF 标志:如果乘积的高一半为零,或标志:如果乘积的高一半为零,或高一半为低一半的符号扩展,高一半为低一半的符号扩展,则则 CF=OF=0 CF=OF=0,否则,否则,CF=OF=1CF=OF=1。对其他标志。对其他标志无定义无定义。单操作数指令,涉及单操作数指令,涉及memmem时,须指定类型。时,须指定类型。MUL BYTR PTRBX+SIMUL WORD PTRBX+SI 14总总 复复 习习DIV/IDIVDIV/IDIV 指

    15、令指定的是除数,被除数是隐含的;指令指定的是除数,被除数是隐含的;除数为字节,除数为字节,则称为则称为“字节除字节除”,被除数使用,被除数使用AXAX;除数为字,称为除数为字,称为“字除字除”,被除数使用,被除数使用DX AXDX AX。操作数的格式与乘法指令相同。操作数的格式与乘法指令相同。指令对状态标志无定义。指令对状态标志无定义。当产生除法溢出,当产生除法溢出,CPU自动产生自动产生“0号号”中断,运行中断,运行相相应中断服务程序。应中断服务程序。程序设计时,应避免产生除法溢出。程序设计时,应避免产生除法溢出。15总总 复复 习习CBW/CWD CBW/CWDCBW/CWD 注意符号扩展

    16、涉及的对象是注意符号扩展涉及的对象是AL和和AH以及以及AX和和DX,与其他寄存器无关。与其他寄存器无关。用来为有符号数除法准备被除数(用来为有符号数除法准备被除数(16位被除数和位被除数和32位被除数)。位被除数)。为无符号数除法准备被除数,用为无符号数除法准备被除数,用“0扩展扩展”。DAA/DASDAA/DAS/AAA/AAS/AAM/AAD/AAA/AAS/AAM/AADv如果做如果做BCD码加法运算,码加法运算,ADD、ADC指令后应紧指令后应紧跟跟DAA指令,以保证结果正确。指令,以保证结果正确。v调整对象只能是调整对象只能是AL寄存器(寄存器(BCD码运算只能使用码运算只能使用以

    17、以AL寄存器为目的操作数的寄存器为目的操作数的8位数运算指令)。位数运算指令)。v对对OF标志无定义,设置其他标志标志无定义,设置其他标志16总总 复复 习习2.3 位操作指令2.3 2.3 位操作指令位操作指令 AND/OR/XOR/AND/OR/XOR/TESTTEST/NOT/NOT操作数格式同加减法指令。操作数格式同加减法指令。设置设置CF=OF=0,影响影响SF、ZF、PF,对,对AF无定义。无定义。TESTTEST不影响目的操作数,只根据运算结果设置标志。不影响目的操作数,只根据运算结果设置标志。NOT reg/mem 不影响任何标志。不影响任何标志。17总总 复复 习习AND/O

    18、R/XOR/TEST/NOT屏蔽若干位。屏蔽若干位。(常用指令)(常用指令)AND AL,01H;屏蔽;屏蔽AL的的D7D1,保留,保留D0 AND AL,0FH;屏蔽;屏蔽AL高高4位,保留低位,保留低4位位使若干位置使若干位置1(常用指令)(常用指令)OR BL,0F0H;使;使BL高高4位置位置1,低,低4位不变位不变清除清除CF、OF 或或 设置标志设置标志 AND AL,AL(AND AL,0FFH;OR BL,BL;);类似指令没有改变目的操作数,但使类似指令没有改变目的操作数,但使CF=OF=0,也,也 可能纯粹以设置其他标志(可能纯粹以设置其他标志(ZF)为目的。)为目的。18

    19、总总 复复 习习用法/2 求反求反 NOT AL/NOT WORD PTR BX+DI 对指定位求反对指定位求反 XOR AL,0FH;AL高高4位不变,低位不变,低4位求反位求反 XOR CL,55H;CL偶数位求反,奇数位不变偶数位求反,奇数位不变 清除寄存器及清除寄存器及CF(常用指令)(常用指令)XOR AX,AX/XOR BX,BX XOR BYTE PTR BX,BYTE PTR BX 19总总 复复 习习用法/3不改变操作数,测试操作数或操作数的指定位不改变操作数,测试操作数或操作数的指定位TEST AL,0FFH;由;由ZF标志判断标志判断AL是否为零是否为零 ;也可以用;也可

    20、以用CMP指令。指令。TEST AL,01;由;由ZF标志判断标志判断AL的的D0是否为零,是否为零,;ZF=1,则,则AL.D0=0 ;ZF=0,则,则AL.D0=1AND AL,01;也可完成上述功能,但是改变了;也可完成上述功能,但是改变了 目的操作数目的操作数20总总 复复 习习移位指令SHL/SALSHL/SAL/SHRSHR/SAR/SAR标志设置标志设置 AF:对:对AF无定义;无定义;CF:按移入的值或为:按移入的值或为0或为或为1;根据移位后的结果设置根据移位后的结果设置SF、ZF、PF;OF:当移动一位时,移位后如果符号位发生变化,则:当移动一位时,移位后如果符号位发生变化

    21、,则OF=1,符号位符号位不发生变化,则不发生变化,则OF=0,移位次数大于一时,移位次数大于一时,OF不定。不定。操作数左移一位,相当于乘操作数左移一位,相当于乘2(对有符号数同理,只要(对有符号数同理,只要OF=0,结果就对)。,结果就对)。操作数操作数逻辑右移(逻辑右移(SHR)一位,相当于一位,相当于无符号数无符号数除以除以2;操作数操作数算术右移(算术右移(SAR)一位,相当于一位,相当于有符号数有符号数除以除以2。ROL/ROR/RCL/RCRROL/ROR/RCL/RCR 移位指令和循环移位指令结合,可实现移位指令和循环移位指令结合,可实现32位数左移位数左移右移右移。21总总

    22、复复 习习2.4 控制转移类指令2.4 2.4 控制转移类指令控制转移类指令 2.4.1 2.4.1 无条件转移指令无条件转移指令vJMP SHORT LABEL;JMP NEAR PTR LABEL;vJMP r16 ;JMP WORD PTR memvJMP (FAR PTR)LABELvJMP FAR PTR mem(JMP DWORD PTR mem)22总总 复复 习习条件转移指令/12.4.2 2.4.2 条件转移指令条件转移指令1.1.判断单个状态标志判断单个状态标志 助记符助记符 标标 志志 说说 明明 JZ/JEJZ/JE ZF=1 ZF=1 结果为结果为0 0;两数相等;两

    23、数相等 JNZ/JNEJNZ/JNE ZF=0 ZF=0 不为不为0 0;不相等;不相等 JC/JBJC/JB/JNAE CF=1 /JNAE CF=1 加有进位;减有借位;其他加有进位;减有借位;其他 JNC/JNBJNC/JNB/JAE CF=0 /JAE CF=0 无进位;无进位;无借位;其他无借位;其他 JS SF=1 JS SF=1 结果为负结果为负 JNS SF=0 JNS SF=0 结果为正结果为正 JP/JPE PF=1 JP/JPE PF=1 结果的低结果的低8 8位含偶数个位含偶数个“1”“1”JNP/JPO PF=0 JNP/JPO PF=0 结果的低结果的低8 8位含奇

    24、数个位含奇数个“1”“1”JO OF=1 JO OF=1 运算结果溢出运算结果溢出 JNO OF=0 JNO OF=0 运算结果不溢出运算结果不溢出JCXZ JCXZ (CX=0 CX=0)串操作是否处理完所有串操作是否处理完所有 23总总 复复 习习条件转移指令/22.2.比较无符号数高低比较无符号数高低(条件为一个标志或标志组合条件为一个标志或标志组合)助记符助记符 标志标志 说说 明明 J JB B/JN/JNA AE/JC CF=1 E/JC CF=1 低于低于/不高于不等于不高于不等于()JN JNB B/J/JA AE/JNC CF=0 E/JNC CF=0 不低于不低于/高于或等

    25、于高于或等于()()J JB BE/JNE/JNA A CF=1 CF=1或或ZF=1 ZF=1 低于或等于低于或等于/不高于不高于()()JN JNB BE/JE/JA A CF=0 CF=0且且ZF=0 ZF=0 不低于不等于不低于不等于/高于高于()3.3.比较有符号数大小比较有符号数大小(条件为标志组合条件为标志组合)助记符助记符 标志标志 说说 明明 J JL L/JN/JNG GE SFOF E SFOF 小于小于/不大于且不等于不大于且不等于()JN JNL L/J/JG GE SFE SFOF OF 不小于不小于/大于或等于大于或等于 ()()J JL LE/JNE/JNG G

    26、 SFOF SFOF或或ZF=1 ZF=1 小于或等于小于或等于/不大于不大于 ()()JN JNL LE/JE/JG G SF SFOFOF且且ZF=0 ZF=0 不小于且不等于不小于且不等于/大于大于()24总总 复复 习习循环控制指令2.4.3 2.4.3 循环控制指令循环控制指令LOOP labelLOOP label ;CX0CX0,循环;否则退出,循环;否则退出LOOPZ/LOOPF labelLOOPZ/LOOPF label;CX0 CX0 且且 ZF=1ZF=1,循环,循环 ;否则退出;否则退出LOOPNZ/LOOPNE labelLOOPNZ/LOOPNE label;CX

    27、0 CX0 且且 ZF=0ZF=0,循环,循环 ;否则退出;否则退出2.4.4 2.4.4 子程序调用及返回指令子程序调用及返回指令CALL near ptr label ;段内直接调用;段内直接调用CALL r16/word ptr m16 ;段内间接调用;段内间接调用CALL far ptr label ;段间直接调用;段间直接调用CALL dword ptr mem ;段间间接调用;段间间接调用RETRET RET i16RET i16 25总总 复复 习习中断控制指令/12.4.5 2.4.5 中断控制指令中断控制指令1.80861.8086中断类型中断类型 外部中断外部中断 中断源来

    28、自中断源来自CPUCPU之外(两种)之外(两种)v可屏蔽中断:响应与否,可屏蔽中断:响应与否,受受IFIF标志控制。标志控制。涉及指令:涉及指令:CLI STICLI STIv非屏蔽中断:非屏蔽中断:不受不受IFIF控制的中断源。(控制的中断源。(2#2#)26总总 复复 习习中断控制指令/2 内部中断(内部中断(4 4种)种)中断源为:程序执行过程中程序自身引发的事件中断源为:程序执行过程中程序自身引发的事件v除法错中断:除数为除法错中断:除数为0 0或除法溢出。(或除法溢出。(0#0#)v单步中断:若单步标志单步中断:若单步标志TF=1TF=1,则每条指令执行,则每条指令执行 行后产生单步

    29、中断。(行后产生单步中断。(1#1#)v溢出中断:执行中断指令溢出中断:执行中断指令INTOINTO时,如时,如OF=1OF=1,则,则 产生溢出中断。(产生溢出中断。(4#4#)v指令中断:执行中断调用指令指令中断:执行中断调用指令INT n INT n,产生指,产生指 令中段,类型号令中段,类型号n=0n=0255255。27总总 复复 习习中断控制指令/32.80862.8086的中断过程的中断过程中断向量表进入中断服务程序返回断点中断向量表进入中断服务程序返回断点CPUCPU取类型号取类型号;外中断外中断:中断源提供中断源提供 内中断内中断:指令提供、预定义指令提供、预定义类型号类型号

    30、*4 4:对应向量在表中的首地址:对应向量在表中的首地址 保护断点:保护断点:PSWPSW、CSCS、IPIP依次入栈依次入栈从向量表读取服务程序入口地址:从向量表读取服务程序入口地址:IPIP低位字低位字 CS CS高位字高位字进入中断服务程序进入中断服务程序3.80863.8086的中断指令的中断指令 INT i8/INTO/IRET/CLI/STIINT i8/INTO/IRET/CLI/STI28总总 复复 习习系统功能调用2.4.6 2.4.6 系统功能调用系统功能调用v在在AHAH中设置调用的功能号;中设置调用的功能号;v在指定的寄存器中设置入口参数;在指定的寄存器中设置入口参数;

    31、v执行执行INT 21HINT 21H指令,调用功能子程序;指令,调用功能子程序;1.1.单个字符的输出单个字符的输出 AH=02AH=02;入口参数:入口参数:DL=DL=字符的字符的ASCIIASCII码码 2.2.字符串输出字符串输出 AH=09AH=09;入口参数:入口参数:DS:DX=DS:DX=字符串首地址字符串首地址 字符串必须以(字符串必须以(24H24H)结尾)结尾 3.3.单个字符输入单个字符输入 AH=1AH=1;入口参数:无;出口参数:入口参数:无;出口参数:AL=AL=字符字符ASCIIASCII码码 29总总 复复 习习2.5 串操作指令2.5 2.5 串操作指令串

    32、操作指令 1.1.串传送指令串传送指令 MOVSB/MOVSWMOVSB/MOVSW 2.2.串存储指令串存储指令 STOSB/STOSWSTOSB/STOSW 3.3.串读取指令串读取指令 LODSB/LODSWLODSB/LODSW 4.4.串比较指令串比较指令 CMPSB/CMPSWCMPSB/CMPSW 5.5.串扫描指令串扫描指令 SCASB/SCASWSCASB/SCASW 6.6.重复前缀指令重复前缀指令 REP REPZ/REPE REP REPZ/REPE 和和REPNZ/REPNEREPNZ/REPNE 1 1)源数据串可以段跨越,目的串不可。)源数据串可以段跨越,目的串不

    33、可。2 2)DF=0DF=0,地址指针,地址指针+1+1或或+2+2,DF=1DF=1,指针,指针-1-1或或-2-2。3 3)注意重复前缀的使用。)注意重复前缀的使用。30总总 复复 习习2.6 处理机控制类指令2.6 2.6 处理机控制类指令处理机控制类指令 1 1)NOP(NOP(同同XCHG AX,AX)XCHG AX,AX)预留空间预留空间 删除指令删除指令 软件延时软件延时 2 2)段超越前缀指令段超越前缀指令 段寄存器:如段寄存器:如 CS CS:,:,SSSS:3 3)指令封锁前缀指令)指令封锁前缀指令LOCKLOCK(有相应引脚(有相应引脚 LOCK LOCK):):LOCK

    34、 MUL LOCK MUL 4 4)暂停指令)暂停指令 HLT HLT 反复执行反复执行NOPNOP,等待复位或中断信号。(慎用),等待复位或中断信号。(慎用)5 5)交权指令)交权指令ESC ESC 将浮点指令交给浮点处理器。将浮点指令交给浮点处理器。6 6)等待指令)等待指令WAITWAIT(有相应引脚信号(有相应引脚信号 TEST TEST)用于与用于与80878087同步同步 (5T5T)TEST=1 TEST=1 保持保持WAITWAIT状态,状态,TEST=0 TEST=0 退出退出WAITWAIT状态。状态。31总总 复复 习习第三章3.1/3.2第三章第三章 3.1/3.2 3

    35、.1/3.21.1.变量定义伪指令变量定义伪指令 1 1)字节定义伪指令)字节定义伪指令DBDB 2 2)定义字单元伪指令)定义字单元伪指令DWDW 3 3)定义双字单元伪指令)定义双字单元伪指令DDDD 4 4)其他数据定义伪指令)其他数据定义伪指令 1 1)DFDF、DQDQ、DT DT 略略 2 2)MASM6.0MASM6.0建议使用:建议使用:BYTE/WORD/DWORDBYTE/WORD/DWORD等等 3 3)SBYTE/SWORD/SDWORDSBYTE/SWORD/SDWORD:有符号数专用。:有符号数专用。5 5)DUP/DUP/?/32总总 复复 习习2.基数控制伪指令

    36、2.2.基数控制伪指令(基数控制伪指令(RADIXRADIX)RADIX n;n取取216内的任意整数。内的任意整数。3.3.符号常数定义伪指令(符号常数定义伪指令(EQUEQU、=)vEQUEQU符号名符号名 EQU EQU 数值表达式数值表达式符号名符号名 EQU EQU ;5.X5.X版用双引号。版用双引号。v“=”号伪指令号伪指令33总总 复复 习习例题 .model small model small .stack .stack .data .data bvar db 16 bvar db 16 wvar dw 4wvar dw 4*3 3 dvar dd 4294967295 dv

    37、ar dd 4294967295 db 1,2,3,4,5 db 1,2,3,4,5 abc db a,b,c abc db a,b,c msq db hello,13,10,$msq db hello,13,10,$bbuf db 12 dup(month)bbuf db 12 dup(month)dbuf dd 25 dup(?dbuf dd 25 dup(?)B1B1DW BVARDW BVAR;B1=0000HB1=0000HB2B2DW WVARDW WVAR;B2=0001HB2=0001HB3B3DD WVARDD WVAR;B3=0001HB3=0001H,B3+2=B3+2=

    38、段地址段地址34总总 复复 习习4.定位伪指令ORG4.4.定位伪指令定位伪指令ORGORG(/EVEN/ALIGN/EVEN/ALIGN)控制数据或指令的偏移地址。控制数据或指令的偏移地址。1 1)ORG ORG 参数参数 使地址计数器指向参数表达的偏移地址。使地址计数器指向参数表达的偏移地址。ORG 100HORG 100H;从;从0100H0100H单元开始分配存储器。单元开始分配存储器。ORGORG$+10$+10;$表示地址计数器的当前值,表示地址计数器的当前值,$+10$+10;表示由当前地址向前跳过;表示由当前地址向前跳过1010个字节。个字节。2 2)EVENEVEN ;使它后

    39、面的数据或指令从偶地址开始。使它后面的数据或指令从偶地址开始。3 3)ALIGN nALIGN n;使它后面的数据或指令从使它后面的数据或指令从n n的整数倍的整数倍 ;地址开始(可被;地址开始(可被n n整除)。整除)。n n是是2 2的乘方(的乘方(2 2,4 4,88)且小于所在段的定位属)且小于所在段的定位属性值。如性值。如“ALIGN 4”“ALIGN 4”,使下一个地址开始于双字边界,使下一个地址开始于双字边界35总总 复复 习习例题定位伪指令举例:定位伪指令举例:DATA SEGMENTDATA SEGMENTD01 DB 1,2,3D01 DB 1,2,3 ;D01D01偏移地

    40、址为偏移地址为0 0,=0003H=0003HEVENEVEN(ALIGN 2ALIGN 2);$为为0004H0004HD02 DW 5D02 DW 5 ;D02D02偏移地址为偏移地址为04H04H,=0006H=0006HALIGN 4ALIGN 4 ;最接近;最接近6 6的、可被的、可被4 4整除的数是整除的数是8 8 ;=0008H=0008HD03 DD 6D03 DD 6 ;D03D03的偏移地址为的偏移地址为08H08H,=000CH=000CHORG ORG+10H+10H ;000CH+0010H=001CH000CH+0010H=001CH =001CH=001CHD04

    41、 DB abcD04 DB abc ;D04D04的偏移地址为的偏移地址为001CH001CH =001FH=001FHLEN EQU LEN EQU D04D04;LEN=001FLEN=001F001C=3001C=3 ;变量;变量D04D04所占的字节数。所占的字节数。36总总 复复 习习3.3程序段的定义和属性3.33.3程序段的定义和属性程序段的定义和属性1.1.简化段定义标准格式:简化段定义标准格式:.model small.model small.stack.stack.data.data.code.code.startup.startup .exit 0.exit 0enden

    42、d37总总 复复 习习2.完整段定义格式2.2.完整段定义格式完整段定义格式1 1).段定义伪指令段定义伪指令段名段名 SEGMENT SEGMENT 定位定位 组合组合 段字段字 类别类别 段名段名 ENDS ENDS定位属性:指定逻辑段的起始地址定位属性:指定逻辑段的起始地址BYTEBYTE:为下一个可用的字节地址:为下一个可用的字节地址(xxxx xxxxB)(xxxx xxxxB)WORDWORD:为下一个可用的偶数地址:为下一个可用的偶数地址(xxxx xxx0B)(xxxx xxx0B)DWORDDWORD:下一个可被:下一个可被4 4整除的地址整除的地址(xxxx xx00B)(

    43、xxxx xx00B)PARAPARA:下一个可被:下一个可被1616整除的地址整除的地址(xxxx 0000B)(xxxx 0000B)PAGEPAGE:下一个可被:下一个可被256256整除的地址整除的地址(0000 0000B)(0000 0000B)38总总 复复 习习指定段寄存器伪指令2 2)指定段寄存器伪指令)指定段寄存器伪指令ASSUME ASSUME 段寄存器段寄存器:段名段名,段寄存器,段寄存器:段名段名 建立段寄存器与段之间的缺省关系,改变这种缺省建立段寄存器与段之间的缺省关系,改变这种缺省关系可使用段跨越前缀。关系可使用段跨越前缀。如如 ASSUME CS ASSUME

    44、CS:CODECODE,DSDS:DATADATAASSUME ASSUME 段寄存器:段寄存器:NOTHINGNOTHING 对指令给出的段寄存器取消已经指定的缺省关系。对指令给出的段寄存器取消已经指定的缺省关系。注意:注意:ASSUMEASSUME伪指令并不能为段寄存器赋值。伪指令并不能为段寄存器赋值。39总总 复复 习习段组伪指令3 3)段组伪指令)段组伪指令组名组名 GROUP GROUP 段名段名,段名,段名将多个同类但不同名的段合并为一个不超过将多个同类但不同名的段合并为一个不超过64KB64KB的物理段,并使用组名统一访问它。可理的物理段,并使用组名统一访问它。可理解为组合属性解

    45、为组合属性PUBLICPUBLIC的补充。的补充。.MODEL SMALL.MODEL SMALL具有下面语句的作用:具有下面语句的作用:dgroup GROUP _datadgroup GROUP _data,_bss_bss,stackstack4 4)汇编结束伪指令)汇编结束伪指令 END END 标号标号 40总总 复复 习习表达式/运算符/操作符第三章第三章 表达式表达式/运算符运算符/操作符操作符 1.1.数值表达式及运算符数值表达式及运算符 常数、寄存器、变量及标号等用运算符连接起来即常数、寄存器、变量及标号等用运算符连接起来即构成表达式,如细分,有算术表达式、逻辑表达式、关构成

    46、表达式,如细分,有算术表达式、逻辑表达式、关系表达式、地址表达式等,但是由于前三种表达式或由系表达式、地址表达式等,但是由于前三种表达式或由它们构成的综合型表达式其结果都是数值,故一律算做它们构成的综合型表达式其结果都是数值,故一律算做数值表达式数值表达式;如果一个表达式的结果从物理意义来说,;如果一个表达式的结果从物理意义来说,代表存储器单元的地址,则称其为代表存储器单元的地址,则称其为地址表达式地址表达式。常见运算符分成五类:常见运算符分成五类:1 1)算术运算符:)算术运算符:+、-、*、/、MODMOD 2 2)逻辑运算符:)逻辑运算符:AND AND、OR OR、XOR XOR、NO

    47、TNOT 3 3)移位运算符:)移位运算符:SHL SHL、SHRSHR 4 4)关系运算符:)关系运算符:EQEQ、NENE、GTGT、LTLT、GEGE、LELE 5 5)高低分离符:)高低分离符:HIGHHIGH、LOWLOW、HIGHWORDHIGHWORD、LOWWORDLOWWORD41总总 复复 习习地址操作符2.2.地址操作符及地址表达式地址操作符及地址表达式vOFFSET OFFSET 变量变量|标号标号;返回变量或标号的偏移;返回变量或标号的偏移地址地址vSEG SEG 变量变量|标号标号;返回变量或标号的段地;返回变量或标号的段地址址3.3.类型操作符(类型操作符(数值数

    48、值表达式)表达式)对变量或标号的类型属性进行操作。对变量或标号的类型属性进行操作。PTRPTR/THIS/LABEL/THIS/LABEL/SHORTSHORT/TYPETYPE/SIZEOF/LENGTHOFSIZEOF/LENGTHOF42总总 复复 习习例题/1例例 3.4 3.4 属性及应用属性及应用 .model small .model small .stack .stack .data .dataV_byte equ this byteV_byte equ this byteV_word dw 3332h,3735hV_word dw 3332h,3735hTarget dw 5

    49、 dup(20h)Target dw 5 dup(20h)Crlf db 0dh,0ah,$Crlf db 0dh,0ah,$Flag db 0Flag db 0N_point dw offset s_labelN_point dw offset s_label .code .code .startup .startup mov al,mov al,byte ptrbyte ptr v_word v_word dec al dec al mov mov v_byte,al v_byte,al;v_word=3331h;v_word=3331h43总总 复复 习习例题/2N_label:cmp

    50、flag,1;N_label:cmp flag,1;flagflag单元单元=0=0 jz s_label jz s_label inc flag inc flag ;flag=1flag=1 jmp short n_labeljmp short n_labelS_label:cmp flag,2 ;S_label:cmp flag,2 ;flag=1flag=1 jz next jz next inc flag ;inc flag ;flag=2flag=2 jmp n_pointjmp n_point;段内间接转移段内间接转移,等同于等同于jmp s_labeljmp s_labelNex

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:汇编语言-8-总复习-课件.ppt
    链接地址:https://www.163wenku.com/p-3923453.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库