第3章算术运算分析_第1页
第3章算术运算分析_第2页
第3章算术运算分析_第3页
第3章算术运算分析_第4页
第3章算术运算分析_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、123第三章第三章 指令系统指令系统 数据传送指令数据传送指令 算术运算指令算术运算指令 逻辑运算与移位指令逻辑运算与移位指令 串操作指令串操作指令 控制转移指令控制转移指令 处理机控制指令处理机控制指令1、不带进位加法指令、不带进位加法指令ADD 格式:格式:ADD d,s 功能:功能: (d) (d) (s) 说明:将目的操作数说明:将目的操作数d与源操作数与源操作数s相加结果送回相加结果送回d中中l影响全部状态标志位影响全部状态标志位ld、s必须具有相同的字长必须具有相同的字长 ADD AX, BLld、s不能为段寄存器不能为段寄存器 ADD DS, 2000Hld不能是立即数不能是立即

2、数 ADD 10H, AX1 和的最高位向前有进位和的最高位向前有进位0 否则否则CF=1 结果为负结果为负0 否则否则SF=1 结果为结果为00 否则否则ZF=1 两个操作数符号相同,而结果符号与之相反两个操作数符号相同,而结果符号与之相反0 否则否则OF=1 和的和的D3位向位向D4位有进位位有进位0 否则否则AF=1 和的低字节中和的低字节中1的个数为偶数的个数为偶数0 否则否则PF=2、带进位加法指令、带进位加法指令ADC(ADd by Carry) 格式:格式:ADC d,s 功能:功能: (d) (d) (s)CF 说明:将目的操作数说明:将目的操作数d与源操作数与源操作数s和进位

3、标志和进位标志CF相加结果送回相加结果送回d中中3、加一指令、加一指令INC(INCrease) 格式:格式:INC d 功能:功能: (d) (d) 1 说明:将目的操作数说明:将目的操作数d加加1后结果送回后结果送回d中中lADC影响全部状态标志位影响全部状态标志位lINC不影响不影响CF标志标志(DX)= 0002H ,(AX)= 0F365H,(BX)= 0005H,(CX)= 0E024H, 求求 (DX):(AX)(BX):(CX) =?AXF 3 6 5 HCXE 0 2 4 HADDAXD 3 8 9 HCF1DX 0 0 0 2 HBX 0 0 0 5 HADCDX 0 0

4、0 8 HCF0 CF=1指令序列:指令序列:(1) ADD AX, CX(2) ADC DX, BX(DX):(AX) + (BX):(CX) 0002 F365H0005 E024H0008 D389H (DX):(AX) 4、不带进位减法指令、不带进位减法指令SUB 格式:格式:SUB d,s 功能:功能: (d) (d) (s) 说明:将目的操作数说明:将目的操作数d与源操作数与源操作数s相相减结果送回减结果送回d中中l影响全部状态标志位影响全部状态标志位ld、s必须具有相同的字长必须具有相同的字长 SUB AX, BLld、s不能为段寄存器不能为段寄存器 SUB DS, 2000Hl

5、d不能是立即数不能是立即数 SUB 10H, AX1 最高位向前有借位最高位向前有借位0 否则否则CF=1 结果为负结果为负0 否则否则SF=1 结果为结果为00 否则否则ZF=1 两个操作数符号相同,而结果符号与之相反两个操作数符号相同,而结果符号与之相反0 否则否则OF=1 D3位向位向D4位有借位位有借位0 否则否则AF=1 差的低字节中差的低字节中1的个数为偶数的个数为偶数0 否则否则PF=5、带进位减法指令、带进位减法指令SBB 格式:格式:SBB d,s 功能:功能: (d) (d) (s)CF 说明:将目的操作数说明:将目的操作数d与源操作数与源操作数s和进位标志和进位标志CF相

