【计算机】第08讲 算术运算类指令
第八讲算术运算类指令
教学方法: 讲授法
授课时数: 2学时
教学目的:
1、熟悉数据运算类指令的操作方式特点
2、理解二-十进制调整指令的含义
3、熟练掌握加法指令
教学重点:
加法、减法指令
教学难点:
二-十进制调整指令
教学环节:
考勤 组织教学:
复习提问:
、、、、、()、(())的含义,direct@Ri@DPTRRn#dataxx
:?算术运算类指令 3-3 新授课
包括:加、减、乘、除;加一、减一。
一、加法指令
,;()()()以下类同。ADD ARn A A+ Rn
,ADD Adirect
,ADD A@Ri
,ADD A#data
无符号数相加时:若,说明有溢出(其值> 255)。 C = 1 带符号数相加时:若OV = D7c?D6c = 1,说明有溢出。
ADDC A,Rn ;(A) (A)+(Rn)+(C),以下类同。
ADDC A,direct
ADDC A,@Ri
ADDC A,#data
上述四条指令多用于多字节数相加。
INC A ;(A) (A)+1 ,以下类同。 INC Rn
INC direct
INC @Ri
INC DPTR
例1、设(R0)= 7FH; (7EH)= 40H
执行:INC @R0
INC R0
INC @R0 后,
(R0)= 7FH; (7EH)= 00H; (7FH)= 41H.
;二——十进制调整指令。DA A
执行过程中,能根据加法运算后,累加器中的值和中的及标志位的状况自CPUPSWACC动选择一个修正值(、、、)与原运算结果相加,进行二——十进制调整00H06H60H66H
。
选择修正值的规则:
()> 9时或(AC)= 1时, () ()A3 ~ 0A3 ~ 0A3 ~ 0+6 ()> 9 或 (C) = 1时, ()()A7 ~ 4A7 ~ 4 A7 ~ 4+ 6
例、设()为的压缩的码数,(),()2A = 56H 56BCDR3= 67HCY=1
执行, ADDC AR3
DA A
结果为: 124
注意:)指令只能跟在加法指令后面使用;1DA
)调整前参与运算的两数是码数; 2BCD
)指令不能与减法指令配对使用,但可以实现对中压缩 3DAABCD
减一操作。
例、设()(压缩码数),执行:3A=30HBCD
, ADD A#99H
DA A
后,便实现了,的操作。 30 1 = 29
例、两个位码相加,一个存放在()();另一个存放在44BCD31H30H
()();和数拟回存在()()中,试编程实现之。 33H32H31H30H 解:,MOV R0#30H
, MOV R1#32H
, MOV A@R0
, ADD A@R1
DA A
, MOV @R0A
INC R0
INC R1
, MOV A@R0
, ADDC A@R1
DA A
, MOV @R0A
二、减法指令
,;()(),(),(),以下类同。SUBB ARn A ARnC
,SUBB Adirect
,SUBB A@Ri
,SUBB A#data
注意:减法之前先清零。C
;()(),,以下类同。DEC A A A1 DEC Rn
DEC @Ri
DEC direct
例、设(),在内中,(),()5R0=7FHRAM7EH=00H7FH=40H
执行: DEC @R0
DEC R0
DEC @R0
结果为:(),(),()。 R0= 7EH7EH=0FFH7FH=3FH
三、乘法和除法指令
乘法:
;()×(),积的低位在中,积的高位在中;MUL AB AB8A8B
总为。 C0
除法:
;()?(),商在中,余数在中。DIV AB ABAB
若(),则结果不定,(),()。 B= 0 OV= 1C= 0
例、试将中的二进制数转换为位码,其中,百位数存放于单6A3BCD31H
元,十位数和个位数压缩后存于单元中。30H 解;,MOV B#100
DIV AB
, MOV 31HA
, MOV A#10
, XCH AB
DIV AB
SWAP A
, ADD AB
, MOV 30HA
小结:算术运算类指令都有哪些类型,
版书
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
一、加法指令 二、减法指令
三、乘法指令 1、…. 1、……..
1、主电源(VCC 、2、……. 2、……..
VSS) 3、
2、外接晶振 4、…
四、除法指令 小结: 1、……. 1、…….. 2、……. 2、……. 3、…….. 3、 …. 作业: