微机原理第3章 指令系统3-2(1)
微机原理第三章作业答案

3.1 简要分析8086的指令格式由哪些部分组成,什么是操作码?什么是操作数?寻址和寻址方式的含义是什么?8086指令系统有哪些寻址方式?【解答】8086的指令格式由操作码和操作数字段组成。
操作码:要完成的操作。
操作数:参与操作的对象。
寻址:寻找操作数或操作数地址的过程。
寻址方式:指令中给出的找到操作数或操作数地址采用的方式。
8086指令系统的寻址方式主要有立即数寻址、寄存器寻址、存储器寻址和I/O端口寻址。
其中,存储器寻址可进一步分为直接寻址、寄存器间接寻址、寄存器相对寻址、基址变址寻址、相对基址变址寻址;I/O端口指令IN和OUT使用的端口寻址方式有直接寻址和间接寻址。
3.2 设(DS)=2000H,(ES)= 2100H,(SS)= 1500H,(SI)= 00A0H,(BX)= 0100H,(BP)= 0010H,数据变量VAL的偏移地址为0050H,请指出下列指令的源操作数字段是什么寻址方式?它的物理地址是多少?(1) MOV AX,21H (2) MOV AX,BX (3) MOV AX,[1000H](4) MOV AX,VAL (5) MOV AX,[BX] (6) MOV AX,ES:[BX](7) MOV AX,[BP] (8) MOV AX,[SI] (9) MOV AX,[BX+10](10) MOV AX,VAL[BX] (11) MOV AX,[BX][SI] (12) MOV AX,VAL[BX][SI]【解答】(1)MOV AX,21H立即寻址,源操作数直接放在指令中(2)MOV AX,BX寄存器寻址,源操作数放在寄存器BX中(3)MOV AX,[1000H]直接寻址,EA = 1000H,PA =(DS)×10H+EA = 2000H×10H+1000H = 21000H(4)MOV AX,VAL直接寻址,EA = [V AL] = 0050H,PA =(DS)×10H+EA = 2000H×10H+0050H = 20050H(5)MOV AX,[BX]寄存器间接寻址,EA =(BX)= 0100H,PA =(DS)×10H+EA = 2000H×10H+0100H = 20100H(6)MOV AX,ES:[BX]寄存器间接寻址,EA =(BX)= 0100H,PA =(ES)×10H+EA = 2100H×10H+0100H = 21100H(7)MOV AX,[BP]寄存器间接寻址,EA =(BP)= 0010H,PA =(SS)×10H+EA = 1500H×10H+0010H = 15010H(8)MOV AX,[SI]寄存器间接寻址,EA =(SI)= 00A0H,PA =(DS)×10H+EA = 2000H×10H+00A0H = 200A0H(9)MOV AX,[BX+10]相对寄存器寻址,EA =(BX)+10D = 0100H+000AH= 010AH,PA =(DS)×10H+EA = 2000H×10H+010AH = 2010AH(10)MOV AX,VAL[BX]相对寄存器寻址,EA =(BX)+[V AL]= 0100H+0050H= 0150H,PA =(DS)×10H+EA = 2000H×10H+0150H = 20150H(11)MOV AX,[BX][SI]基址变址寻址,EA = (BX)+(SI)= 0100H+00A0H = 01A0H,PA = (DS)×10H +EA = 2000H×10H+01A0H = 201A0H(12)MOV AX,VAL[BX][SI]相对基址变址寻址,EA = (BX)+(SI)+[V AL]= 0100H+00A0H+0050H = 01F0H,PA =(DS)×10H+EA = 2000H×10H+01F0H = 201F0H3.3 给定寄存器及存储单元的内容为:(DS) = 2000H,(BX) = 0100H,(SI) = 0002H,(20100) = 32H,(20101) = 51H,(20102) = 26H,(20103) = 83H,(21200) = 1AH,(21201) = B6H,(21202) = D1H,(21203) = 29H。
微机原理与接口技术第3章(指令部分)

