PIC 명령 일람 (점프 명령)

[기호 설명]
아래 설명에서 사용하고 있는 기호, 약호의 의미는 다음과 같다.

기호

의미 내용

기호

의미 내용

f

레지스터의 어드레스

Wreg

워킹 레지스터

b

비트의 어드레스(0-7)

k

리터럴 데이터(1byte)

x

Don't care(0으로 해둔다)

d

저장처 지정(0 or 1)

label

레이블명

PC

프로그램 카운터

dest

d와 같은 의미

 

 

[ ]

생략 가능

( )

내용

< >

레지스터 비트 위치

 

 

 

[점퍼 명령 해설]
 

[CALL]    서브루틴에 점프한다

서식                [label]        CALL          k
오퍼랜드          k: 리터럴 데이터 (00∼2048)
실행내용          (PC) + 1    →   스택
영향 플래그      없음
사이클             2사이클
기계어             1 0   0 k k k   k k k k    k k k k
실행내용          서브루틴을 콜한다.
                      우선 복귀 번지(PC+1)를 stack에 저장하고,
                      11비트의 리터럴 어드레스를 PC 레지스터에 써올리며,
                      게다가 PC의 상위에 PCLATH를 써올림으로써 점프한다.
 

[GOTO]    서브루틴에 점프한다

서식                [label]        GOTO          k
오퍼랜드          k: 리터럴 데이터 (00∼2048)
실행내용          k   →   PC<10:0>
영향 플래그      없음
사이클             2사이클
기계어             1 0   1 k k k   k k k k   k k k k
실행내용          무조건으로 지정번지에 점프한다.
                       11비트의 리터럴 어드레스를 PC 레지스터에 써올리고,
                       더구나 PC의 상위에 PCLATH를 써올림으로써 점프한다.
 

[RETURN]    서브루틴에서 무조건 복귀한다

서식                [label]        RETURN          k
오퍼랜드          없음
실행내용          스택   →   PC
영향 플래그      없음
사이클              2사이클
기계어              0 0   0 0 0 0   0 0 0 0    1 0 0 0
실행내용          서브루틴에서 무조건 복귀한다.
 

[RETFIE]    인터럽트로부터 복귀한다

서식                [label]        RETFIE
오퍼랜드          없음
실행내용          스택   →  PC
영향 플래그      없음
사이클             2사이클
기계어             0 0   0 0 0 0   0 0 0 0   1 0 0 1
실행내용          인터럽트 처리로부터 복귀한다.
                       stack에 저장되어 있던 복귀 번지를 PC 레지스터에
                       써넣음으로써 점프함과 동시에,
                       글로벌 인터럽트 허가 비트인 GIE에 1을 세트하여
                       인터럽트를 허가한다.
 

[RETLW]    리터럴 데이터를 Wreg에 세트하고 복귀한다

서식                [label]        RETLW          k
오퍼랜드          k: 리터럴 데이터 (00∼256)
실행내용          k    →   Wreg,    스택    →  PC
영향 플래그      없음
사이클             2사이클
기계어             1 1   0 1 x x   k k k k    k k k k
실행내용          서브루틴으로부터 복귀한다.
                      그때 Wreg에 리터럴 데이터를 가지고 돌아간다.
                      우선 8비트의 리터럴 데이터를 Wreg에 로드하고,
                      다음에 stack에 저장되어 있던 복귀 번지를
                      PC 레지스터에 써올림으로써 점프한다.


다음 페이지로       목차 페이지로