KeilC 实现带Carry位的移位操作

//----------------------------------------
//  KeilC 实现带Carry位的移位操作 (左移)
//----------------------------------------

#define   _RLC_(Data)   CY = Data&0x80  // Data带进位左移1位,数据放入ACC 
//----------------------------------------
//  KeilC 实现带Carry位的移位操作 (右移)
//----------------------------------------

#define   _RRC_(Data)   CY = Data&0x01  // Data带进位右移1位,数据放入ACC

//-------------------------------------------------------------------------------

//       通过以上方法,编译后,keilC会生成带位左移右移指令

//-------------------------------------------------------------------------------

//-------------------------------------------------------------------------------

//-------------------------------------------------------------------------------

时间: 2024-10-10 14:11:30

KeilC 实现带Carry位的移位操作的相关文章

对Textbox的值转换为带千位符和小数的Decimal字符串

以下Function可以用于textbox的KeyUp事件: var numberChars = "1234567890"; function isDecimal(item) { var obj = $(item); if (obj.length > 0) { if ($(obj).val() != null && typeof ($(obj).val()) != "undefined") { var str = $(obj).val().to

将数据格式化为:四舍五入带两位小数点(12.33)

一.前台1.numberObject.toFixed(2);将number型数据四舍五入保留2位,输出的是string类型数据2.gridView 中绑定的数据格式化,用dataFormatstring(0:F);3.页面拼的table,数据用formatNumber(num,2,',') //获得新的金额格式 function formatNumber(num, precision, separator) { var parts; // 判断是否为数字 if (!isNaN(parseFloa

电赛总结(二)——AD之STM32F102ZE单片机自带12位AD

直接上程序即可 #ifndef __ADC_H #define __ADC_H #include "stm32f10x.h" #include "LCD3.2.h" void ADC1_Init(void); float adc_output(void); void ADC2_Init(void); float adc2_output(void); #endif /* __ADC_H */ /** **********************************

第13章 GPIO—位带操作

第13章     GPIO-位带操作 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/firege 本章参考资料:<STM32F4xx 中文参考手册>存储器和总线构架章节.GPIO章节,<Cortex?-M4内核编程手册>2.2.5 Bit-banding.学习本章时,配套这些参考资料学习效果会更佳. 13.1 位带简介 位操作就是可以单独的对一个比特位读和写,这个在51单片机

08_stm32位带操作

一:位带操作介绍 1.   位带操作 在学习 51 单片机的时候就使用过位操作, 通过关键字 sbit 对单片机 IO 口进行位定义. 但是 STM32 没有这样的关键字, 而是通过访问位带别名区来实现.即将每个比特位膨胀成一个 32 位字, 当访问这些字的时候就达到了访问比特的目的. 比方说 BSRR 寄存器有 32 个位, 那么可以映射到 32 个地址上, 当我们去访问这 32 个地址就达到访问 32 个比特的目的. STM32F1 中有两个区域支持位带操作, 一个是 SRAM 区的最低 1

汇编--常用汇编指令与标志位关系

加法指令 ADD (addition) 指令对标志位的影响: CF=1   最高有效位向高位有进位 CF=0   最高有效位向高位无进位 OF=1   两个同符号数相加(正数+正数 或 负数+负数),结果符号与其相反. OF=0   两个不同符号数相加,或同符号数相加,结果符号与其相同. 带进位加法指令 ADC (add with carry) 指令对标志位的影响: CF=1   最高有效位向高位有进位 CF=0   最低有效位相高位无进位 OF=1   两个同符号数相加,结果符号与其相反, O

汇编语言标记寄存器标记位_NV UP EI NG NZ AC PE CY

在8086CPU中,有一种标记寄存器,长度为16bit: 其中存储的信息被称为程序状态字(Program Status Word,PSW),以下将该寄存器简称为flag. 功能:1)用来存储相关指令的某些执行结果: 2)用来为CPU执行相关指令提供行为依据: 3)用来控制CPU的相关工作方式. flag寄存器各位示意图 注明:16位中未标明字符的各位在8086CPU中没有使用,无意义: 标明字符的各位具有特殊含义. 位     符号    英文全称                        

常用汇编指令及其影响的标志位

加法指令 ADD (addition) 指令对标志位的影响: CF=1   最高有效位向高位有进位 CF=0   最高有效位向高位无进位 OF=1   两个同符号数相加(正数+正数 或 负数+负数),结果符号与其相反. OF=0   两个不同符号数相加,或同符号数相加,结果符号与其相同. 带进位加法指令 ADC (add with carry) 指令对标志位的影响: CF=1   最高有效位向高位有进位 CF=0   最低有效位相高位无进位 OF=1   两个同符号数相加,结果符号与其相反, O

3.汇编中的标志位

这周主要学习的是转移指令的相关知识和原理. offset在和汇编语言中是由编译器处理的符号,它的功能是取得标号的偏移地址. jmp是无条件转移指令,可以只修改IP,也可以同时修改CS和IP. CPU在执行jmp指令的时候不需要转移的目的地址,机器码中包含的的是转移的位移. Ret指令用栈中的数据,修改IP的内容,从而实现近转移. Ret=POP  IP Retf指令用栈中的数据,修改CS和IP的内容,从而实现远转移. Retf=POP IP     POP CS   CPU执行call指令时,进