下载此文档

第3章 3运算算术指令.ppt


文档分类:IT计算机 | 页数:约92页 举报非法文档有奖
1/92
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/92 下载此文档
文档列表 文档介绍
第3章_3运算算术指令80X86的寻址方式和指令系统 之 算术运算指令
2017/8/13
1
算术运算类指令
算术运算类指令用来执行二进制的算术运算:加减乘除。
这类指令会根据运算结果影响状态标志,有时要利用某些标志才能得到正确的结果;使用他们时请留心有关状态标志
重点掌握
加法指令:ADD、ADC、INC
减法指令:SUB 、SBB、DEC、CMP、NEG
2017/8/13
2
算术运算类指令
8086/8088的算术运算指令可以处理四种类型的数:
1. 无符号的二进制数——8位,16位
2. 带符号的二进制数——8位,16位
3. 无符号的压缩十进制(BCD码)数——只有+/-
4. 无符号的非压缩十进制(BCD码)数
2017/8/13
3
算术运算类指令
无符号数有符号数
8位 0~255 -128~+127
16位 0~65535 -32768~+32767

无符号数和有符号数的溢出标准不一样,
判断二者的溢出标志也不一样。
CF标志位——可用来表示无符号数的进位。
OF标志位——可用来表示有符号数的溢出。
注意:除CBW,CWD外,其余指令都影响标志。
2017/8/13
4
类别
指令格式
状态标志位
OF
SF
ZF
AF
PF
CF
加法
ADD DST,SRC
ADC DST,SRC
INC DST


















减法
SUB DST,SRC
SBB DST,SRC
DEC DST
NEG DST
CMP DST,SRC




























1

注:
:运算结果影响标志位;
*:标志位为任意值;
:运算结果不影响标志位;
1:标志位置1。
2017/8/13
5
类别
指令格式
状态标志位
OF
SF
ZF
AF
PF
CF
乘法
MUL SRC
IMUL SRC


*
*
*
*
*
*
*
*


除法
DIV SRC
IDIV SRC
CBW
CWD
*
*


*
*


*
*


*
*


*
*


*
*


十进制调整
AAA
DAA
AAS
DAS
AAM
AAD
*
*
*

*
*
*

*



*

*







*

*

*



1



*
*
注:
:运算结果影响标志位;
*:标志位为任意值;
:运算结果不影响标志位;
1:标志位置1。
2017/8/13
6
一、加法和减法指令
加法指令:ADD, ADC和INC
减法指令:SUB, SBB, DEC, NEG和CMP
他们分别执行字或字节的加法和减法运算,除INC和DEC不影响CF标志外,其他按定义影响全部状态标志位
操作数组合:
运算指令助记符 reg, imm/reg/mem
运算指令助记符 mem, imm/reg
规定:
两个操作数不能都是mem;
操作数可以是8位或16位。
2017/8/13
7
1. 加和减指令
ADD dest,src
;加法:dest←dest+src
;ADD指令使目的操作数加上源操作数,和的结果送到目的操作数
SUB dest,src
;减法:dest←dest-src
;SUB指令使目的操作数减去源操作数,差的结果送到目的操作数
2017/8/13
8
1. 加和减指令
加法
mov ax,7348h ;AX=7348H
add al,27h
;AL=48H+27H=6FH,AX=736FH
;OF=0,SF=0,ZF=0,PF=1,CF=0
add ax,3fffh
;AX=736FH+3FFFH=B36EH
;OF=1,SF=1,ZF=0,PF=0,CF=0
2017/8/13
9
1. 加和减指令
加法
设:原AL=79H,BH=0B3H
ADD AL,BH 79H= 0111 1001 B
+) B3H= 1011 0011 B
1 0010 1100 B

即:AL=00101100B=2CH,BH=0B3H
SF=0,ZF=0,AF=0,PF=0,CF=1,OF=0
· 无符号数时, 结果AL=2CH, CF=1, 进位
· 有符号数时, 结果AL=2CH
SF=0(结果“+”)
OF=0(未溢出, 结果正确)

注意: 两个操作数应同时带符号

第3章 3运算算术指令 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息