例:编程计算 0+1+2+3+4+ -----10 编程计算
MOV AL,0 , MOV BL,1 , MOV CL,10 NEXT:ADD AL,BL , INC BL DEC CL JNZ NEXT ;CL≠0 转 ≠ HLT
1
3.1 概述 一、指令包含的基本内容
12
(3)相对寻址
例: MOV AX, [SI+100H]
;结果 : 结果 AX (DS×16+SI+100H) ×
例:MOV AL,[BP+DATA] MOV AL, DATA[BP] ; DATA是符号表示的位移量。 表示的位移量 是符号表示的位移量。
结果 : AL (SS×16+BP+DATA) ×
11
(2)间接寻址 例:MOV AX,[BX] , •结果 : AX 结果 (DS×16+BX) ×
...
3000H:0000H : • EA= BX /SI /DI , 物理地址=DS*16+EA 物理地址 • EA= BP 物理地址=SS*16+EA 物理地址 :1234H :50H :1235H :30H
1. 做什么操作? 做什么操作? MOV ,ADD, OR,CMP等助记符 等助记符
2. 操作的数据是什么? ①CPU内的寄存器; 操作的数据是什么? 内的寄存器 内的寄存器; 内存的某一个或几个单元 单元; ②内存的某一个或几个单元; 结果放在那里? 3. 结果放在那里? 立即数。 ③立即数。 端口; 端口 ④I/O端口; 下一条指令在哪里? 4. 下一条指令在哪里? IP←IP+1
微机原理第3章-指令系统

▲按给出偏移地址方式的不同,分为以下5种: 寄存器间接寻址 寄存器相对寻址 基址加变址寄存器 相对基址加变址寄存器 MOV AL, [ BX ] MOV AL, [ BX + 10H ] MOV AL, [ BX + SI ] MOV AL, [ BX + SI + 10H ]
(1)寄存器间接寻址
寄存器寻址方式的操作数是寄存器的值,指令中直接 使用寄存器名,包括8位或16位通用寄存器和段寄存器。可 使用的16位寄存器:AX、BX、CX、DX、SI、DI、SP、 BP;其中:AX、BX、CX、DX可分成两8位使用。
例: MOV AX,CX
;(AX)
(CX)
INC CX
;(CX)
(CX)+1
3.直接寻址(Direct Addressing)
0002
AH
AL
默认段寄存器的关系: ① 使用BX、SI、DI,默认段寄存器为DS
(BX)
PA = ( DS )×10H + (SI) (DI)
② 使用BP,默认段寄存器为SS PA = ( SS )×10H + ( BP )
使用BX、SI、DI的寄存器寻址,默认段寄存器为DS
寄存器组 AH AL BH BL CH CL DH DL SI DI BP SP AX BX CX DX DS ES SS CS IP 地 址 加 法 器
运 算 器
控制总线CB
码
器
PSW标志 寄存器
执行部件控制电路
CPU
总线
内存
例: MOV AX , [ BX + SI ]
若 ( DS ) = 4000H
( BX ) = 2000H ( SI ) = 100H 则内存操作数的物理地址为:
微机原理与接口技术习题答案

第3章8086/8088指令系统与寻址方式习题3.3 8086系统中,设DS=1000H,ES=2000H,SS=1200H,BX=0300H,SI=0200H,BP=0100H,VAR的偏移量为0600H,请指出下列指令的目标操作数的寻址方式,若目标操作数为存储器操作数,计算它们的物理地址。
(1)MOV BX,12 ;目标操作数为寄存器寻址(2)MOV [BX],12 ;目标操作数为寄存器间址 PA=10300H(3)MOV ES:[SI],AX ;目标操作数为寄存器间址 PA=20200H(4)MOV VAR,8 ;目标操作数为存储器直接寻址 PA=10600H(5)MOV [BX][SI],AX ;目标操作数为基址加变址寻址 PA=10500H(6)MOV 6[BP][SI],AL ;目标操作数为相对的基址加变址寻址 PA=12306H (7)MOV [1000H],DX ;目标操作数为存储器直接寻址 PA=11000H(8)MOV 6[BX],CX ;目标操作数为寄存器相对寻址 PA=10306H(9)MOV VAR+5,AX ;目标操作数为存储器直接寻址 PA=10605H3.4 下面这些指令中哪些是正确的?那些是错误的?如果是错误的,请说明原因。
(1)XCHG CS,AX ;错,CS不能参与交换(2)MOV [BX],[1000] ;错,存储器之不能交换(3)XCHG BX,IP ;错,IP不能参与交换(4)PUSH CS(5)POP CS ;错,不能将数据弹到CS中(6)IN BX,DX ;输入/输出只能通过AL/AX(7)MOV BYTE[BX],1000 ;1000大于255,不能装入字节单元(8)MOV CS,[1000] ;CS不能作为目标寄存器(9)MOV BX,OFFSET VAR[SI] ;OFFSET只能取变量的偏移地址(10)MOV AX,[SI][DI] ;SI、DI不能成为基址加变址(11)MOV COUNT[BX][SI],ES:AX ;AX是寄存器,不能加段前缀3.7 设当前 SS=2010H,SP=FE00H,BX=3457H,计算当前栈顶的地址为多少?当执行PUSH BX 指令后,栈顶地址和栈顶2个字节的内容分别是什么?当前栈顶的地址=2FF00H当执行PUSH BX 指令后,栈顶地址=2FEFEH(2FEFEH)=57H(2FEFFH)=34H3.8 设DX=78C5H,CL=5,CF=1,确定下列各条指令执行后,DX和CF中的值。
微机原理 单片机 第3章 80C51的指令系统

