汇编语言-8-总复习-课件.ppt
- 【下载声明】
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
展开阅读全文