帶進位循環(huán)移位指令RCR、RCL/1、 1、執(zhí)行RCR、RCL指令時,各位的數(shù)據(jù)與進位位M8022一起(16位指令時一共17位)向右(或向左)循環(huán)移動n位。在循環(huán)中移出的位送入進位標志,后者又被送回到目標操作元件的另一端 RCR指令和RCL指令都是對字元件中的二進制位進行移位。從圖上可以看到,它們有連續(xù)執(zhí)行型和脈沖執(zhí)行型,可以用于16位,也可用于32位。其中RCR指令和RCL指令中的R、L和上文的含義一樣,一個表示右移,一個表示左移。
2、“帶進位”,是指在移位的同時,捎帶上進位標志位M8022。那又是在怎樣捎帶的呢?我們以RCR右移指令為例。 當驅動條件X0接通,執(zhí)行指令RCR D0 K4,類似于ROR指令,但不一樣的是,用膠水把進位標志位M8022和D0粘起來,此時最右邊的4位,顯然不僅僅是屬于D0,還有1位是屬于M8022。 執(zhí)行指令RCR D0 K4,進位標志位M8022的數(shù)首先被右移,再輪到把D0的16個二進制數(shù)依次向右移動。移出的4位二進制數(shù)(包括****被右移的進位)循環(huán)進入到D0的高位(左邊)。 顯然,移動4位后,M8022的值恰好為D0中b3的值。 3、帶進位左移指令RCL的執(zhí)行我們直接以下圖展示。執(zhí)行指令RCL D0 K4,同樣把進位標志位和D0粘連起來,此時M8022的值依然是首先被移動的那位,它也太可憐了吧。另外,執(zhí)行完指令后,此時M8022的值為D0中b12的值。 和ROR指令和ROL指令一樣,在RCR指令、RCL指令中,當終址D是16位的組合位元件時,n=K4;當終址D是32位的組合位元件時,n=K8,否則指令不執(zhí)行,且在用到移位指令時,****用脈沖執(zhí)行型RCRP、RCLP。 以上兩種指令,都是基于字元件的二進制位移動,接下來我們繼續(xù)看位元件組合的位移動。


|