- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
源:通用寄存器、存储器、立即数 是
目的:通用寄存器、存储器
TEST 目的,源 目的 AND 源
源:8位或16位立即数 是
目的:通用寄存器、存储器
注意事项:(1)二进制运算,按位操作; (2)执行位操作指令,CF均被清零。
逻辑移位指令
主讲:黄珍
第3章 8086的指令系统
10
3.4.3 位操作指令
逻辑运算指令 应用:常用于使操作数的某位为0或1, 或测试某位为0还是1。
主讲:黄珍
第3章 8086的指令系统
2
算术运算指令小结
加法 ADD ADC INC DAA AAA
减法 SUB SBB DEC DAS AAS CMP NEG
乘法 MUL IMUL
AAM
除法 DIV IDIV
AAD CBW CWD
影响状态标志; 参加运算的数可为:无符号/带符号整型数、压缩/非压缩BCD数; 带符号数做加减运算时要考虑溢出,做乘除运算是要采用不用的指令; BCD数运算要考虑调整结果; 乘除法指令中,乘数、被乘数、除数、被除数、商和余数的存放位置有规定; 乘法和除法指令的书写形式有要求。
1. 数据传输类 2. 算术运算类 3. 逻辑运算类 4. 串操作类 5. 程序控制类 6. 处理器控制类
主讲:黄珍
第3章 8086的指令系统
9
3.4.3 位操作指令
逻辑运算指令
指令格式
NOT 目的 AND 目的,源 OR 目的,源 XOR 目的,源
指令功能
是否影响 标志位
备注(重点)
目的←目的取反 目的←目的 AND 源 目的←目的 OR 源 目的←目的 XOR 源
A
汇编命令
U
反汇编命令
R
显示和修改寄存器命令
G
连续执行命令
T
单步执行命令
D
显示内存区内容
E
修改RAM单元内容的命令
Q
退出命令
说明:十六进制数后面不带字母H
主讲:黄珍
第3章 8086的指令系统
8
第3章 8086的指令系统
8086指令特点
8086的寻址方式
8086的指令格式及数据类型
8086的指令集
3.4.3 位操作指令
小结 逻辑运算
逻辑移位
NOT AND OR XOR TEST SHL SAL SHR SAR ROL ROR RCL RCR
共同特点: 可按二进制位进行操作; 逻辑运算指令按逻辑门电路的运算规则; 逻辑移位指令移出的位进入CF标志; 逻辑移位指令中,移动超过1次则用CL寄存器作为计数器; 执行位操作指令前,最好将CF清零。
20
第3章 8086的指令集(4)
4
主讲:黄珍
第3章 8086的指令系统
19
微机原理与接口技术——讲义
课堂练习
写出下面的指令序列中各条指令执行后AX的内容
MOV AX, 7856H MOV CL, 8 SAR AX, CL DEC AX MOV CX, 8 MUL CX NOT AL AND AL, 10H
主讲:黄珍
第3章 8086的指令系统
(4) MOV AL, 08 ADD AL, 08 AAA
(AX)=0106H
(2) MOV AX, 1234H PUSH AX POP BX
(AX)=1234H (BX)=1234H
(3) LEA DX, [2000H] MOV BX, DX
(BX)=2000H
(5) MOV AL, 48H ADD AL, 39H DAA
测试某位的值 用TEST指令,据标志判断某位的值。
第3章 8086的指令集(4)
3.4.3 位操作指令
逻辑运算指令 NOT AND OR XOR TEST
二进制运算,按位操作;CF被清零。
逻辑移位指令
移位计数值大于1时,需由CL给出
指令格式
指令功能
非 SHL 目的,计数值 逻辑左移 CF
1
使用DOS环境下的DEBUG调试
1)“开始”→“运行”,弹出对话框中输入“CMD”,进入DOS操作系统 2)输入“DEBUG”,即进入DEBUG调试环境。提示符为“—”,可使 用命令完成汇编、反汇编、单步调试、连续运行等操作。
微机原理与接口技术——讲义
使用DOS环境下的DEBUG调试
常用的DEBUG命令
0
循 SAL 目的,计数值 算术左移 CF
0
环 移
SHR
目的,计数值
逻辑右移
0
CF
位 SAR 目的,计数值 算术右移
CF
ROL 目的,计数值 循环左移 CF
循 ROR 目的,计数值
环
移 位
RCL
目的,计数值
RCR 目的,计数值 主讲:黄珍
循环右移
带进位循环左移
CF
带进位循环右移 第3章 8086的指令系统
使某位为1 用该位与1 相或,不变的位与0或。(OR指令)
使某位为0 用该位与0 相与,不变的位与1与。(AND指令)
使某位求反 用该位与1 异或,不变的位与0异或。(XOR指令) NOT指令可使某个数据求得反码,再加1便得到补码。
使某寄存器清零 XOR指令中源数据和目标数据相同,可使该寄存器清零。
(11) MOV AX, 34EBH MOV CL, 5FH DIV CL (AX)=398EH
(12) MOV AL, 08 MOV BL, 09 MUL BL AAM (AX)=0702H
(13) MOV BL, 9 MOV AX, 0702H AAD DIV BL (AX)=0008H
(14) MOV AL, 98H CBW (AX)=0FF98H
(AL)=87H
(6) AND AL, AL MOV AL, 80 ADC AL, AL
(AL)=0A0H (或160)
第3章 8086的指令集(4)
作业评讲——第3章
7.指出下面指令序列的执行结果 (7) MOV DX, 0FFFFH NEG DX (DX)=0001H
(9) SUB AX, AX AND DX, AX (DX)=0000H
主讲:黄珍
第3章 8086的指令系统
17
第3章 8086的指令集(4)
课堂练习
下面的程序段执行后,DX、X的内容是多少?
MOV DX, 0EFADH MOV AX, 1234H MOV CL, 4 SHL DX, CL MOV BL, AH SHL AX, CL SHR BL, CL OR DL, BL
主讲:黄珍
第3章 8086的指令系统
18
3
课堂练习
阅读下面程序段,指出程序的运行结果
…… MOV AX, 0ABCDH MOV DX, AX AND AX, 0F0FH AND DX, 0F0F0H MOV CL, 4 SHR DX, CL LEA BX, [2000H] MOV [BX+0], AL MOV [BX+1], DL MOV [BX+2], AH MOV [BX+3], DH ……
主讲:黄珍
第3章 8086的指令系统
3
算术运算指令综合例题
【例5】 计算(a*b+c)/a的结果。其中a、b、c为16位带符号 数,存放在A、B、C三个单元中,要求结果的商存入AX寄存器, 余数存入DX寄存器。
MOV AX, A IMUL B MOV BX, AX MOV CX, DX MOV AX, C CWD ADD AX, BX ADC DX, CX IDIV A
主讲:黄珍
第3章 8086的指令系统
15
教学提示
在正确理解每条指令的功能 基础上,可以阅读和编写有 实际意义的程序段
课堂练习
7.指出下面指令序列的执行结果 (8) MOV BL, 0B8H ROR BL, 1 (BL)=5CH (CF)=0
(10)MOV CL, 3 MOV AH, 42H SHR AH, CL (AH)=08H (CF)=0
微机原理与接口技术
授课时间:1-14周 授课教师:黄 珍 自动化学院 联系方式:h-zhen@
13277936112
微机原理与接口技术——讲义
第3章 8086的指令系统
8086指令特点
8086的寻址方式
8086的指令格式及数据类型
8086的指令集
1. 数据传输类 2. 算术运算类 3. 逻辑运算类 4. 串操作类 5. 程序控制类 6. 处理器控制类
; 取操作数a ; a*b,乘积为32位 ; 乘积暂存CX,BX
; 取操作数c ; 符号扩展为32位 ; 32位加法
; 除以a, 商在AX中, 余数在DX中
作业评讲——第3章
7.指出下面指令序列的执行结果 (1) MOV DX, 2000H MOV BX, 1000H XCHG BX,DX (BX)=2000H (DX)=1000H
CF
CF 12
2
逻辑移位指令例题
【例】 将AX寄存器中的带符号数除以8。 MOV CL, 3 SAR AX, CL
【例】 如果(AX)=0012H,(BX)=0034H,要求把它们装配在 一起形成(AX)=1234H,则指令序列如下:
MOV CL, 8 ROL AX, CL ADD AX, BX
微机原理与接口技术——讲义
3.4.3 位操作指令
• 利用带进位循环移位指令将两个寄存器或存储器单元组合 起来一起移位。
[例]:将DX、AX组合起来构成32位寄存器向左移一位。 如下图所示:
15 DX
0 15 AX
0
32位寄存器向左移一位