如果在7处程序还要进行加法运算,就类似上面的运算,就会把CY清零,那刚才运算的结果就会受影响,该怎么办,可以把PSW压入堆栈吗?
追答额,这要看你最终实现的效果是什么了,对于这道题目来说,它并不要求你关心运算结果的溢出(就是第十七位),只是将运算剩余结果的十六位数存放到原处,所以对于这道题目你不用纠结最后CY怎么怎么样;
当然,抛开这道题目,如果你想实现的效果是要得到正确的乘二的结果,方法可以有很多种,例如你可以再定义一个字节的存储地址32H来存储最高位的计算结果,你说的压入堆栈也是一种方法吧~
RLC在单片机里什么意思
RLC 是带进位的循环左移,RLC A即将A的内容左移一位,将进位位C中的值移到累加器A的最低位,A的最高位移到C里。、是带进位循环左移比如:C=1,A=55H,RLC A后则为:C=0 A=ABH,即:1 01010101变为:0 10101011
单片机循环移位指令中A=7AH,CY=1,执行指令RLC A,结果是?怎么算的?
首先,RLC表示A带进位标志(CY)循环左移一次,相当于乘以2;进位标志CY=1,则A=7AH=123D(十进制的123)的带进位标志用二进制表示为1 0111 1010 ,将其整体左移一位(就像是排头走到最后一个,其他8个依次补位),变为0 1111 0101,即十六进制的F5H=246D(即十进制的246),此时,第一...
【说得好有奖】单片机查表时用RL或RLC移位乘2的问题!!根据这个程序帮我...
设表格中有1024个数据项,每个数据为2个字节,表格总长度为2048个字节 你看 这里假设有1024个数据项 如果是超出部分无法查表的话 那么ffff-1024=efdbh 一共有这么多的数据不能查 显然题意不是这样的。
单片机例题 不明白前面为什么要RLC 还有那个ADDC怎么回事 可以的话最好...
MOV DPTR,#TAB2 ;表格首地址 MOV A,R3 CLR C RLC A ;R3X2,进位在C中 MOV R3,A ;放回R3 XCH A,R2 RLC A XCH R2,A ;R2X2 ADD A,DPL ;首地址低字节与偏移量的低字节相加,因为查表是2字节,所以将x值乘以2 MOV DPL,A MOV A,DPH ADDC A,R2 ;首地址高字节与...
单片机左移rlc在程序中的应用
在单片机的数据处理时,要经常利用移位来处理 例如乘法或者除法 对于初学者的理论上的学习来说,可以先不求甚解 大概知道就可以了 当真正做东西用到的时候自然会有深刻的理解 至于CY是进位位,在实际处理数据时肯定要用到的。通过带进位位的移位指令将CY位的状态转移到数据中。初学习时,多看些汇编程序...
单片机指令RLC A带进位的循环转移,怎么进位呀?进位进到哪里去呀?可以举...
先看 RL A,这条指令只是把 A 中的八位数,循环左移。再看 RLC A,这条指令把 A 中的八位数,以及C,共九位数,循环左移。例如:C = 1,A = 0011 0000,执行RLC A 后:A 中的最高位 0,移到C;C 中原来的 1,移到 A 的最低位。结果:C = 0,A = 0110 0001。--- ...
51单片机cpl指令是什么功能啊?
CPL是取反指令,也称逻辑非指令。是51单片机汇编指令。CPL P1 取反:单片机的P1引脚某时段输出为1(高电平)时,“CPL P1”取反后P1输出为0(低电平)。功能:将指定数据存储器中的每一位取逻辑反,相当于从 1 变 0 或从 0 变 1,结果被存放回累。
51单片机中rr,rrc,rl,rlc这些指令除了位移做跑马灯外,还有其它有实际意 ...
在数学运算中的意义就大了,左移一位就是乘以2,右移就是除以2,很有运算意义的!
在51单片机中,用汇编语言,RLC A,为什么左移两位以后,不是两个灯点亮...
用RLC A左移,其中包括了进位位Cy了,A左移两位以后不一定变成11111100,因为原来Cy的状态未知,所以,不是亮两个LED,当然需要是LED的负极接在I\/O脚上,是0有效才能是输出0使LED亮。要保证变成11111100,需要这么写:CLR C RLC A CLR C RLC A 如果是循环左移的话,就写一对;MOV...
关于单片机中16进制转BCD码的程序中,为什么不能用RLC代替ADDC?_百度知 ...
因为DA A这条指令需要C,AC这些位单元协助,而RLC 不影响AC,所以只能用ADDC,ADD.而且像INC这类指令也不可以。