(1)在6处,之所以选择带进位左移,就是将低位运算的CY结果也一块加上左移,并没有将CY清零啊~
(2)对一个数进行左移,必然会造成最高位溢出的结果,这时候CY当然就是溢出的标志位,你对BDH即10111101做左移,如果存储器有9位的话,本来应该是101111010,即17AH,但是存储器只有8位,溢出的最高位1只能由CY来标志,当然7AH要加上CY的1才是BDH的二倍。
本程序,可以实现 30H31H 中十六位数的乘2的运算。
在6处,你不想执行7,却要去执行别的程序?
那么,在别的程序中,应该对C加以保护;
执行完毕别的程序后,再恢复C的内容。
之后再执行7。
这就是:保护现场、恢复现场。
这是编程时,常用的方法。
----
对 BDH 进行 RLC?
BDH,最高位是1,乘以2后,A,里面存不下。
对 BDH 进行乘以2,就应该使用16位数的乘以2。
用上面的程序,即可对 BDH 进行乘以2。