(2)指令编码字节少。单字节指令有49 条,双字节指令有45条,三字节指令仅 有17条。 (3)位操作指令丰富,这使得80C51单 片机的控制功能方便灵活。
<
>
返回
三、指令编码格式
[标号]: 操作码 [目的操作数] [,源操作数] [;注释]
标号:表示指令的符号地址,可作为转移的目 标地址。 操作码:用来规定该指令要执行的操作性质, 如MOV,ADD,ORL,LJMP等,操作码通常可用1个 字节表示。 操作数:表示在执行过程中所完成的操作对象, 根据指令功能,可有0、1、2、3个操作数,用12个字节表示。 注释:方便用户阅读。
< > 返回
二、指令分类
80C51单片机系统共有111条指令,按指令 功能分为: ♦数据传送(28条) ♦算术运算(24条) ♦逻辑运算(25条) ♦控制转移(17条) ♦位操作指令(17条) 其指令系统的特点是: (1)执行时间短。单机器周期指令有64条,双 机器周期指令有45条,而四机器周期指令仅有 乘、除法2条。当主频为12MHz时,典型指令执 行时间为1us。
+5V C3 K R1 RST
89C51
相应程序:MOV P1,#00H;灯亮
ACALL delay ;延时 MOV P1,#01H;灯灭 ACALL delay
学习指导和要求
• 理解和掌握指令的 三种编码格式; • 熟练掌握七种寻址 方式; • 熟记各种类型的指 令格式及功能,并 能编写简单程序。
80C51的机器指令按编码的字节数可分为 如下三种指令编码格式:
1、单字节指令(49条)
7 0
opcode 7 opcode 3 2 reg 0 0 0 0 0 1 1 1 1
微机原理第3章2

(2)使CX的b11, b7, b3 位清零。
(3)测试DX的b0 、 b8 位是否同是1.
(4 )以下可使寄存器AX和CF同时清零的指令 是
A. SUB AX, AX B. XCHG AX, AX
C. PUSH AX
D. XOR AX, AX
21
例3—28 统计负数的个数
从4000 H开始的单元中存放有32个有符号数, 统计负数的个数,存人 BUFFER单元中。
格式:
NOT OPRD
操作:
操作数按位取反再送回原操作数
注:
指令中的操作数不能是立即数,只能是 MEM/REG
指令的执行对标志位无影响
例:NOT BYTE PTR[BX] 16
(4)“异或”运算指令
格式:
XOR OPRD1,OPRD2
操作:
两操作数相“异或”,结果送目标地址
AL
00011010
CF
0
CF
0
CF
0
29
(3) 算术右移指令SAR
格式: SAR OPRD,I SAR OPRD,CL
有符号数 的右移
CF
30
算术右移 符号位保持不变
31
非循环移位指令的应用
左移可实现乘法运算 右移可实现除法运算
32
例3-30 16位无符号数 乘以10
8086指令系统(2)
1
三、逻辑运算和移位类
逻辑运算
移位操作
非循环移位 循环移位
2
逻辑运算和移位指令
3
指令类型
逻辑运算
与,或,非,异或
移位操作
非循环移位,循环移位
4
1、逻辑运算指令
逻辑运算指令对操作数的要求大多与ADD指令相同 。“非”运算指令要求操作数不能是立即数;(“非” 指令同INC,其他指令搭配规则同ADD)
微机原理 3-3指令系统Ⅱ算术上

