单片机移位操作 软件实验3Word文档格式.docx
《单片机移位操作 软件实验3Word文档格式.docx》由会员分享,可在线阅读,更多相关《单片机移位操作 软件实验3Word文档格式.docx(13页珍藏版)》请在冰豆网上搜索。
二、实验内容:
1.双字节二进制数左移一位
将两个内部RAM31H和30H单元中的内容组成的双字节数通过Cy左移一位。
功能示意图
赋初值:
(30H)=A7H(31H)=9CH
命令行
区域变化
备注
CLRC
给C累加器清零
MOVA,30H
RLCA
首位1给C累加器
MOV30H,A
MOVA,31H
C累加器中1给其末位,其首位1再给C累加器
MOV31H,A
SJMP$
最终结果
2.多字节二进制数右移一位
将三个内部RAM32H、31H和30H单元中的内容组成的三字节数通过Cy右移一位。
赋初值(32H)=9CH(31H)=A7H(30H)=4EH
MOVA,32H
RRCA
末位0给C累加器
MOV32H,A
C累加器中0给其末位,其首位1再给C累加器
MOV31H,A
MOVA,30H
C累加器中1给其末位,其首位0再给C累加器
MOV30H,A
三、思考题
1多于三个字节的移位操作如何进行?
答:
同理,通过C累加器,运用RRC或RLC命令实现移位操作。
若字节过多,可以加入循环。
详见实验七第一个程序段
2如果不通过Cy如何移位?
实现的功能有何不同?
将RLC、RRC命令更改为RL、RR命令,这样就在不引起Cy变化的情况下进行移位操作了。