下载此文档

lec08 算术逻辑运算类指令.ppt


文档分类:医学/心理学 | 页数:约29页 举报非法文档有奖
1/29
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/29 下载此文档
文档列表 文档介绍
第 08 讲 8086 / 8088指令系统 ——算术运算&逻辑运算类指令
数据传送类指令
算术运算类指令
逻辑运算类指令
串处理类指令
控制转移类指令
处理机控制指令
8086/8088的指令系统
重点关注:
指令的汇编格式
指令的基本功能
指令支持的寻址方式
指令的执行对标志位的影响
指令的特殊要求
算术运算类指令:
加法指令
ADD、ADC、INC
减法指令
SUB、SBB、DEC、NEG、CMP
乘法指令
MUL、IMUL
除法指令
DIV、IDIV
十进制调整指令
DAA、DAS、
AAA、AAS、AAM、AAD
加法指令
加法指令: ADD DST, SRC
执行操作: (DST) (SRC) + (DST)
带进位加法指令: ADC DST, SRC
执行操作: (DST) (SRC) + (DST) + CF
加1指令: INC OPR
执行操作: (OPR) (OPR) + 1
注意:
* 都影响状态标志位,但 INC指令不影响CF标志位。
减法指令
减法指令: SUB DST, SRC
执行操作: (DST) (DST) - (SRC)
带借位减法指令: SBB DST, SRC
执行操作: (DST) (DST) - (SRC) - CF
减1指令: DEC OPR
执行操作: (OPR) (OPR) - 1
求补指令: NEG OPR
执行操作: (OPR) - (OPR)
比较指令: CMP OPR1, OPR2
执行操作: (OPR1) - (OPR2)
注意:
* 除DEC指令不影响
CF标志外,均对状
态标志位有影响。
【例 2‑17】试分析如下指令执行结果及标志位的状态
MOV BX,0 ; (BX)=0,不影响标志位
DEC BX
; (BX)=0FFFFH,CF不影响、PF=1、AF=1、ZF=0、SF=1、OF=0
INC BX ; (BX)=0,CF不影响、PF=1、AF=1、ZF=1、SF=0、OF=0
SUB BX,1
; (BX)=0FFFFH,CF=1、PF=1、AF=1、ZF=0、SF=1、OF=0
NEG BX ; (BX)=1,CF=1、PF=0、AF=1、ZF=0、SF=0、OF=0
例:x、y、z 均为双字数据,分别存放在地址为X, X+2;
Y, Y+2;Z, Z+2的存储单元中,用指令序列实现
w  x + y + 24 - z ,并用W, W+2单元存放w
MOV AX, X
MOV DX, X+2
ADD AX, Y
ADC DX, Y+2 ; x+y
ADD AX, 24
ADC DX, 0 ; x+y+24
SUB AX, Z
SBB DX, Z+2 ; x+y+24-z
MOV W, AX
MOV W+2, DX ; 结果存入W, W+2单元
乘法指令
无符号数乘法指令: MUL SRC
带符号数乘法指令: IMUL SRC
执行操作:字节操作数(AX) (AL) * (SRC)
字操作数(DX, AX) (AX) * (SRC)
注意: * AL (AX) 为隐含的乘数。 AX (DX,AX) 为隐含的乘积。
* src若为存储器操作数时,注意用ptr明确类型。
如:MUL WORD PTR [BP][DI] ; 字乘,乘积送DX:AX
* SRC不能为立即数和段寄存器。
除CF和OF外,对其它状态标志位无定义。
乘法指令对 CF/OF 的影响:
例 2‑19 : 已知(AL)=0FFH,(BL)=2,
MUL BL ;乘积(AX)= 01FEH,(255×2 = 510), CF=OF=1
IMUL BL ;乘积(AX)= 0FFFEH,(-1×2 = -2), CF=OF=0
00 乘积的高一半为零
11 否则
MUL指令: CF,OF =
00 乘积的高一半是低一半的符号扩展
11 否则
IMUL指令: CF,OF =
对标志没有定义:指令执行后这些标志是任意的、不可预测(就是不知道是0还是1)
对标志没有影响:指令执行不改变标志状态

lec08 算术逻辑运算类指令 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数29
  • 收藏数0 收藏
  • 顶次数0
  • 上传人s1188831
  • 文件大小465 KB
  • 时间2017-06-23