第3章 80868088的指令系统(算术运算)

合集下载

ch3-3 8086指令系统(算术运算与逻辑运算)

ch3-3 8086指令系统(算术运算与逻辑运算)
AL×OPRD AX
AH为高8位,AL为低8位。
AL (8位)
s (8位)
AH AL (16位)
第三章 8086/8088 指令系统
b. 16位乘法 AL×OPRD AX DX为高16位,AX为低16位。
AX (16位)
s (16位)
DX AX (32位)
第三章 8086/8088 指令系统
• 该指令可以得到负数的绝对值。 • 执行该指令后一般都会使得CF为1
第三章 8086/8088 指令系统
(5) 比较指令 CMP d, s
功能:作一次减法运算d–s,但不送结果,
只根据结果设置标志位。 比较指令往往用于判断两数是否相 等,或两数大小关系。若相等,则零标 志ZF=1。
第三章 8086/8088 指令系统
01110011 00110111 相减
00111100 00000110 调整
00110110
最后结果 AL = 00110110B(代表36),CF=0
第三章 8086/8088 指令系统
(5) AAM 功能:对未组合型BCD的乘法结果进行调整。 例: MOV AL, 00001000B (代表8) MOV BL, 00001001B (代表9) MUL BL AAM
否则不作调整。
第三章 8086/8088 指令系统
例: MOV AH, 0 MOV AL, 00000110B ADD AL, 00000111B
AAA
;代表6 ;代表7
00000110 6 + 00000111 7
00001101 调整 + 00000110
00010011
清0
00000011 AL 00000000+1=00000001AH

第3章 80868088的指令系统

第3章  80868088的指令系统
课件制作人:刘永华
3.1 寻 址 方 式
例如: ADD AX,BX 其中AX是目的操作数,BX是源操作数,执行前, AX存放被加数,BX存放加数,执行后,AX和BX相 加的结果存放在AX中。 从书写形式来看,8088/8086系统中的操作数 可以分为三种类型:立即数操作数、寄存器操作 数和存储器操作数。
课件制作人:刘永华
3.1 寻 址 方 式
1. 立即数操作数 立即数是作为指令代码的一部分出现在指令 中。它通常作为源操作数使用。其书写形式可 以为二进制、八进制、十进制和十六进制数, 也可以是一个可求出确定值的表达式。 2. 寄存器操作数 寄存器操作数是把操作数存放在寄存器中, 用来参加运算或存放结果。在双操作数指令中, 它可以作为源操作数和目的操作数。其书写形式 就是寄存器的名称。
课件制作人:刘永华
3.1 寻 址 方 式

3.1.2 寻址方式 寻址方式共有7种: 1. 寄存器寻址 寄存器寻址方式中,指令所需要的操作数存 放在指令指明的寄存器中。对16位操作数, 寄存器可以是AX、BX、CX、DX、SI、DI、SP、 CS、DS、ES、SS和BP;对8位操作数,寄存器 可以是AL、AH、BL、BH、CL、CH、DL和DH。 这种寻址方式速度较快,对于那些需要经常 存取的操作数,采用寄存器寻址方式较为合 适。
课件制作人:刘永华
图3.3 MOV AX,BX
3.1 寻 址 方 式
2. 寄存器间接寻址 寄存器间接寻址方式中,操作数的偏移地址EA在指 令指明的寄存器中,即寄存器的内容为操作数的偏 移地址EA,而操作数存放在存储器中。 能够用来间接寻址的寄存器只能是寄存器SI、DI、 BP、BX其中之一。若指令中指定的寄存器是BX、DI 或SI,则操作数在当前数据段中,所以操作数的物 理地址PA的形成是由数据段寄存器DS的内容左移4位, 加上BX、DI或SI中的偏移地址EA。若指令中指定的 寄存器是BP,则操作数在当前堆栈段中,所以操作 数的物理地址PA的形成是堆栈段寄存器SS的内容左 移4位,加上BP中的偏移地址EA形成操作数的物理地 址PA,如图3.4所示。

005-指令系统_1303

005-指令系统_1303

