一个关于赋值的小问题

2020-01-30 13:45发布

IAP_ADDRL与IAP_ADDRH是单片机内部的两个八位的特殊功能寄存器,分别用来寄存地址的低八位与高八位,而addr是一个16位的无符号整型变量(用以存放地址数据)
下面是两个寄存器的赋值语句(IAP_ADDRL与IAP_ADDRH 已声明为特殊功能寄存器)
IAP_ADDRL=addr;
IAP_ADDRH=addr>>8;
我的问题是,当一个十六位数直接赋值给一个八位的寄存器时,寄存器只会保留低八位吗?同理将一个十六位的数赋值给一个八位的变量时情况是不是一样?
希望大家能帮忙解答一下,万分感谢。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
fsfwl
1楼-- · 2020-01-31 08:59
 精彩回答 2  元偷偷看……
fsfwl
2楼-- · 2020-01-31 11:24
绿茶山人 发表于 2013-4-18 13:53
在keil中有的单片机头文件比较死板,比如C8051f120.h里面就没定义16位的寄存器,赋值操作的时候不方便,干 ...

谢谢了~
绿茶山人
3楼-- · 2020-01-31 14:14
fsfwl 发表于 2013-4-19 17:07
谢谢了~

共同进步!

一周热门 更多>