指令5单片机,汇编

上传人:kms****20 文档编号:50890600 上传时间:2018-08-11 格式:PPT 页数:24 大小:754KB
返回 下载 相关 举报
指令5单片机,汇编_第1页
第1页 / 共24页
指令5单片机,汇编_第2页
第2页 / 共24页
指令5单片机,汇编_第3页
第3页 / 共24页
指令5单片机,汇编_第4页
第4页 / 共24页
指令5单片机,汇编_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《指令5单片机,汇编》由会员分享,可在线阅读,更多相关《指令5单片机,汇编(24页珍藏版)》请在金锄头文库上搜索。

1、单片机原理及应用复习复习数据传送类指令(共29条) 1、内RAM传送 16条 2、外RAM传送 4条 3、ROM传送(即查表)2条-MOVMOV-MOVXMOVX-MOVCMOVC单片机原理及应用一.试按下列要求传送数据 1. 将R5中的数据传送到50H。 2.将R7中的数据传送到R6。 3.将立即数40H传送到以R0中内容为地址的存储单元中。题1答MOV 50H, R5MOV 50H, R5题2答MOV A, R7MOV R6, A题3答MOV A, #40HMOV A, #40HMOV R0, AMOV R0, A练习练习单片机原理及应用4. 4.将片外将片外RAM50HRAM50H中的数

2、据传中的数据传 送到片内送到片内RAM40HRAM40H单元中。单元中。 5. 5.将将R1R1中的数据传送到以中的数据传送到以R0R0中中内容为地址的存储单元中。内容为地址的存储单元中。题4答MOV R0, #50HMOV R0, #50H MOVX A, R0MOVX A, R0 MOV 40H, AMOV 40H, A题5答MOV A, R1MOV R0, A单片机原理及应用4 4、数据交换指令、数据交换指令1 1)XCH XCH A A,RnRn ;(;(A A)(RnRn) 2 2)XCH XCH A A,directdirect;(;(A A)(directdirect) 3 3)

3、XCH XCH A A,RiRi;(;(A A)(RiRi) 4 4)XCHD XCHD A A,RiRi;(;(A A)3 300(RiRi)3 30 0 5 5) SWAP SWAP A A ;(;(A A)7 744(A A)3 30 0注意注意:以上:以上5 5条数据交换指令的目的操作数均为累加器条数据交换指令的目的操作数均为累加器A A。前三条指令是将累加器A的内容和源操作数内容相互交换; 后两条指令是半字节交换指令, 最后一条指令是将累加器A的高 4 位与低 4 位之间进行交换, 而另外一条指令是将累加器 A 的低 4 位内容和(Ri)所指出的内部RAM单元的低 4 位内容相互交换

4、。 单片机原理及应用例例设(R0)=30H,(30H)=4AH,(A)=28H,则执行下列结果:例例 :设(R0)=30H , (A)=F0H, (30H)=46H, 则执行下列结果:单片机原理及应用例:已知(A)=30H,(R0)=40H,编写程序实现A与R0内容的互换。解1: MOV 20H, AMOV 20H, AMOV A, R0 MOV A, R0MOV R0, 20H MOV R0, 20H解2: XCH A, R0已知(A)=12H、(R1)=30H,(30H)=34H,分析指令执行的结果XCH A, R1解:解: (A A)=34H=34H,(,(30H30H)=12H=12H

5、,R1R1的内容保持不变的内容保持不变单片机原理及应用5 5、堆栈操作指令、堆栈操作指令 1)PUSH direct ;SP(SP)+1,(SP)(direct)说明说明:首先把SP的内容加1,使SP指向新的单元,然后把direct所指定的单 元中的数据传入其中。2)POP direct ;(SP)direct,SP(SP)-1 说明:说明:首先将SP中的值作为地址,并将此地址中的数送到POP指令后面的那 个direct中,然后SP减1。堆栈操作有进栈和出栈操作,即压入和弹出数据,常用于保护和恢复堆栈操作有进栈和出栈操作,即压入和弹出数据,常用于保护和恢复 现场。现场。单片机原理及应用例例 设

6、堆栈指针为设堆栈指针为30H30H,为了保护现场把,为了保护现场把A A和和B B的内容压入堆栈保护,然后的内容压入堆栈保护,然后 根据需要再把两者弹出。设根据需要再把两者弹出。设A A中为中为30H30H,B B中为中为01H01H。MOV SP, #30HPUSH ACCPUSH BPOP BPOP ACC;30H SP,SP=30H设堆栈指针为30H;SP+1 SP=31H,A (SP)即A (31H), (31H)=30H;SP+1 SP=32H,B (SP)即B (32H), (32H)=01H;SP B即(32H)B,B=01H,SP-1 SP=31H;SP ACC即(31H)A,

7、A=01H,SP-1 SP=30H单片机原理及应用若在外ROM1000H单元依次存放09的平方值,数据指针DPTR的值为 2000H,用查表指令取得1003H单元中的数据后,要求保持DPTR的值不变。解: MOV A, #03HPUSH DPHPUSH DPLMOV DPTR , #1000H#1000HMOVC A, A+DPTRPOP DPLPOP DPH#1000H#1000H单片机原理及应用例:写出以下单片机程序的运行结果例:写出以下单片机程序的运行结果 MOV 30H, #12H MOV 31H, #23H PUSH 30H PUSH 31H POP 30H POP 31H结果是结果

