微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 单片机如何实现带进位左移?

单片机如何实现带进位左移?

时间:10-02 整理:3721RD 点击:
temp<<=1,是不带进位的,怎么实现带进位的移位呢

加入本征函数文件intrins.c,也称内联函数,这种函数不需要调用,编译时直接插入当前行就好了。
左环移:
#include <reg51.h>
#include "instrins.c"
#define uchar unsigned char
main()
{
uchar _crol_(uchar a,uchar n);/*函数原型*/
uchar a=0x01;
a=_crol_(a,1);/*结果a=0x02*/
}
右环移
uchar _cror_(uchar a,uchar n);/*函数原型*/
同样用上面的方法就可以实现环移了。

有没有详细一点的

汇编里面这样的指令RRC A和RLC A

_cror_()和_cror_(),貌似不是带进位的循环移动!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top