单片机学习05-数逻指令

单片机学习05-数逻指令

ID:39164595

大小:530.31 KB

页数:26页

时间:2019-06-26

单片机学习05-数逻指令_第1页
单片机学习05-数逻指令_第2页
单片机学习05-数逻指令_第3页
单片机学习05-数逻指令_第4页
单片机学习05-数逻指令_第5页
资源描述:

《单片机学习05-数逻指令》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、作业一:(讲评)补充:如下程序段,请在指令左边写出各机器指令代码,在各操作数下方注明其寻址方式,分析每条指令执行后的结果以及最终A、B、R1、R5、(3AH)、(3BH)等单元的内容。793AMOVR1,#3AH;R1=3AH7448MOVA,#48H;A=48HA7E0MOV@R1,ACC;(3AH)=48H853AF0MOVB,3AH;B=48H753A5CMOV3AH,#5CH;(3AH)=5CH873BMOV3BH,@R1;(3BH)=5CHADF0MOVR5,0F0H;R5=48H777DMOV@R1,#7DH;(3AH)=7DH853BE0MOV0

2、E0H,3BH;A=5CH寄存器寻址立即寻址寄存器寻址立即寻址寄存器间接寻址直接寻址直接寻址直接寻址直接寻址立即寻址直接寻址寄存器间接寻址寄存器寻址直接寻址寄存器间接寻址立即寻址直接寻址直接寻址答:执行上述程序段后A=5CH,B=48H,R1=3AH,R5=48H,(3AH)=7DH,(3BH)=5CH。3.程序状态字寄存器PSW(标志寄存器)记存CPU执行算术运算及某些操作的一些特征标志信息,以备后用SFR名+位次:PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0字节地址+位次:0D0H.70D0H.60D0H.50D0H.4

3、0D0H.30D0H.20D0H.10D0H.0位地址:D7HD6HD5HD4HD3HD2HD1HD0HSFR名字节地址位名称位次进位标志位辅助进位标志位溢出标志位奇偶标志位用户标志位工作寄存器区选择控制位加减运算时最高位向上有进/借位则置‘1’加减运算时D3位向D4位有进/借位则置‘1’BCD数运算修正用加减运算时D7、D6位向上的进/借位不同则置‘1’补码运算时表征溢出A中‘1’的个数为奇则置‘1’表征8位码的奇偶性P.14图2-3PSW的格式半进位标志位随时根据A的内容变化生成不影响标志位CACOV3.4.2算术运算类指令积>FF则0V=1B=0则0V=

4、1不影响ACOV标志结果存累加器ACyCyTM【例3-1】(A)=53H,(R0)=FCH,执行指令ADDA,R0结果:(A)=4FH,Cy=1,Ac=0,OV=0,P=1注意:运算中,由于位6和位7同时有进位,所以标志位OV=0。【例3-2】(A)=85H,(R0)=20H,(20H)=AFH,执行指令:ADDA,@R0结果:(A)=34H,Cy=1,Ac=1,OV=1,P=1注意:由于位7有进位,而位6无进位,所以标志位OV=1P.3801010011+111111001110000=01001111Cy:110000101+101011110001111

5、=00110100Cy:1【例3-3】(A)=85H,(20H)=FFH,Cy=1,执行指令:ADDCA,20H结果为:(A)=85H,Cy=1,Ac=1,OV=0,P=1【例3-4】(A)=56H,(R5)=67H,把它们看作为两个压缩的BCD数,进行BCD数的加法。执行指令:ADDA,R5;先按二进制加,得BDHDAA;紧接着进行BCD调整,得23H且有向上进位结果为:(A)=23H,Cy=1(维持ADD后的Ac=1,OV=1),P=1。可见,56+67=123,结果是正确的。【例3-5】(A)=C9H,(R2)=54H,Cy=1,执行指令SUBBA,R2

6、结果:(A)=74H,Cy=0,Ac=0,OV=1(位6向位7借位而位7无向上借位),P=0P.38~4010000101+1111111111111111=10000101Cy:1←原Cy11001001-01010100-1=01110100Cy:0←原Cy【例3-6】(A)=0FH,(R7)=19H,(30H)=00H,(R1)=40H,(40H)=0FFH,执行指令DECA;(A)-1→A=0EHDECR7;(R7)-1→R7=18HDEC30H;(30H)-1→30H=FFHDEC@R1;((R1))-1→(R1)=FEH结果为(A)=0EH,(R7

7、)=18H,(30H)=0FFH,(40H)=0FEH,P=1,不影响其他标志【例3-7】(A)=FBH,(B)=12H,执行指令DIVAB结果为(A)=0DH,(B)=11H,Cy=0,OV=0。P.41【例B3-7】编程序实现R1、R2中的双字节BCD数加上R3、R4中的双字节BCD数,三字节和值存放于R5、R6、R7中。ORG11A0H11A0EAMOVA,R2;取被加数低字节11A12CADDA,R4;加上加数低字节11A2D4DAA;十进制调整11A3FFMOVR7,A;存和值的低字节11A4E9MOVA,R1;取被加数高字节11A53BADDCA,

8、R3;加上加数高字节及低字节的进位11

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

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

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