8、是30H30H中的值变为中的值变为2323,而,而31H31H中的值则变为中的值则变为1212。也就两者进行。也就两者进行 了了数据交换。从这个例程能看出:数据交换。从这个例程能看出:使用堆栈时,入栈的书写次序和出栈使用堆栈时,入栈的书写次序和出栈 的书写次序的书写次序必须相反必须相反,才能保证数据被送回,才能保证数据被送回原位原位,不然就要出错了。,不然就要出错了。 单片机原理及应用【例】把数据指针DPTR、程序状态寄存器PSW、累加器A中的数 据入栈保护。PUSH DPLPUSH DPH PUSH PSW PUSH ACC把上述保存的数据重新恢复到数据指针DPTR、程序状态寄存器PSW、累

9、加器A中。POP ACC POP PSW POP DPH POP DPL单片机原理及应用数据传送类指令(共数据传送类指令(共2929条)条)小结小结数据传送指令:数据传送指令: 1)内RAM数据传送指令以A A为目的操作数为目的操作数(4条),以RnRn为目的操作数为目的操作数(3条),以RiRi间址为间址为 目的操作数目的操作数(3条),以directdirect直接地址为目的操作数直接地址为目的操作数(5条),1616位位 立即数立即数(1条)2)外外RAMRAM数据传送指令数据传送指令(4条:A与ri、DPTR;例MOVX A,R0 ) 3)ROMROM数据传送指令数据传送指令(2条:M

10、OVC A,A+PC和MOVC A, A+DPTR) 4)数据交换数据交换(5条) 5)堆栈操作指令堆栈操作指令(2条)单片机原理及应用练习练习1.如果PSW的RS1、RS0都等于0,那么MOV A, R0与MOV A, 00H有何不同?2.要求把程序存储器要求把程序存储器1000H1000H中的数据传送到内中的数据传送到内RAM30HRAM30H中中MOV A, #00HMOV DPTR, #1000HMOVC A, A+DPTRMOV 30H, A单片机原理及应用加法运算: (ADD4条)带进位加法运算: (ADDC4条)带借位减法运算: (SUBB4条)加1/减1操作: (INC,DEC

11、9条)单字节乘/除法运算: (MUL,DIV2条)算术运算类指令共有6种24条十进制调整: (DA A1条)单片机原理及应用补充知识补充知识无符号数与带符号数在地址33H上存储数据3DH,则33H上一个字节空间上是3DH的二进制形式0011 1101这个数据可以转换成十进制数61(无符号数) 0011 1 10 13 D无符号数的存储无符号数的存储单片机原理及应用对于有符号数来说,情况与上面有所不同最高有效位用来存放符号,而剩下的位数用来存放数值最高有效位用来存放符号,而剩下的位数用来存放数值最高有效位如果是0,表明该带符号的数是正数;否则,是负数。如果用单片机的某一地址存储带符号数,由于地址

12、都是一个字节 (8位)的,于是最高有效位被占用作为正数或者负数的标志,原来的8 位就剩下7位来代表带符号数的数值,这样一来存储数据的大小就受到 了限制。原来8位时存储无符号数的数值范围是0255,而7位存储带符号数的数值范围变成了128+127.单片机原理及应用二进制的补码在数字系统中,使用二进制表示负数时,最高有效位放置的符号在数字系统中,使用二进制表示负数时,最高有效位放置的符号 ,而数值的大小以二进制的补码形式存放在次高有效位到最低有效位,而数值的大小以二进制的补码形式存放在次高有效位到最低有效位 。负数的二进制补码是这样得到的:把负数的绝对值用二进制表示除了符号位以外,将每一位取反。

13、结果加1例如例如-127-127这个数,其绝对值这个数,其绝对值127127表示成二进制是表示成二进制是111 1111111 1111将每一位取反得将每一位取反得000 0000000 0000最后加最后加1 1,于是得到的结果是:,于是得到的结果是:000 0001000 0001单片机原理及应用于是于是-127这个数,其绝对值127表示成二进制是111 1111 ,将每一位取反得000 0000,最后加1,于是得到的结果是 :1 0 0 0 0 0 0 1符号二进制的补码单片机原理及应用1. 加法指令(1) 不带进位的加法指令影响:CY、AC、OV和PADD A,Rn direct Ri

14、#data注:注:D7、D6位只有一个有进位时,(OV)=1。 如:两个正数相加结果为负数或两个负数相加结 果为正数时属于错误结果,此时(OV)=1。;(A)+dataA;(A)+(direct)A;(A)+(Rn)A;(A)+(Ri)A单片机原理及应用说明说明:1. 指令格式、功能两操作数直接相加2.对PSW中标志位的影响(1)Cy:D7有无向更高位的进位有:(Cy)=1无:(Cy)=0(2)AC:D3有无向D4进位有:(AC)=1无:(AC)=0(3)OV :(D6向D7的进位)(D7向更高位的进位)(4)PA中1的个数为奇数个A中1的个数为偶数个(P)=1(P)=0单片机原理及应用例 若(A)=84H,(30H)=8DH,执行指令 ADD A,30H 之后,结果: 结果:(A)=11H,(CY)=1,(AC)=1, (OV)=1 (D7有进位,D6无进位),(P)=0。 (A) 1000 0100+ (30H) 1000 1101进位 1

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号