打印
[MCU]

单片机的半字节交换指令由什么作用?

[复制链接]
5193|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
睡神耗子|  楼主 | 2014-8-18 23:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
coody| | 2014-8-19 11:11 | 只看该作者
比如把一个字节的16进制转成两字符

使用特权

评论回复
板凳
lyjian| | 2014-8-19 20:39 | 只看该作者
BCD码

使用特权

评论回复
地板
睡神耗子|  楼主 | 2014-8-20 08:57 | 只看该作者
lyjian 发表于 2014-8-19 20:39
BCD码

能详细讲下么?

使用特权

评论回复
5
睡神耗子|  楼主 | 2014-8-20 08:57 | 只看该作者
coody 发表于 2014-8-19 11:11
比如把一个字节的16进制转成两字符

嗯。了解了,谢

使用特权

评论回复
6
tozxq| | 2014-8-20 09:23 | 只看该作者
半字节交换指令如在PIC单片机中,因不改变任何标志,一般常用于中断现场保护,如:

保护现场:
MOVWF        W_TEMP       ;复制W到它的临时寄存器W_TEMP中
SWAPF        STATUS,W     ;将STATUS中的高低四位交换后放入W
MOVWF        STATUS_TEMP  ;将交换过的数据保存到寄存器中
CLRF         STATUS       ;不管目前在哪个体,都设置成体0为当前体



恢复现场:
SWAPF        STATUS_TEMP,W             ;恢复W和STATUS在值
MOVWF        STATUS
SWAPF        W_TEMP,F
SWAPF        W_TEMP,W
RETFIE

使用特权

评论回复
7
睡神耗子|  楼主 | 2014-8-26 11:33 | 只看该作者
tozxq 发表于 2014-8-20 09:23
半字节交换指令如在PIC单片机中,因不改变任何标志,一般常用于中断现场保护,如:

保护现场:

嗯,后来我也看到。十分感谢

使用特权

评论回复
8
suichu| | 2018-7-13 14:47 | 只看该作者
tozxq 发表于 2014-8-20 09:23
半字节交换指令如在PIC单片机中,因不改变任何标志,一般常用于中断现场保护,如:

保护现场:

半字节不改变任何标志,通常用的MOVF是会改变状态位Z的值的,所以交换半字节本身没有任何意义

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

34

主题

118

帖子

0

粉丝