当前位置:文档之家› 算术运算指令教案

算术运算指令教案

教案首页
课程名称
单片机技术与应用
年级
2010秋
专业
2010秋电子2班
授课教师
王陶丽
职称
中学二级
课型(大、小)

学时
4
授课题目(章、节)
第三章,第二节
基本教材或主要参考书
单片机技术与应用
教学目的与要求(或实训目的与要求):
要求学生掌握相关指令及程序编写
安全教育(或安全防患措施、注意事项):
清查人数,了解学生情况,并作好记录
•例如,已知(A)=0FH、(40H)=10H、(R0)=40H、(SP)=60H、(DPTR)=1FFC @R0
•INC SP
•INC DPTR
•其结果为:(A)=10H、(40H)=11H、(R0)=40H、(SP)=61H、(DPTR)=200H。
二、减法指令
•注意:在MCS-51单片机的指令系统中,没有不带Cy的减法指令。
•例2.11分析在执行如下减法指令后,PSW寄存器中各位的状态。
•SETB C;将Cy置位,即Cy←1
•MOV A,#48H
•SUBB A,#5CH
•解:为便于理解,我们分析一下减法运算的过程:
C6代表D6位向D7位的借位
•在减法过程中:Cy、C6、AC都发生借位,故它们全为1,OV= Cy⊕C6=0,P=0。
–……
–解:为便于理解,我们分析一下加法运算的过程:
C6代表D6位向D7位的进位
2、带进位加法指令(4条):
ADDC A,Rn;(A)←(A)+(Rn)+Cy
ADDC A,direct;(A)←(A)+(direct)+Cy
ADDC A,@Ri;(A)←(A)+((Ri))+Cy
ADDC A,#data;(A)←(A)+ data +Cy
–MOV 35H,A;将高8位相加的和送给35H
3、加1指令(5条):
INC A;(A)←(A)+1
INC Rn;(Rn)←(Rn)+1
INC @Ri;((Ri))←((Ri))+1
INC direct;(direct)←(direct)+1
INC DPTR;(DPTR)←(DPTR)+1
–这组指令不影响PSW的任何位,只是将各自对应单元内的数加1。
–(1)不带Cy加法指令(4条):
ADD A,Rn;(A)←(A)+(Rn)
ADD A,direct;(A)←(A)+(direct)
ADD A,@Ri;(A)←(A)+((Ri))
ADD A,#data;(A)←(A)+data
–这4条指令的功能是把A中的数与源操作数相加,其结果仍存在A中。相加过程中若D3位有进位则将辅助进位标志AC置位,若D7位有进位,则置位进位标志Cy,否则清0。
大体内容与时间安排,教学方法(或实训分组及实训具体安排):
理论讲解
教学重点、难点(或技术重点):
算术指令的具体应用
板书设计(或示范操作安排、工艺操作规程):
第二节算术运算指令
一、加法指令
二、减法指令
教学过程与步骤(操作训练程序)
一、加法指令
1.加法指令
–加法指令共有13条,由不带Cy加法、带Cy加法和加1指令等三种组成。
•1、带进位减法指令(4条):
SUBB A,Rn;(A)←(A)-(Rn)-Cy
SUBB A,direct;(A)←(A)-(direct)-Cy
SUBB A,@Ri;(A)←(A)-((Ri))-Cy
SUBB A,#data;(A)←(A)-data-Cy
–这4条指令的功能是把A中的内容减去源操作数所指出的内容和进位位Cy,差存入A中。如果被减数≥减数,进位位Cy被清0;如果被减数<减数,低字节需向高字节借位,因此进位位Cy将被置1。这4条指令对OV、AC、和P等3个状态位的影响方式与加法指令雷同,只不过是借位而非进位。
–2、减1指令(4条):
•DEC A;(A)←(A)-1
•DEC direct;(direct)←(direct)-1
•DEC Rn;(Rn)←(Rn)-1
•DEC @Ri;((Ri))←((Ri))-1
–这组指令可以使指令中源地址所指RAM单元中内容减1。和加1指令一样,减1指令也不影响PSW标志位状态,只是第一条减1指令对奇偶校验标志位P有影响。
–解:先将x和y各自的低8位进行不带进位相加,在把高8位进行带进位相加即可。
–MOV A,30H;先把x的低8位送给累加器A
–ADD A,32H;与y的低8位相加,和在A中,进位在Cy
–MOV 34H,A;将低8位相加的和送给34H
–MOV A,31H;先把x的高8位送给累加器A
–ADDC A,33H;带上低8位进位,高8位相加,Cy存高8位的进位
•如果程序中48H和5CH两个数被看作无符号数,则计算结果错误,因为Cy=1。如果48H和5CH两个数被看作有符号数,则因OV=0,无溢出发生,结果正确,因为EBH正好是15H的补码。
•如果你觉得上面的减法过程不好理解,你可以把减法运算变成被减数补码和减数补码相加。实际上计算机内部就是这么做的。过程如下:
–两个无符号数相加时,若Cy置位,说明和大于255(FFH)。两个有符号数相加时,当D6位或D7位之中只有一位产生进位时,溢出标志位OV置位,说明和产生了溢出,即大于+127或小于-128,结果错误。
–例2.9分析在执行如下加法指令后,PSW寄存器中各位的状态。
–MOV A,#48H
–ADD A,#5CH
辅助手段和时间分配
课堂小结(或训练小结)
作业布置(或课外活动安排)
课堂补充作业
下次课预习要点
逻辑运算指令
实施情况及分析(或实训效果、评分)
内容较繁琐,且复杂,用时较多,学生接收情况:基本能够达到预期效果
–注意,在MCS-51单片机中,不能对数据指针DPTR直接进行减1操作。
–例如,假设(A)=10H、(20H)=1AH、(R0)=30H、(30H)=1FH、(R3)=00H,如执行以下程序段:
–DEC A
–DEC 20H
–DEC R3
–DEC @R0
–程序执行后,(A)=0FH、(20H)=19H、(R0)=30H、(30H)=1EH、(R3)=0FFH。
–这4条指令的功能是把源操作数所指示的内容和A中的内容以及进位标志Cy相加,结果存入A中。运算结果对PSW中相关位的影响和不带进位加法指令相同。这类指令主要用在多字节加法运算中。
–例2.10有两个双字节无符号数x和y,x存放在内部RAM的31H(高8位)和30H(低8位)单元中,y存放在内部RAM的33H(高8位)和32H(低8位)单元中,设计一段程序计算x+y,将和存放在35H(高8位)和34H(低8位)中。
相关主题