DJZA Decrement R, Place in the A register, Skip if 0
語 法 DJZA R
編 碼 0 0101 10rr rrrrr
操作內容 R - 1 --> A, skip if 0
受影響的旗標 無
說 明 將所指定R 暫存器的內含值減1﹐並將結果存於A 暫存
器上﹔如果結果為0﹐則下一個指令將被跳過。
舉例說明 HERE:
DJZA 0x9
CONT:
MOV A,0x10
SKIP:
ADD A,@10
在執行DJZA 指令之前
PC = address HERE
在執行DJZA 指令之後
A=R9-1
if A = 0, PC = address SKIP
if A ≠ 0, PC = address CONT
DJZ Decrement R, Skip if 0
語 法 DJZ R
編 碼 0 0101 11rr rrrrr
操作內容 R - 1 --> R, skip if 0
受影響的旗標 無
說 明 將所指定R 暫存器的內含值減1﹐並將結果存回R 暫存
器上﹔如果結果為0﹐則下一個指令將被跳過。
舉例說明 MOV A,@100
MOV 0x10,A
LOOP:
•
•
•
DJZ 0x10 ;暫存器R10 遞減﹐ 若結果不等於
;0 , 執行JMP 指令﹐若結果等於0﹐
;JMP指令不執行
JMP LOOP
RRCA Rotate Right R through Carry, Place in the A register
語 法 RRCA R
編 碼 0 0110 00rr rrrrr
操作內容 R(n) --> A(n-1), R(0) --> C, C --> A(7)
受影響的旗標 C﹔進位旗標被影響
說 明 R 暫存器的內含值又移1-bit﹐右移時包含C(進位旗
標) ﹐如下圖﹐並將結果存於A 暫存器。
C REGISTER R
舉例說明 將指定的暫存器放向右移1 位﹐並將結果由port6 輸出。
BIT_BUF == 0x10
RRCA BIT_BUF
MOV 0x6,A
RRC Rotate Right R through Carry
語 法 RRC R
編 碼 0 0110 01rr rrrrr
操作內容 R(n) --> R(n-1), R(0) --> C, C --> R(7)
受影響的旗標 C﹔進位旗標
說 明 所指定的暫存器的內容﹐連帶著進為旗標接向右移1
位﹐如下圖。
C REGISTER R
舉例說明 MOV A,@0x0f
CLR 0x3,0 ;clear C flag
MOV 0x10,A ;R10 = 00001111
RRC 0x10 ;R10 = 00000111, C = 1
RLCA Rotate Left R through Carry, Place in the A register
語 法 RLCA R
編 碼 0 0110 10rr rrrrr
操作內容 R(n) --> A(n+1), R(7) --> C, C --> A(0)
受影響的旗標 C﹔進位旗標
說 明 將所指定的暫存器的內容﹐連同進位旗標一起向左移
1 位﹐並將結果存於A 暫存器。
C REGISTER R
舉例說明 將指定的暫存器放向左移1 位﹐並將結果由port6 輸出。
BIT_BUF == 0x10
RLCA BIT_BUF
MOV 0x6,A
RLC Rotate Left R through Carry
語 法 RLCA R
編 碼 0 0110 11rr rrrrr
操作內容 R(n) --> R(n+1), R(7) --> C, C --> R(0)
受影響的旗標 C﹔進位旗標
說 明 將所指定的暫存器的內容﹐連同進位旗標向左移1 個位
原﹐結果存在原先的暫存器。
C REGISTER R
舉例說明 將0X10 暫存器的內容向左移1 個位元﹐進位旗標並不
包含在內。
REGISTER 0x10
RLCA 0x10 ﹔暫存器的bit7 移到進位旗標
﹔中。並將結果存於A 暫存器
RLC 0x10 ﹔將0x10 暫存器的值向左移1
﹔位﹐此時執行的結果如上圖。
本文关键字:暂无联系方式义隆单片机,单片机-工控设备 - 义隆单片机
上一篇:EM78P156 语法介绍(7)