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            ;º¸Á¸


´ÙÀ½ ÆäÀÌÁö·Î            ¸ñÂ÷ ÆäÀÌÁö·Î