PIC 명령 일람 (비트 처리 명령)

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

기호

의미 내용

기호

의미 내용

f

레지스터의 어드레스

Wreg

워킹 레지스터

b

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

k

리터럴 데이터(1byte)

x

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

d

저장처 지정(0 or 1)

label

레이블명

PC

프로그램 카운터

dest

d와 같은 의미

 

 

[ ]

생략 가능

( )

내용

< >

레지스터 비트 위치

 

 


[비트 처리 명령 해설]
 

[BCF]    f 레지스터의 지정 비트를 0으로 한다

서식                [label]        BCF          f,  b
오퍼랜드          f: 레지스터 어드레스(00∼127)
                       b: 비트 지정(0∼7)
실행내용          0  →  f, b>
영향 플래그      없음
사이클             1사이클
기계어             0 0   0 0 b b   b f f f    f f f f
실행내용          f 레지스터의 제 b비트째를 0으로 한다.
                       플래그의 변화는 없다.
 

[BSF]   f 레지스터의 지정 비트를 1로 한다

서식                [label]        BSF          f,  b
오퍼랜드          f: 레지스터 어드레스(00∼127)
                       b: 비트 지정(0∼7)
실행내용          1  →  f, b>
영향 플래그      없음
사이클             1사이클
기계어             0 0   0 1 b b   b f f f    f f f f
실행내용          f 레지스터의 제 b비트째를 1로 한다.
                       플래그의 변화는 없다.
 

[BTFSC]    f 레지스터의 제 b비트째가 0이었다면 스킵

서식                [label]        BTFSC          f,  b
오퍼랜드          f: 레지스터 어드레스(00∼127)
                       b: 비트 지정(0∼7)
실행내용          skip if   (f<b>) = 0
영향 플래그      없음
사이클             1사이클, 스킵할 때는 2사이클
기계어             0 1   1 0 b b   b f f f    f f f f
실행내용          f 레지스터의 제 b비트째가 0이었다면,
                       다음의 명령을 NOP로 바꾸어 실행한다(skip).
                       따라서 스킵시에는 2사이클 명령으로 된다.
 

[BTFSS]    f 레지스터의 제 b비트째가 1이었다면 스킵

서식                [label]        BTFSS          f,  b
오퍼랜드          f: 레지스터 어드레스(00∼127)
                       b: 비트 지정(0∼7)
실행내용          skip if   (f<b>) = 1
영향 플래그      없음
사이클             1사이클, 스킵할 때는 2사이클
기계어             0 1   1 1 b b   b f f f    f f f f
실행내용          f 레지스터의 제 b비트째가 1이었다면,
                       다음의 명령을 NOP로 바꾸어 실행한다(skip).
                       따라서 스킵시에는 2사이클 명령으로 된다.
 

[IORWF]    Wreg와 f 레지스터와의 논리합 연산

서식                [label]        IORWF          f,  d
오퍼랜드          f: 레지스터 어드레스(00∼127)
                       d: 저장처 지정(0 또는 1)
실행내용          (Wreg)  .OR.  ( f )   →   (dest)
영향 플래그      invert  Z
사이클             1사이클
기계어             0 0   0 1 0 0   d f f f   f f f f
실행내용          Wreg의 내용과 f 레지스터 내용의 논리합, 연산을 하여,
                       결과를 d=0이면 Wreg에, d=1이면 f 레지스터에 써올린다.


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