6、相减结果送回减结果送回d中中6、减一指令、减一指令DEC(DECrease) 格式:格式:DEC d 功能:功能: (d) (d) 1 说明:将目的操作数说明:将目的操作数d减减1后结果送回后结果送回d中中lSBB影响全部状态标志位影响全部状态标志位lDEC不影响不影响CF标志标志7、求补指令、求补指令NEG(NEGative) 格式:格式:NEG d 功能:功能: 说明:将目的操作数求反加说明:将目的操作数求反加1后送回后送回d中中1)d()d(8、比较指令、比较指令CMP(Compare) 格式:格式:CMP d,s 功能:功能: (d) (s) 说明:仅将目的操作数说明:仅将目的操作数d

7、与源操作数与源操作数s相相减,结果并不送回减,结果并不送回d中中,根据结果设置,根据结果设置标志位。标志位。lCMP影响标志位,不改变操作数影响标志位,不改变操作数lNEG是求补,不是取反,影响标志位是求补,不是取反,影响标志位00 乘积的高一半是符号扩展,无有效数据乘积的高一半是符号扩展,无有效数据11 否则否则 IMUL指令指令: CF/OF =00 乘积的高一半为零,无有效数据乘积的高一半为零,无有效数据11 否则否则MUL指令指令: CF/OF =11、无符号数除法指令、无符号数除法指令DIV(DIVide) 格式:格式:DIV s功能:功能:lAX/(DXAX)为隐含的被除数寄存器为

8、隐含的被除数寄存器lAL/AX为隐含的商寄存器为隐含的商寄存器lAH/DX为隐含的余数寄存器为隐含的余数寄存器ls只能是通用寄存器或存储器操作数,不能是段寄存器或立即数只能是通用寄存器或存储器操作数,不能是段寄存器或立即数 DIV ES DIV BYTE PTR 30Hl对所有状态标志均无定义对所有状态标志均无定义l商溢出错时,自动产生除法出错中断(商溢出错时,自动产生除法出错中断(INT 0INT 0),此时商和余数都不确定),此时商和余数都不确定12、有符号数除法指令、有符号数除法指令IDIV 格式:格式:IDIV s 功能:同功能:同DIV,只是针对有符号数。,只是针对有符号数。l有符号

9、数除法的余数可以为正也可以为负。例如,有符号数除法的余数可以为正也可以为负。例如,17除以除以5,可以是,可以是商为商为3余数为余数为2,也可以是商为,也可以是商为4余数为余数为3。为了避免结果的不唯一性。为了避免结果的不唯一性,IDIV指令规定指令规定余数的符号必须和被除数的符号相同余数的符号必须和被除数的符号相同。编程计算下列算式:5040+300-600060=?MOV AL,50MOV BL,40MUL BLADD AX,300MOV CX,AXMOV AX,6000MOV BL,60DIV BLADD CX,AX.13、字节符号扩展指令、字节符号扩展指令CBW(Change Byte

10、 to Word) 格式:格式:CBW 功能:若功能:若AL7=0,则,则 AH = 0000 0000b = 00H 若若AL7=1,则,则 AH = 1111 1111b = FFH 说明:将说明:将AL的的符号位扩展到符号位扩展到AX,但扩展后所代表的有符号数的数值不变。主要用,但扩展后所代表的有符号数的数值不变。主要用于有符号数除法指令前对被除数进行扩展以达到除法指令中对被除数位数的规定要于有符号数除法指令前对被除数进行扩展以达到除法指令中对被除数位数的规定要求。求。lAL/AX为隐含的操作数为隐含的操作数l不影响标志位不影响标志位14、字符号扩展指令、字符号扩展指令CWD(Chang

11、e Word to Double Word) 格式:格式:CWD 功能:若功能:若AX15=0,则,则 DX = 0000 0000 0000 0000b = 0000H 若若AX15=1,则,则 DX = 1111 1111 1111 1111b = FFFFH 说明:将说明:将AX的的符号位扩展到符号位扩展到DX。lDX:AX为隐含的操作数为隐含的操作数l不影响标志位不影响标志位15、加法的压缩、加法的压缩BCD码调整指令码调整指令 DAA 格式:格式:DAA 功能:对功能:对AL中的压缩中的压缩BCD码加法结果进行调整。码加法结果进行调整。 说明:必须紧跟在说明:必须紧跟在ADD/ADC

12、指令之后出现。指令之后出现。AL低低4位位9AF=1ALAL+06HAL高高4位位9CF=1ALAL+60H调调 整整 算算 法法lAL为隐含操作数,且为压缩为隐含操作数,且为压缩BCD码码l除除OF不确定之外,其余标志位均受影响,其中不确定之外,其余标志位均受影响,其中CF说明结果是否大于说明结果是否大于990010 01010011 01110101 11000101 11000000 01100110 00100110 10001000 10011111 00011111 00010110 01101 0101 011116、加法的非压缩、加法的非压缩BCD码调整指令码调整指令 AAA

13、格式:格式:AAA 功能:对功能:对AL中的非压缩中的非压缩BCD码加法结果进行调整。码加法结果进行调整。 说明:必须紧跟在说明:必须紧跟在ADD/ADC指令之后出现。指令之后出现。AL低低4位位调调 整整 算算 法法lAL/AH为隐含操作数,且为隐含操作数,且AL为非压缩为非压缩BCD码码lAF和和CF标志受影响,其余标志位不受影响标志受影响,其余标志位不受影响17、减法的压缩、减法的压缩BCD码调整指令码调整指令 DAS 格式:格式:DAS 功能:对功能:对AL中的压缩中的压缩BCD码减法结果进行调整。码减法结果进行调整。 说明:必须紧跟在说明:必须紧跟在SUB/SBB指令之后出现。指令之

14、后出现。AL低低4位位9AF=1ALAL06HAL高高4位位9CF=1ALAL60H调调 整整 算算 法法lAL为隐含操作数,且为压缩为隐含操作数,且为压缩BCD码码l除除OF不确定之外,其余标志位均受影响,其中不确定之外,其余标志位均受影响,其中CF说明结果是否小于说明结果是否小于0 00011 01001000 10011010 10111010 10110110 01100100 010118、减法的非压缩、减法的非压缩BCD码调整指令码调整指令 AAS 格式:格式:AAS 功能:对功能:对AL中的非压缩中的非压缩BCD码减法结果进行调整。码减法结果进行调整。 说明:必须紧跟在说明:必须

15、紧跟在SUB/SBB指令之后出现。指令之后出现。AL低低4位位调调 整整 算算 法法lAL/AH为隐含操作数,且为隐含操作数,且ALAL为非压缩为非压缩BCD码码lAF和和CF标志受影响,其余标志位不受影响标志受影响,其余标志位不受影响19、乘法的非压缩、乘法的非压缩BCD码调整指令码调整指令 AAM 格式:格式:AAM 功能:将功能:将AX内容转换成两位非压缩的内容转换成两位非压缩的BCD码码 说明:乘法运算只有非压缩说明:乘法运算只有非压缩BCD码调整指令码调整指令AAM,用来把,用来把AX中字节乘法的积转换中字节乘法的积转换成两位非压缩的成两位非压缩的BCD码。码。20、除法的非压缩、除法的非压缩BCD码调整指令码调整指令 AAD 格式:格式:AAD 功能:将功能:将AX中两位非压缩的中两位非压缩的BCD码调整成二进制数码调整

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论