(3) 主要用于多字节运算中,可以将低字节运算的进 主要用于多字节运算中, 位加入到高字节运算中. 位加入到高字节运算中.
(4) 带符号数和无符号数都溢出
二进制数 1 0 0 0 0 1 1 1 相 加 + 1 1 1 1 0 1 0 1 + 看作无符号数 135 245 + 看作带符号数 - 121 - 11
CF=1
0 1 1 1 1 1 0 0 CF=1,OF=1
380 CF=1
- 132 OF=1
标志
溢出
无符号数溢出
溢出 现结果为 124, 124, 结果错
溢出 现结果为124 124, 现结果为 124 , 结果错
微机原理与接口技术 2、带进位加法指令ADC 带进位加法指令ADC 格式> dest, <格式>:ADC dest,src
第3章 指令系统 Ⅱ
<功能>:(dest)←(dest)+(src)+CF 功能>: dest) >:( dest) src) <注解>: 注解>: (1) CF: 进位标志CF的现行值(上条指令CF值) 进位标志CF的现行值(上条指令CF CF的现行值 CF值 (2)合法形式有 (2)合法形式有: 合法形式有:
微机原理与接口技术 计算 3B74AC60F8H+20D59E36C1H=? 3B74AC60F8H+20D59E36C1H=? 两数存放在:DATA1,DATA2的开始单元 两数存放在:DATA1,DATA2的开始单元
微机原理第3章指令

第3章指令系统机器指令:能指示计算机完成基本操作的二进制代码指令系统:CPU可执行的机器指令的集合。
为了方便编程,人们又把完成特定操作的机器码用特定的符号表示,这就产生了符号表示的机器指令-------指令助记符。
第3章8086指令系统机器指令由二进制代码组成,一条指令包括操作码和操作数(或地址)两部分,操作码指明该指令进行何种操作,操作数用来说明操作对象。
个别指只有操作码没有操作数。
由于不同的指令所表达的信息不尽相同,因此指令的长度即机器码字节数也有长有短。
8086指令系统的指令是可变长指令(1~6个字节)3.18086CPU寻址方式重点是存储器寻址存放在存储器中的数据称为存储器操作数。
指令中需要确定存储单元的段地址、偏移地址(亦称有效地址EA),以及存储器操作数的类型。
段地址存放在段寄存器中,确定段地址实际上就是确定段寄存器,采用的方法是默认或添加段超越前缀。
生成存储器有效地址有多种方法,这些方法形成了对存储器操作数的多种寻址形式。
确定数据类型的方法是源操作数和目的操作数类型一致原则或附加类型说明。
立即寻址方式中操作数也在存储器中,但立即寻址中的立即数包含在指令中,随程序存放在代码段,CPU在取指令时就获得操作数。
这里所说的存储器操作数是存放在数据段、附加段或堆栈段中,取指令时也不会被立即取到。
段超越前缀变量的定义在第四章详细介绍直接寻址:MOV AX,[2000H];寄存器间接寻址:MOV ES:[DI],AH基址寻址:MOV BYTE PTR[BX+1200H],10变址寻址:MOV DL,[SI+2AH]基址加变址寻址:MOV CL,[BX+SI+5]MOV AX,[BP+DI]MOV CL,[BX+SI+5]的等价形式:MOV CL,5[BX][SI]、MOV CL,5[BX+SI]、MOV CL,[BX][SI+5]MOV CL,[BX+SI-5]等价于MOV CL,[BX+SI+65531] MOV CL,[BX-SI]MOV CL,[SI+DI]错误!MOV[BX+DI],1000H正确吗?3.2.1数据传送类指令传送指令把数据从一个位置传送到另一个位置使用MOV指令应注意1.立即数只能作为源操作数2.无存储器之间直接传送与交换的指令3.没有用立即数对段寄存器直接赋值的指令4.段寄存器之间无传送指令5.两个操作数的类型要一致6.要能确定是字节还是字操作mov ah,al mov bvar,ch mov ax,bx mov ds,ax mov al,[bx]下列MOV指令正确吗?MOV AL,050AHMOV SI,DLMOV[BX+SI],255MOV DS,100HMOV[BX],[SI]MOV[BX+SI],bvarbvar是一个已定义过的字节变量 MOV CS,[SI]将数据段中偏移地址为2000H、2001H、2002H的3个字节的存储单元置数FFH。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
16
表3-6 算术运算指令
加法 ADD ADC INC AAA 加法 带进位的加法 增量 加法的ASCII调整 SUB SBB DEC NEG 减法 减法 带借位的减法 减量 取负
DAA
DIV IDIV AAD CBW
加法的十进制调整
除法 无符号数除法 整数除法 除法的ASCII调整 把字节转换成字
CMP
AAS DAS MUL IMUL
比较
减法的ASCII调整 减法的十进制调整 乘法 无符号数乘法 整数乘法
CWD
把字转换成双字
AAM
乘法的ASCII调整
17
例3-31 ADD AL,18H ADC AL,CL
ADC AX,DX
ADD AL,COST[BX] ADD COST[BX],BL
18
例3-32 对两个数5EH和3CH求和,并分析加法运算 指令执行后对标志位的影响。 MOV AL,5EH 0101 1110 MOV BL,3CH + 0011 1100 ADD AL,BL 1001 1010 运算后标志位: ZF=0-----零标志,运算结果非零 AF=1----半进位标志,产生进位为1 CF=0----进位标志,未产生进位为0 SF=1-----符号标志 PF=1-----奇偶标志,结果中有偶数个1为1 OF=1-----溢出标志,符号相同结果相反。
8
例3-23 下面是IN指令的具体例子。 IN AL,0F1H ;AL←F1H端口读一个字节 IN AX,80H ;AL←80H口的内容 ;AH←81H口的内容 MOV DX,310H ;端口地址310H→DX中 IN AL,DX ;AL←310H端口内容 例3-24 IN指令中也可以使用符号表示地址。 ATOD EQU 54H ;将A/D地址设为54H IN AL,ATOD;将54H→AL中
输入输出指令
2
立即数 存 储 器 段寄存器 CS,DS,ES,SS
通用寄存器
AX BX CX DX SI DI SP BP AH AL BH BL CH CL DH DL
图3-8 MOV指令允许传送数据的路径
3
例3-15 MOV AL,‘B’ ;ASCII码B→AL。 例3-16 MOV AX,DATA MOV DS,AX 注意:16位立即数不能被直接送到 DS(段寄存器)中。
7
例3-22 若十进制数字0~9的LED七段码对照如表34所示。试用XLAT指令求数字5的七段码值。
十进制数字 七段显示码 十进制数字 七段显示码 0 1 2 3 4 40H 79H 24H 30H 19H 5 6 7 8 9 12H 02H 78H 00H 18H
TABLE DB 40H,79H,24H,30H,19H DB 12H,02H,78H,00H,18H ….. MOV AL,0 MOV BX,OFFSET TABLE XLAT TABLE
第三章 8086寻址方式和 指令系统(2)
1
表3-3 数据传送指令 通用数据传送指令
MOV PUSH POP XCHG XLAT IN OUT 字节或字传送 入栈指令 出栈指令 交换字或字节 表转换 输入 输出 LAHF SAHF PUSHF POPF LEA LDS LES
地址目标传送指令
装入有效地址 装入数据段寄存器 装入附加段寄存器 标志传送指令 标志寄存器低字节装入AH AH内容装入标志寄存器低字节 标志寄存器入栈指令 出栈,并送入标志寄存器
DI
2000:0046
2000:0040
FE
25
20 31
偏 移 量
根据右图所示BX=0046H
12
例3-29 设DS=1200H, (12450H)=F346H, (12452H)=0A90H 执行指令 LDS SI,[450H]后, SI=F346H,DS=0A90H
1200:0000
执行前DS
执行前DS
0100:0020 00 03
偏 移 量
常 用
执行后DI
03 00
执行后ES
05 00
00 05
14
(1)LAHF标志送到AH指令
15
11 10 O D
9 I
8 T
7 S
6
5
4
3
2
1
0
Z × A × P × C
FLAGS AH
15
算术运算指令可处理4种类型的数:见表3-5。
表3-5 4种类型数的表示方法 二进制数 (B) 0000 0111 1000 1001 1100 0101 十六进制 (H) 07 89 C5 无符号二 进制(D) 7 137 197 带符号二 进制(D) +7 -119 -59 非压缩 十进制 7 无效 无效 压缩 十进制 07 89 无效
103
103
溢出
运算后标志位ZF=0,AF=1,CF=0,SF=0,PF=0, OF=1。
29
例3-45 若AL=BCD 3,CL=BCD 8,求两数之差。 显然结果为BCD 5,但有借位,运算过程如下:
SUB AL,CL ; 0000 0011….3 ; - 0000 1000….8 ;--------------------AAS ; 1111 1011….低4位 >9 ; - 0000 0110…减6调整 ;--------------------; 1111 0101 ; ∧ 0000 1111…清高4位 ;---------------------; 0000 0101….AL=5 ;结果为5,CF=1,表示有借位
9
例3-25 下面是OUT指令的具体例子。
OUT 85H,AL
;85H端口←AL内容
MOV DX,0FF4H
OUT DX,AL
;FF4H端口←AL内容
MOV DX,300H ;端口地址310H→DX中
OUT DX,AX
;300H端口←AL内容
;301H端口←AH内容
10
例3-26 设SI=1000H,DS=5000H,(51000H)=1234H
STRING
4
例3-17 MOV DX,OFFSET ARRAY OFFSET为属性操作符,表示把 ARRAY的地址值→DX中。DX=0005 例3-18 MOV AL,AREA1 ;AL←AREA1的内容14H MOV AREA2,AL ;0002H单元←14H 例3-19 MOV AX,TABLE[BP][DI] 将地址为16×SS+BP+DI+TABLE的 字存储单元中内容送进AX。
24
例3-39 SUB AX,BX ;AX←AX-BX SUB DX,1850H ;DX←DX-1850H SUB BL,[BX] ;BL-DS:(BX)→BL 例3-40 SBB AL,BL
;AL←AL-BL-CF
25
例3-41 DEC BX ;BX←BX-1 DEC WORD PTR[BP] ;堆栈段中位于[BP]偏置处的的字减1。
26
例3-42 NEG AX ;将AX中的数值取负(正数变负数,负数变正数) NEG BYTE PTR[BX] ;对数据段中位于[BX]偏置处的字节取负。
27
例3-43 CMP AL,80H ;AL与80H作比较 CMP BX,DATA1 ;BX与数据段中偏移量为DATA1处的字比较 比较指令主要用在希望比较两个数的大小,而 又不破坏原操作数的场合。
执行指令 LEA BX,[SI]后,BX=1000H
执行指令 MOV BX,[SI]后,BX=1234H 有时,LEA指令也可用取偏移地址的MOV指令代。 例3-27 LEA BX,TABLE
MOV BX,OFFSET TABLE
但有时,必须用LEA指令,不能用MOV取代。
11
例3-28 某数组含20个元素,每 个元素占一个字节,序号为0~19。 设DI指向数组开始,如要把序 号6的元素的偏移地址送到BX中, 不能直接用MOV指令实现。 LEA BX,6[DI]
2000:0000 2000:0000 2000:0000 2000:0000
2000:003C
FE 25
←SP
FE 25 2000:003E 20
2000:003E
20
←SP
20
←SP
31
2000:0040 ←SP 2000:0040 2000:0040
31
2000:0040
31
6
例3-21
XCHG AX,[BX+200H]
19
例3-33 下面是INC指令的两个应用的例子。
INC BL
INC CX
例3-34
INC BYTE PTR[BX] INC WORD PTR[BX]
20
例3-35 若AL=BCD 9,BL=BCD 5,求两数之和。 设AH=0,则运算过程如下:
ADD AL,BL ; 0000 1001….9 ; + 0000 0101….5 ;--------------------AAA ; 0000 1110…低4位 >9 ; 0000 0110…+6调整 ;--------------------; 0001 0100 ; ∧ 0000 1111…清高4位 ;---------------------; 0000 0100….AL=4 ;CF=1,AF=1,AH=1,结果AX=0104H,非压缩BCD14
28
例3-44 设AL=1011 0001B,DL=0100 1010B, 若 要求AL-DL,在执行SUB AL,DL的结果取决于运 算数的性质。运算过程如下:
二进制减法 1011 0001 — 0100 1010 当成无符号数 177 — 74 当成带符号数 -79 — 74