指令系统及程序设计

指令系统及程序设计

ID:18829700

大小:53.00 KB

页数:7页

时间:2018-09-26

指令系统及程序设计_第1页
指令系统及程序设计_第2页
指令系统及程序设计_第3页
指令系统及程序设计_第4页
指令系统及程序设计_第5页
资源描述:

《指令系统及程序设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、1、用数据传送指令完成如下功能:(1)工作寄存器R2的内容送给R3;MOVA,R2      MOVR3,A;两个工作寄存器之间不能直接进行数据传送(2)内部RAM20H单元的内容送给内部RAM30H单元;  MOV30H,20H;两个直接地址之间可以直接进行数据传送(3)内部RAM20H单元的内容送给外部RAM20H单元;  MOV R1,#20H      MOV A,@R1      MOVX@R1,A;内部RAM中的数据必须要先送到累加器A再由A送出到外部RAM去  (4)外部RAM20H单元的内容送给外部RAM2000H单元;  MOVRI,#20H      MO

2、VDPTR,#2000H      MOVXA,@R1      MOVX@DPTR,A;两个外部RAM单元也不能直接进行数据传递,必须要先将外部RAM一个单元数据送给A再由A到另一个外部RAM单元中去  (5)ROM30H单元的内容送给内部RAM30H单元;  MOVDPTR,#0030H      MOVA,#00H      MOVCA,@A+DPTR      MOV30H,A要先将ROM指定单元数据送给A再由A到内部RAM指定单元中  (6)ROM3000H单元的内容送给外部RAM2000H单元;MOVDPTR,#3000H      MOVA,#00H      

3、MOVCA,@A+DPTR      MOVDPTR,#2000H      MOVX@DPTR,A要先将ROM指定单元数据送给A再由A到外部RAM指定单元中去小结:1、注意数据传送类指令有三种:MOV(内部数据传送)、MOVC(从程序存储器中取数)、MOVX(累加器A与外部数据存储器间进行数据传递),要注意区分三种指令,不要混淆;2、外部数据存储器(外部RAM)只能用寄存器间接寻址方式访问,且只能与累加器A进行数据传送;3、外部数据存储器(外部RAM)使用寄存器间接寻址的地址指针选取原则:地址在8位以内(00H-FFH)可以使用R0、R1,也可以使用DPTR;地址超过8位,

4、只能使用DPTR;4、内部数据存储器(内部RAM)低128B可以用直接寻址方式也可以寄存器间接寻址方式访问;内部数据存储器高128B(仅52子系列有)只能用寄存器间接寻址方式访问,地址指针选取R0或R1;5、程序存储器(ROM)是只读的,从ROM中读取数据用MOVC指令,对应变址寻址方式,要预先在A和DPTR(MOVCA,@A+DPTR)或A(MOVCA,@A+PC)中设好相应的值; 2、外部RAM20H单元的内容和外部RAM21H单元的内容相乘,结果低八位送外部RAM22H单元,高八位送外部RAM23H单元MOVR1,#20H  MOVXA,@R1  MOVB,A  INC

5、R1  MOVXA,@R1  MULAB  INCR1  MOVX@R1,A  INCR1  MOVA,B  MOVX@R1,A外部数据存储器(外部RAM)只能用寄存器间接寻址方式访问,且只能与累加器A进行数据传送;如MOVXB,@DPTR是非法指令。3、完成两个三字节二进制数的加法:第一个数存在内部RAM的30H、31H、32H(32H为最低字节)单元,第二个数存在内部RAM的40H、41H、42H(42H为最低字节)单元,结果存入内部RAM的30H、31H、32H(32H为最低字节)单元。 ORG0000H      SJMPMAIN      ORG0030H MAIN

6、:CLRC      MOVR2,#3 LOOP:MOVR0,#32H      MOVR1,#42H      MOVA,R0      ADDCA,R1      MOVR0,A      DECR0      DECR1      DJNZR2,LOOP      SJMP$注意三字节数加法,高字节做加法时要考虑到低字节所产生的进位,所以用ADDC指令。4、用逻辑运算指令完成如下功能:(1)内部RAM20H单元数的低三位清零,其余位保持不变;ANL20H,#0F8H;  (2)内部RAM20H单元数的高两位置1,其余位保持不变;ORL20H,#0C0H (3)内部RAM

7、20H单元数的高两位取反,其余位保持不变; XRL20H,#0C0H (4)内部RAM20H单元数的所有位取反;XRL20H,#0FFH说明:1、逻辑与通常用来将累加器A或内部RAM某单元的某几位清0;2、逻辑或通常用来将累加器A或内部RAM某单元的某几位置1;3、逻辑异或通常用来将累加器A或内部RAM某单元的某几位取反;4、注意根据要求选取的立即数5.MOVR0,#30H     ;(R0)=30H  MOVA,@R0       ;(A)=(30H)=64H  MOVDPTR,#1000H ;(DP

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。