MOV 说明
段寄存器之间的传送 MOV ES, DS; 错 MOV AX, DS MOV ES, AX; 对 注意CS和IP的使用 CS和IP不能作为目标操作数,CS可以作为源操作数。 例: MOV CS,AX; 错 MOV AX,CS; 对 MOV IP, AX; 错 MOV AX,IP; 对
MOV 说明
ቤተ መጻሕፍቲ ባይዱ
MOV 应用
③ CPU内部寄存器(除CS和IP外)与存储器(所有寻址方式)
之间数据传送。可以实现一字节或一个字的传送。存储单元
之间不能直接传送
MOV MEM, AX; 累加器存储器,直接寻址
MOV MEM, DS;段寄存器存储器,直接寻址 MOV DISP[BX],CX;寄存器存储器,变址寻址
指令系统的符号说明
src, dest 源,目的操作数(下列寻址方式都可以用)
[BX+SI+n],[BX+DI+n],[BP+SI+n],[BP+DI+n]
[SI+n], [N], [ ] [DI+n], r [BP+n], [BX+n]
存储器单元的内容(正常在数据段)
ES:[ ] 附加存储器段的内容 OPRD 操作数 Seg im 段寄存器(CS, DS, ES, SS ) 立即数 (n 8位, nn 16位, nnnn 32位)
MOV 实例

MOV SI,OFFSET AREA1
MOV DI,OFFSET AREA2 MOV CX,100 AGAIN : MOV AL,[SI] MOV [DI],AL
INC
INC DEC …
SI
DI CX

第三章 80868088的指令系统2

第三章   80868088的指令系统2

