您当前的位置:五五电子网电子知识单片机-工控设备义隆单片机EM78P156 语法介绍(5) 正文
EM78P156 语法介绍(5)

EM78P156 语法介绍(5)

点击数:7840 次   录入时间:03-04 11:52:16   整理:http://www.55dianzi.com   义隆单片机

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

﹔位﹐此時執行的結果如上圖。


 




本文关键字:暂无联系方式义隆单片机单片机-工控设备 - 义隆单片机