PIC 명령의 오퍼랜드 서식

[오퍼랜드의 표현 방법]

MPASM에서 사용할 수 있는 표현 방법으로, 다음과 같은 서식을 설명한다.

[텍스트 데이터의 서식]
 
텍스트 데이터는 다음과 같은 조건으로 기술한다.
(1) 'ASCII 코드'를 사용한다
     이것은 00으로부터 7F(16진수)의 범위에 있는 문자 코드이다.
(2) text string(연속 데이터)는 ' " '로 둘러싼다. 만일 줄 끝까지 ' " '가 발견되지 않으면 줄 끝에 ' " '이 있는 것으로 취급한다.
(3) 1행에 쓸 수 있는 길이는 255 문자까지, 만일 이 이상일 때는 무시된다.
(4) DW 의사명령으로 string을 기술했을 때, 홀수개의 데이터일 때는 마지막에 ' 0 '이 추가된다.
 
예: 기술 예와 오브젝트 코드
DW           "testing output string one\n"
7465  7374  696E  6720  6F75  7470  7574
2073  7472  696E  6720  6F6E  650A
MOVLW   "a"
B061
DATA       "testing first output string"
7465  7374  696E  6720  6669  7273  7420
6F75  7470  7574  2073  7472  696E  6700
 
(5) ANSI 'C'에서 사용되고 있는 escape sequence로 특수 문자를 취급할 수 있다.
 

기호

의  미

기호

의  미

\a

벨 울림

\\

백 슬래시

\b

백 스페이스

\?

\f

폼피드

\'

 '

\n

행 바꿈

\"

 "

\r

복귀

\0OO

8진수(제로, 수치, 수치)

\t

수평 타브(TAB)

\xHH

16진수

\v

수직 타브(TAB)

 

 


[수치 데이터의 서식]

MPASM은 다음과 같은 5종류의 수치 서식이 있다.
디폴트는 16진수로 되어 있다.
수치에는 +나 -의 기호를 붙일 수 있다. 기호가 없을 때는 +.
 

종  류

서     식

사용 예

10진수

  D'<digits>'

  D"100'

16진수

  H'<hex_digits>'

  H'9F'    H'9f'

8진수

  O'<octal_digits>'

  O'777'

2진수

  B'<binary_digits>'

  B'00111001'

ASCII

  '<chracter>'
  A'<characters>'

  'C'
  A'C'


[연산기호의 서식]

MPASM에서 다룰 수 있는 연산기호는 매우 많다. 그러나 대부분은 지시명령 중에서 사용할 뿐이므로, 여기서는 직접명령으로 사용하는 편리한 것만 설명한다.
세부적인 사항은 MPLAB의 매뉴얼에 있다.
 

기호

의    미

사용 예

$

현재의 프로그램 카운터의 값

  GOTO    $+3

high

어드레스의 상위바이트를 돌려준다

  MOVLW  high  TABLE

low

어드레스의 하위바이트를 돌려준다

  MOVLW  low  TABLE

 

 

 


[특수 오퍼랜드]

(1) High/Low
특수한 기능을 가진 오퍼랜드로, High/Low가 있다.
이들은 라벨의 어드레스 16비트의 상위/하위 바이트를 꺼내기 위한 오퍼랜드용 특수 연산기호이다.

서식의 사용 예
high  <operand>   또는  low  <operand>

MOVLW           LOW   SIZE           ;하위 바이트 꺼냄
MOVWF           SIZE_LOW            ;보존
MOVLW           HIGH   SIZE           ;상위 바이트 꺼냄
MOVWF           SIZE_HIGH            ;보존


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