六、处理器控制指令
1.标志操作指令 用来设置标志位的状态。 (1)CF设置指令
CLC STC CMC CLD STD CLI STI 0→CF 1→CF CF变反 0→DF (串操作的指针移动方向从低到高) 1→DF (串操作的指针移动方向从高到低) 0→IF (禁止INTR中断) 1→IF (开放INTR中断)
重复前缀(p128) 重复前缀(p128) (p128 串操作指令前面可加上重复前缀。 串操作指令前面可加上重复前缀。当使用 重复前缀 重复前缀时, 指令重复执行, 重复前缀时,MOVS 指令重复执行,重复执 行次数由CX决定 并且每执行一次 决定。 每执行一次, 就 行次数由 决定。并且每执行一次,CX就 自动减1,直到减为0,然后退出重复执行。 自动减 ,直到减为 ,然后退出重复执行。 重复前缀包括: 重复前缀
部分常用的 8086 指令
指令类型 数 据 传 送 算 术 运 算 逻辑 移位 地址传送 LEA 输入输出 IN,OUT 加法 减法 乘/除法 移位 串操作 控制转移
28原则 28原则
助记符 ;标志传送PUSHF/POPF
数据传送 MOV,XCHG; 堆栈PUSH/POP
ADD,ADC,INC,DAA SUB,SBB,DEC,CMP MUL,DIV SHL/SHR/SAR,ROL/ROR,RCL/RCR MOVSB JMP,JXX,LOOP,CALL/RET,INT/IRET
① 根据单个标志位设置的条件转移指令
含 义 等于/ 结果为0 不等于/ 结果不为0 有进位/ 有借位 无进位/ 无借位 溢出 不溢出 有偶数个“1” 有奇数个“1” 符号位为 1 符号位为 0 指 令 JE / JZ JNE / JNZ JC JNC JO JNO JP / JPE JNP / JPO JS JNS 转移条件 ZF=1 ZF=0 CF=1 CF=0 OF=1 OF=0 PF=1 PF=0 SF=1 SF=0

03第三章 Intel 80868088 CPU的指令系统02

03第三章 Intel 80868088 CPU的指令系统02

设(AX)=1020H,执行示意图
低地址
存储区
低地址
存储区
(SS段)
(SS段)
(SP)-2 (SP)-1 (SP) (SP)
20
10
(AL) (AH)
进栈方向
高地址
执行前
(AX)=1020
高地址
执行后
PUSH AX指令执行示意图
注意进栈方向是高地址向低地址发展。
压栈指令的格式为: PUSH reg PUSH mem/reg PUSH segreg 例如: PUSH AX PUSH [BX] PUSH DS
OF DF IF TF SF ZF
AF
PF
CF
SAHF指令的功能
(3)把标志寄存器推入栈顶指令PUSHF
执行的操作:(SP)-1←标志寄存器高8位 (SP)-2←标志寄存器低8位 (SP)←(SP)-2 (4)从栈顶弹出标志寄存器指令POPF 执行的操作:标志寄存器低8位←(SP) 标志寄存器高8位←(SP)+1 (SP)←(SP)+2 PUSHF和POPF指令用于保护和恢复标志寄 存器内容。
存储器
42000H+0
30 31 32
39 41
...
‘0’ ‘1’ ‘2’
‘9’ ‘A’ ‘B’ ‘E’ ‘F’ 十六进制数ASCII码表
42000H+0BH
42 45 46
... ...
则可用如下几条指令实现:
MOV BX,2000H ;(BX)←表首地址 MOV AL,0BH ;(AL)←序号 XALT ; 查表转换
上程序段存放在代码段中,設(CS)=109EH, 则各条指令存放地址如下:
CS : 109E : 109E : 109E : 109E : 109E : 109E : 109E : 109E : 109E : IP 0100 0103 0106 0108 010A 010B 010C 010E 0110 指令 MOV DI,1000H MOV CX,64H MOV AL,2AH MOV [DI],AL INC DI DEC CX JNZ 0108 HLT

80868088的指令系统(通用数据传送指令)

80868088的指令系统(通用数据传送指令)

通用数据传送指令
PUSH 和 POP指令 • 基本格式和功能
• •
指令格式:
PUSH POP SRC DEST
执行的操作: PUSH 压入。源操作数进栈至栈顶。“先减再压”
(SP) ← (SP)-2 SS:((SP),(SP)+1) ← (SRC)

POP 弹出。栈顶出栈到目的操作数。“先弹再加” (DEST) ← SS:((SP),(SP)+1) (SP) ← (SP)+2
通用数据传送指令
PUSH 和 POP指令 • 基本格式和功能
• •
与标志的关系:
与各标志位无关,不影响标志位
寻址方式: PUSH mem / reg POP mem / reg
注意: 操作数一律为16位操作数。允许使用段寄存器,但 POP操作数不允许为CS。可以使用除立即数以外的任 何数据寻址方式。
通用数据传送指令
MOV 指令 • 例子
• reg ←→reg
MOV DH, AL MOV DS, AX
• r ←→m
MOV DL, DA_BYTE MOV DL, [SI] MOV AX, DA_WORD
通用数据传送指令
MOV 指令 • 例子
• m →m
MOV DL, DA_BYTE1 MOV DA_BYTE2, DL
传送实质上是复制,对源操作数无影响。 16位数据的传送遵循地址“高对高,低对低”的原
则。这个原则不仅对MOV指令适用,对所有的传送 皆适用。
通用数据传送指令
MOV 指令 • 例子
• 立即数→r/m
MOV CL, 05H MOV AX, 1234H MOV ADDR, 12H MOV ADDR, 1234H

汇编语言-计算机14级第三章 80868088寻址方式及指令系统3.3 第三章课件

(SI)=2000H, (12100H)=1234H, 则PA=1000H×16+2000H+100H=12100H 则执行结果为:(AX)=1234H
* 用符号地址表示操作数时,方括号可加 可不加
【例3.5】
MOV AX, A1 ≡ MOV AX,[A1] MOV AX, VALUE ≡ MOV AX, [VALUE]
注意:双操作数指令中的两个操作数,不能同时 使用存储器寻址方式
信息工程学院
第3章 8086/8088寻址方式及指令系统
(4) 寄存器间接寻址
* 用于间接寻址的寄存器必须加方括号
* EA只能由BX、BP(操作数默认在堆栈段)、SI、DI指出
MOV AX,[CX]

* SRC 和 DST 的长度一致
MOV DL,[BX] ;[BX]指示一个字节单元
MOV DX,[BX] ;[BX]指示一个字单元
* 允许使用段跨越前缀 如:MOV AX,ES:[BX]
* 适于数组、字符串、表格的处理
信息工程学院
第3章 8086/8088寻址方式及指令系统
指令: MOV AX,[SI]
AX
DS
已知:(AX)=5 (SI)=20H
AH AL SI
(DS)=1000H
则PA=1000H×16+20H=10020H
指令执行后:
(AX)=0FFFFH,其他不变
数据段 10000H
* 寄存器只能使用BX、BP(操作数默认在堆栈段)、 SI、DI
* 可以使用段跨越前缀 例如:MOV AX,ES:STR[SI]
* 适于数组、字符串、表格的处理
信息工程学院
第3章 8086/8088寻址方式及指令系统

第3章 80868088的指令系统


fill
F range list:填写存储单元
go
G [=address] [addresses]:运行
hex
H value1 value2
input
I port
load
L [address] [drive] [firstsector] [number]:装入命名过的文件
move
M range address
微型计算机原理与接口技术
汇编语言程序设计概述
编程语言分类 机器语言:计算机能直接识别并执行某种操作的二进制代码串 汇编语言:用指令助记符、符号地址和标号等书写程序的语言 高级语言:C语言等
汇编语言程序优点 (1)占用空间小 (2)运行速度快 (3)有直接控制硬件的能力
开发环境: DOS环境
微型计算机原理与接口技术
name
N [pathname] [arglist]:命名
output
O port byte
proceed
P [=address] [nuregister
R[F] [register]:显示和修改寄存器[标志寄存器]
search
S range list
trace
T [=address] [value]:跟踪(单步执行)
微型计算机原理与接口技术
语句格式: [名字] 助记符 [操作数1[, 操作数2]][;注释]
START
START CODE
PROC FAR PUSH DS XOR AX,AX PUSH AX MOV AX,DATA MOV DS,AX MOV DX, SEG MOV DS, DX MOV DX, OFFSET MOV AH, 9H INT 21H RET ENDP ENDS END START

微机系统与接口教学资料 第三章(2)

源操作数——寄存器、存储器、立即数 目的操作数—— 寄存器、存储器
执行的操作: DST SRC
MOV指令最简单、最常用,用来赋初值,或传送数据, 或对数据进行暂存等。
其中源操作数(src)和目的操作数(dst)均可采用多种寻 址方式,其传送关系如图所示:
M
AX BX CX
R r/r DX BP SP SI DI
(16位通用寄存器) (内存操作数)
(1) 该指令完成一个32位地址指针的传送; (2) 该指令通常指定 DI 作寄存器 REG。
例: les di, [100h]
ES=1000h
10100h
00
02
00
20
0200h DI 2000h ES
3. 累加器专用指令 IN, OUT, XLAT
输入输出指令
使用段寄存器)。
源操作数: 寄存器、存储器 目的操作数:寄存器、存储器 执行的操作:( OPRD1) (OPRD2 )
例: XCHG BX, [BP+SI]
(BX)=6F30H (BP)=0200H (SI)=0046H (SS)=2F00H (2F246H)=1234H
结果: (BX)=1234H (2F246H)=6F30H
例如:XCHG AL,BL ;(AL)与(BL)间进行字节交换 XCHG [2200H],DX ; (DX)与(2200H)、(2201H)两 单元间的字交换
使用时注意: (1) OPR1和OPR2不能同时为存储器操作数; (2) 任一个操作数都不能使用段寄存器,也不能使用立 即数。
(三)地址—目标传送指令
用来对寻址机构进行控制的指令。指令传送到16位目标寄存 器中的是存储器操作数的地址,而不是它的内容。 1. 地址传送指令 LEA, LDS, LES

第3章80888086指令系统(老师用的课件哦)

方式。 操作数的类型有三种:立即数、寄存器操作数、
存储器操作数。
第3章 8088/8086指令系统
1.立即数 立即数作为指令代码的一部分出现在指令中。它只 能作为源操作数使用。在汇编指令中,可以以二进制、 十六进制或十进制等形式出现,有时也可以以具有确 定值的表达式的形式来表示。也就是说,立即数本身 包含在指令代码中,这种操作数是由指令直接提供的。
第3章 8088/8086指令系统
例:MOV AX,4290H;(AX)←4290H 即将指令代码中提供的立即数4290H送至寄存器 AX中去。(AX)表示寄存器AX的内容。
图3.1 立即寻址示意图
第3章 8088/8086指令系统
2.寄存器寻址 寄存器寻址的操作数类型是寄存器操作数,即指 令中所需的操作数放在某一个指定的寄存器中,立即 数只能作为源操作数出现在指令中间。寄存器寻址时, 寄存器中存放的数可以是源操作数,也可以是目标操 作数。寄存器寻址的示意图如图3.2所示。 例:MOV DX,AX;(DX)←(AX) 即将寄存器AX中的内容(源操作数)送至寄存器DX 中,DX为目标操作数。以上两种寻址方式是最容易被 理解和掌握的。
第3章 8088/8086指令系统
3.1.2 寻址方式 熟悉寻址方式是掌握指令系统的基础。只有熟悉
寻址方式,才能正确理解指令中的操作对象是哪一个, 它从何处得到,处理以后的结果又送到何处去,从而 在整体上理解指令的功能。
1.立即寻址 立即寻址的操作数类型是立即数。这种寻址方式所 提供的操作数直接包含在指令中。它紧跟在操作码的 后面。立即数可以是8位或16位数。若为16位数,则低 字节数放在低地址单元,高字节数放在后继的高地址 单元。寻址示意图如图3.1所示。
第3章 8088/8086指令系统
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用CF把低位部分产生的借位引入高位部 分的减法中。
减法指令
SUB与SBB 指令 • 例子 例:写指令,完成32位减法: 12345678H-0123ABCDH 参考答案: mov mov sub sbb ax, bx, ax, bx, 5678H 1234H 0ABCDH 0123H
减法指令
CMP指令 • 一些说明
DIV 和 IDIV指令

说明
• 与标志位的关系:
除法指令对标志位的影响不确定,而且这些 影响没有意义。
• 寻址方式:
DIV mem/reg IDIV mem/reg S可以是8/16位的通用寄存器或存储器操作 数,但不能为立即数或段寄存器。
除法指令
DIV 和 IDIV指令

说明
• DIV用于无符号数除法,IDIV用于有符号数除法。 • 除法是字还是字节除法,由S的宽度决定。 • 若除法运算所得的商数超出累加器的容量,则
乘法指令
MUL指令 • 说明
• 说明:
此指令为无符号数乘法指令,不能用于有符
号数相乘,否则结果可能错误。
影响标志位情况: • 若运算结果的高位字节或高位字有效,即AH0或
DX 0,则将CF和OF同时置1,其他位任意。
S可为8/16位通用寄存器或存储器操作数,不
允许为立即数。
乘法指令
ADD d, s ADC d, s INC d SUB d, s SBB d, s
减法
DEC d NEG d CMP d, s
乘法
MUL s IMUL s
无符号数乘法 字节:(AX) (AL)*(s) 带符号数乘法 字:(DX:AX) (AX)*(s)
算术运算指令
表2 算术运算类指令一览表 ( 续 )
数256 , 需要把AX中的被除数扩展为32位,为此, 只要 (DX) ← 0 即可。 但有符号数除法, 情况更复
杂一些, 扩展时必须考虑符号。

有符号数的最高位是符号位,扩展时,只需用
其填充扩展累加器的高位即可。
十进制调整指令
• 共六条:
AAA DAA AAS DAS AAM AAD
十进制 调整
AAA DAA AAS DAS AAM AAD
加法的ASCII码调整 加法的十进制调整 减法的ASCII码调整 减法的十进制调整 乘法的ASCII码调整 除法的ASCII码调整
加法指令
• 共3条:
ADD
加法
ADC
INC
带进位加法
加 1指令
加法指令
ADD 指令
• 基本格式和功能
• 例:设AL = 00000100B = +4,则执行指
令 NEG AL 后,AL = 11111100B = [-4] 补
乘法指令
• 共两条指令
MUL 无符号数乘法
IMUL
有符号数乘法
乘法指令
MUL指令 • 基本格式和功能
• 指令格式:
MUL
s
• 功能:
字节乘法:(AX)(AL)*(s) 字乘法:(DX:AX)(AX)*(s)
;高字节相加 ;高字节调整
十进制调整指令
DAS指令 • 基本格式和功能

格式:

DAS
功能:
进行压缩BCD码减法调整。
解:
乘法指令
IMUL指令 • 基本格式和功能
• 指令格式:
IMUL s
• 功能&说明:
具体功能与MUL指令类似;
但此指令为有符号数相乘指令,它完成两个带符号
的8/16位二进制数乘的功能。
除法指令
• 共4条相关指令
DIV
IDIV
无符号数除法
有符号数除法
CBW
CWD
符号扩展,字节扩展为字
DAA指令
• 例子
例:设AL=BCD 39,BL=BCD 99,求两数之和,运算过程如下:
0011 1000…..39 ADD AL,BL DAA +1001 1001…..99 1101 0010…..AF=1 +0000 0110…..加6调整>9 1101 1000…调整后高半字 节>9 +0110 0000…加60H调整 0011 1000…结果AL=BCD38 CF=1
算术运算指令
• 有5类指令:
加法指令 减法指令 乘法指令
除法指令 十进制调整指令
算术运算指令
表2 算术运算类指令一览表
指令类型
加法


指令功能
加法 (d)(d)+(s) 带进位加法 (d)(d)+(s)+CF 加1 (d)(d)+1 减法 减1 取负 比较 (d)(d)-(s) (d) (d)-1 (d) 0-(d) (d)-(s) 带借位减法 (d)(d)-(s)-CF
符号扩展,字扩展为双字

除法指令
DIV 和 IDIV指令

基本格式和功能 S S
• 指令格式:

DIV IDIV 执行的操作:
字节 字
(AL) (AX)/(S) 的商 (AH) (AX)/(S) 的余数 (AX) (DX:AX)/(S) 的商
(DX) (DX:AX)/(S) 的余数
除法指令
DST, SRC
(DST) ←(DST)+(SRC)+CF

寻址方式:
ADC mem/reg, mem/reg/data
加法指令
ADC 指令
• 说明
• 与ADD指令一样,ADC同样影响 6个状
态标志位。
• 其中CF在指令中参与计算,计算后根据
结果重新设置CF的值。
加法指令
ADC指令 • 用途
• ADC指令常用在多字节数相加的场合,
INC dest
• 执行的操作:
(dest)←(dest)+1
• 寻址方式:
INC mem/reg
加法指令
INC指令
• 基本格式和功能
• 目的操作数dest可以是8位或16位通用寄
存器或存储单元,但不能为立即数。
• 指令执行时把操作数看成是无符号数,
加1后设置PF,AF,ZF,SF和OF,但特
别要注意,INC指令不影响CF。
• 格式:
CBW CWD
• 功能:
CBW: 将AL中的符号位扩展到AH
CWD: 将AX中的符号位扩展到DX
除法指令 • 符号扩展指令
CBW 和 CWD指令
• 说明
• •
除法指令的被除数的数据宽度应该是除数的2倍。
当被除数宽度不够时,必须进行扩展,
例如:要用存放在 AX中的数65535除以存放BX中的
系统将其当作除数为0处理,自动产生类型0中
断,CPU转去执行类型0中断服务程序作适当处
理,此时所得商数和余数均无效。
除法指令
DIV 和 IDIV指令 指令。 解: MOV AX,00C8H MOV BL,11H DIV BL

例子
• 例:进行无符号数除法:20017,写出
除法指令
DIV 和 IDIV指令
• CMP指令执行后,d与s均保持不变; • CMP指令常用于判断2个数的大小;进行大小比
较时,无符号数与有符号数有不同的判断依据:
减法指令
DEC指令 • 基本格式和功能
• 指令格式:
DEC d
• 执行的操作:
(d)←(d)-1
• 影响标志位:
与INC指令一样,不影响CF标志,但影响其 它5个状态标志。

例子
• 例:进行有符号数除法:(-3200)(+269),
写出指令。
解: MOV NEG MOV MOV IDIV AX,3200 AX ; MOV AX,F380H也可以 DX,0FFFFH ;用CWD指令更准确 BX,010DH BX
除法指令 • 符号扩展指令
CBW 和 CWD指令
• 基本格式和功能

寻址方式: SUB(SBB,CMP) SUB(SBB,CMP) mem/reg, mem/reg mem/reg, data

说明:
d和s不能同为存储器操作数 d不能为立即数。
减法指令
SUB, SBB 和 CMP指令
• 一些说明
• 这三条指令均可进行字节或字的减法运
算;
• 均影响所有6个状态标志位; • SBB指令主要用于大于16位的减法,利
加法的ASCII调整
加法十进制调整
减法的ASCII调整
减法十进制调整
乘法的ASCII调整(分离BCD码)
除法的ASCII调整(分离BCD码)
十进制调整指令
DAA指令 • 基本格式和功能
• •
格式:
DAA
功能:
进行压缩BCD码加法调整。
十进制调整指令
DAA指令 • 说明

DAA指令对AL中的压缩型BCD码(1个字节2 个码)进行调整(仅对AL进行调整)
加法指令
ADD 指令

例子
例1:指令举例: ADD AX,0FF00H ADD BYTE PTR [SI],13H ADD AX,BX 例2:错误的指令: ADD AX,BL ADD [SI+3],[BX][DI] ADD DS,DX
加法指令
ADC 指令
• 基本格式和功能


指令格式:
ADC
执行的操作:
十进制调整指令
DAA指令
• 例子
例:设AX=6698H,BX=2877H,它们均为压缩型BCD码。 请写出能正确实现AX+BX的指令序列。(运算结果放回 AX中。)
相关文档
最新文档