¨±   ¸í·É¾îÀÇ Á¤¸®

¸í·É¾î

¿À ÆÛ ·£ µå

¼³                                      ¸í

¹ÙÀÌÆ®

»çÀÌŬ

Arithmetic Operations (»ê¼ú ¿¬»ê ¸í·É¾î)

ADD

A, Rn

Acc¿¡ ·¹Áö½ºÅÍ RnÀÇ °ªÀ» ´õÇÔ

1

1

A, direct

Acc¿¡ direct ¹øÁöÀÇ °ªÀ» ´õÇÔ

2

1

A, @Ri

Acc¿¡ Ri°¡ °¡¸®Å°´Â ¹øÁöÀÇ °ªÀ» ´õÇÔ

1

1

A, #data

Acc¿¡ data(»ó¼ö) °ªÀ» ´õÇÔ

2

1

ADDC

A, Rn

Acc¿¡ ·¹Áö½ºÅÍ RnÀÇ °ª°ú ÀÚ¸®¿Ã¸²¼ö¸¦ ÇÔ²² ´õÇÔ

1

1

A, direct

Acc¿¡ direct ¹øÁöÀÇ °ª°ú ÀÚ¸®¿Ã¸²¼ö¸¦ ÇÔ²² ´õÇÔ

2

1

A, @Ri

Acc¿¡ Ri°¡ °¡¸®Å°´Â ¹øÁöÀÇ °ª°ú ÀÚ¸®¿Ã¸²¼ö¸¦ ÇÔ²² ´õÇÔ

1

1

A, #data

Acc¿¡ data(»ó¼ö) °ª°ú ÀÚ¸®¿Ã¸²¼ö¸¦ ÇÔ²² ´õÇÔ

2

1

SUBB

A, Rn

Acc¿¡¼­ ·¹Áö½ºÅÍ RnÀÇ °ª°ú ºô¸²¼ö¸¦ ÇÔ²² »­

1

1

A, direct

Acc¿¡¼­ direct ¹øÁöÀÇ °ª°ú ºô¸²¼ö¸¦ ÇÔ²² »­

2

1

A, @Ri

Acc¿¡¼­ Ri°¡ °¡¸®Å°´Â ¹øÁöÀÇ °ª°ú ºô¸²¼ö¸¦ ÇÔ²² »­

1

1

A, #data

Acc¿¡¼­ data(»ó¼ö) °ª°ú ºô¸²¼ö¸¦ ÇÔ²² »­

2

1

INC

A

AccÀÇ °ªÀ» 1 Áõ°¡

1

1

Rn

·¹Áö½ºÅÍ RnÀÇ °ªÀ» 1 Áõ°¡

1

1

direct

direct ¹øÁöÀÇ °ªÀ» 1 Áõ°¡

2

1

@Ri

Ri°¡ °¡¸®Å°´Â ¹øÁöÀÇ °ªÀ» 1 Áõ°¡

1

1

DEC

A

AccÀÇ °ªÀ» 1 °¨¼Ò

1

1

Rn

·¹Áö½ºÅÍ RnÀÇ °ªÀ» 1 °¨¼Ò

1

1

direct

direct ¹øÁöÀÇ °ªÀ» 1 °¨¼Ò

2

1

@Ri

Ri°¡ °¡¸®Å°´Â ¹øÁöÀÇ °ªÀ» 1 °¨¼Ò

1

2

MUL

AB

A, B·¹Áö½ºÅ͸¦ °öÇÏ¿© B¿¡ »óÀ§, A¿¡ ÇÏÀ§ 8ºñÆ® ÀúÀå

1

4

DIV

AB

A⁒B¸¦ÇÏ¿© A·¹Áö½ºÅÍ¿¡ ¸ò, B·¹Áö½ºÅÍ¿¡ ³ª¸ÓÁö ÀúÀå

1

4

DA

A

AccÀÇ °ªÀ» BCDÄÚµå ÇüÅ·Πº¯È¯

1

1

Logical Operations (³í¸® ¿¬»ê ¸í·É¾î)

ANL

A, Rn

Acc¿Í ·¹Áö½ºÅÍ RnÀÇ °ªÀ» AND ¿¬»ê

1

1

A, direct

Acc¿Í direct ¹øÁöÀÇ °ªÀ» AND ¿¬»ê

2

1

A, @Ri

Acc¿Í Ri°¡ °¡¸®Å°´Â ¹øÁöÀÇ °ªÀ» AND ¿¬»ê

1

1

A, #data

Acc¿Í data(»ó¼ö) °ªÀ» AND ¿¬»ê

2

1

direct, A

direct ¹øÁöÀÇ °ª°ú Acc¸¦ AND ¿¬»ê

2

1

direct, #data

direct ¹øÁöÀÇ °ª°ú data(»ó¼ö) °ªÀ» AND ¿¬»ê

3

2

ORL

A, Rn

Acc¿Í ·¹Áö½ºÅÍ RnÀÇ °ªÀ» OR ¿¬»ê

1

1

A, direct

Acc¿Í direct ¹øÁöÀÇ °ªÀ» OR ¿¬»ê

2

1

A, @Ri

Acc¿Í Ri°¡ °¡¸®Å°´Â ¹øÁöÀÇ °ªÀ» OR ¿¬»ê

1

1

A, #data

Acc¿Í data(»ó¼ö) °ªÀ» OR ¿¬»ê

2

1

direct, A

direct ¹øÁöÀÇ °ª°ú Acc¸¦ OR ¿¬»ê

2

1

direct, #data

direct ¹øÁöÀÇ °ª°ú data(»ó¼ö) °ªÀ» OR ¿¬»ê

3

2

XRL

A, Rn

Acc¿Í ·¹Áö½ºÅÍ RnÀÇ °ªÀ» EX-OR ¿¬»ê

1

1

A, direct

Acc¿Í direct ¹øÁöÀÇ °ªÀ» EX-OR ¿¬»ê

2

1

A, @Ri

Acc¿Í Ri°¡ °¡¸®Å°´Â ¹øÁöÀÇ °ªÀ» EX-OR ¿¬»ê

1

1

A, #data

Acc¿Í data(»ó¼ö) °ªÀ» EX-OR ¿¬»ê

2

1

direct, A

direct ¹øÁöÀÇ °ª°ú Acc¸¦ EX-OR ¿¬»ê

2

1

direct, #data

direct ¹øÁöÀÇ °ª°ú data(»ó¼ö) °ªÀ» EX-OR ¿¬»ê

3

2

CLR

A

Acc¸¦ Ŭ¸®¾î ½ÃÅ´

1

1

CPL

A

AccÀÇ °ªÀ» ÄÄÇø®¸ÕÆ®(1ÀÇ º¸¼ö) ½ÃÅ´

1

1

RL

A

AccÀÇ °ªÀ» ¿ÞÂÊÀ¸·Î ·ÎÅ×ÀÌÆ®(ȸÀü) ½ÃÅ´

1

1

RLC

A

AccÀÇ °ªÀ» ij¸®¿Í ÇÔ²² ¿ÞÂÊÀ¸·Î ·ÎÅ×ÀÌÆ®(ȸÀü) ½ÃÅ´

1

1

RR

A

AccÀÇ °ªÀ» ¿À¸¥ÂÊÀ¸·Î ·ÎÅ×ÀÌÆ®(ȸÀü) ½ÃÅ´

1

1

RRC

A

AccÀÇ °ªÀ» ij¸®¿Í ÇÔ²² ¿À¸¥ÂÊÀ¸·Î ·ÎÅ×ÀÌÆ®(ȸÀü) ½ÃÅ´

1

1

SWAP

A

AccÀÇ °ªÀÇ »ó·ÇÏÀ§ °ªÀ» ±³Ã¼½ÃÅ´

1

1

Data Transfer (µ¥ÀÌÅÍ À̵¿ ¸í·É¾î)

MOV

A, Rn

·¹Áö½ºÅÍ RnÀÇ °ªÀ» Acc¿¡ À̵¿½ÃÅ´

1

1

A, direct

direct ¹øÁöÀÇ °ªÀ» Acc¿¡ À̵¿½ÃÅ´

2

1

A, @Ri

Ri°¡ °¡¸®Å°´Â ¹øÁöÀÇ °ªÀ» Acc¿¡ À̵¿½ÃÅ´

1

1

Rn, #data

data(»ó¼ö)ÀÇ °ªÀ» ·¹Áö½ºÅÍ Rn¿¡ À̵¿½ÃÅ´

2

1

Rn, A

AccÀÇ °ªÀ» ·¹Áö½ºÅÍ Rn¿¡ À̵¿½ÃÅ´

1

1

Rn, direct

direct ¹øÁöÀÇ °ªÀ» ·¹Áö½ºÅÍ Rn¿¡ À̵¿½ÃÅ´

2

2

Rn, #data

data(»ó¼ö)ÀÇ °ªÀ» ·¹Áö½ºÅÍ Rn¿¡ À̵¿½ÃÅ´

2

1

direct, A

AccÀÇ °ªÀ» direct ¹øÁö·Î À̵¿½ÃÅ´

2

1

direct, Rn

·¹Áö½ºÅÍ RnÀÇ °ªÀ» direct ¹øÁö·Î À̵¿½ÃÅ´

2

2

direct, direct

direct ¹øÁöÀÇ °ªÀ» direct ¹øÁö·Î À̵¿½ÃÅ´

3

2

direct, @Ri

Ri°¡ °¡¸®Å°´Â ¹øÁöÀÇ °ªÀ» direct ¹øÁö·Î À̵¿½ÃÅ´

2

2

direct, #data

data(»ó¼ö)ÀÇ °ªÀ» direct ¹øÁö·Î À̵¿½ÃÅ´

3

2

@Ri, A

AccÀÇ °ªÀ» Ri°¡ °¡¸®Å°´Â ¹øÁö·Î À̵¿½ÃÅ´

1

1

@Ri, direct

direct ¹øÁöÀÇ °ªÀ» Ri°¡ °¡¸®Å°´Â ¹øÁö·Î À̵¿½ÃÅ´

2

2

@Ri, #data

data(»ó¼ö)ÀÇ °ªÀ» Ri°¡ °¡¸®Å°´Â ¹øÁö·Î À̵¿½ÃÅ´

2

1

DPTR, #data16

16bit data(»ó¼ö)ÀÇ °ªÀ» DPTR·Î À̵¿½ÃÅ´

3

2

MOVC

A, @A+DPTR

Acc¿¡ Acc+DPTRÀÌ °¡¸®Å°´Â ¹øÁöÀÇ °ªÀ» À̵¿½ÃÅ´

1

2

A, @A+PC

Acc¿¡ Acc+PC°¡ °¡¸®Å°´Â ¹øÁöÀÇ °ªÀ» À̵¿½ÃÅ´

1

2

MOVX

A, @Ri

Acc¿¡ Ri°¡ °¡¸®Å°´Â ¿ÜºÎ ¹øÁöÀÇ °ªÀ» À̵¿½ÃÅ´

1

2

A, @DPTR

Acc¿¡ DPTRÀÌ °¡¸®Å°´Â ¿ÜºÎ ¹øÁöÀÇ °ªÀ» À̵¿½ÃÅ´

1

2

@Ri, A

Ri°¡ °¡¸®Å°´Â ¿ÜºÎ ¹øÁö¿¡ AccÀÇ °ªÀ» À̵¿½ÃÅ´

1

2

@DPTR, A

DPTRÀÌ °¡¸®Å°´Â ¿ÜºÎ ¹øÁö¿¡ AccÀÇ °ªÀ» À̵¿½ÃÅ´

1

2

PUSH

direct

direct ¹øÁöÀÇ °ªÀ» ½ºÅÿ¡ ³ÖÀ½

2

2

POP

direct

½ºÅÃÀÇ SP°¡ Áö½ÃÇÏ´Â À§Ä¡ÀÇ °ªÀ» ²¨³» direct ¹øÁö¿¡ ³ÖÀ½

2

2

XCH

A, Rn

AccÀÇ °ª°ú ·¹Áö½ºÅÍ RnÀÇ °ªÀ» ±³È¯

1

1

A, direct

AccÀÇ °ª°ú direct ¹øÁöÀÇ °ªÀ» ±³È¯

2

1

A, @Ri

AccÀÇ °ª°ú Ri°¡ °¡¸®Å°´Â ¹øÁöÀÇ °ªÀ» ±³È¯

1

1

XCHD

A, @Ri

AccÀÇ °ª°ú Ri°¡ °¡¸®Å°´Â ¹øÁöÀÇ °ªÀÇ ÇÏÀ§ 4bit ±³È¯

1

1

Boolean Variable Manipulation (ºÒ ´ë¼ö ó¸® ¸í·É¾î)

CLR

C

ij¸® Ç÷¡±×¸¦ Ŭ¸®¾î(0) ½ÃÅ´

1

1

bit

bit ¾îµå·¹½ºÀÇ °ªÀ» Ŭ¸®¾î(0) ½ÃÅ´

2

1

SETB

C

ij¸® Ç÷¡±×¸¦ ¼Â(1) ½ÃÅ´

1

1

bit

bit ¾îµå·¹½ºÀÇ °ªÀ» ¼Â(1) ½ÃÅ´

2

1

CPL

C

ij¸® Ç÷¡±×¸¦ ÄÄÇø®¸ÕÆ®(1ÀÇ º¸¼ö) ½ÃÅ´

1

1

bit

bit ¾îµå·¹½ºÀÇ °ªÀ» ÄÄÇø®¸ÕÆ®(1ÀÇ º¸¼ö) ½ÃÅ´

2

1

ANL

C, bit

ij¸® Ç÷¡±×¿Í bit ¾îµå·¹½ºÀÇ °ªÀ» AND ½ÃÅ´

2

2

C, /bit

ij¸® Ç÷¡±×¿Í bit ¾îµå·¹½ºÀÇ ÄÄÇø®¸ÕÆ® °ªÀ» AND ½ÃÅ´

2

2

ORL

C, bit

ij¸® Ç÷¡±×¿Í bit ¾îµå·¹½ºÀÇ °ªÀ» OR ½ÃÅ´

2

2

C, /bit

ij¸® Ç÷¡±×¿Í bit ¾îµå·¹½ºÀÇ ÄÄÇø®¸ÕÆ® °ªÀ» OR ½ÃÅ´

2

2

MOV

C, bit

ij¸® Ç÷¡±×¿¡ bit ¾îµå·¹½ºÀÇ °ªÀ» À̵¿½ÃÅ´

2

1

bit, C

bit ¾îµå·¹½º¿¡ ij¸® Ç÷¡±×ÀÇ °ªÀ» À̵¿½ÃÅ´

2

2

Program And Machine Control (¼­ºê·çƾ / ºÐ±â ¸í·É¾î)

ACALL

addr11

2Kbyte (2048 byte) ³»ÀÇ Àý´ë ÄÝ (¼­ºê·çƾ)

2

2

LCALL

addr16

·Õ ÄÝ (¼­ºê·çƾ)

3

2

RET


¼­ºê·çƾÀÇ º¹±Í

1

2

RET1


ÀÎÅÍ·´Æ®·ÎºÎÅÍÀÇ º¹±Í

1

2

AJMP

addr11

2Kbyte (2048 byte) ³»ÀÇ Àý´ë Á¡ÇÁ

2

2

LJMP

addr16

·Õ Á¡ÇÁ

3

2

SJMP

rel

ÇöÀç PC¿¡ º¯À§(rel : -128¡­128)¸¦ ´õÇÑ À§Ä¡·Î Á¡ÇÁ

2

2

JMP

@A+DPTR

Acc¿Í DPTRÀÇ °ªÀ» ´õÇÑ ÁÖ¼Ò·Î Á¡ÇÁ

1

2

JZ

rel

Acc°¡ 0À̸é ÇöÀç PC¿¡ º¯À§(rel : -128¡­128)¸¦ ´õÇÑ À§Ä¡·Î Á¡ÇÁ

2

2

JNZ

rel

Acc°¡ 0ÀÌ ¾Æ´Ï¸é PC¿¡ º¯À§(rel : -128¡­128)¸¦ ´õÇÑ À§Ä¡·Î Á¡ÇÁ

2

2

JC

rel

ij¸® Ç÷¡±×°¡ 1À̸é PC¿¡ º¯À§(rel : -128¡­128)¸¦ ´õÇÑ À§Ä¡·Î Á¡ÇÁ

2

2

JNC

rel

ij¸® Ç÷¡±×°¡ 0À̸é PC¿¡ º¯À§(rel : -128¡­128)¸¦ ´õÇÑ À§Ä¡·Î Á¡ÇÁ

2

2

JB

bit, rel

ºñÆ® ¾îµå·¹½º°¡ ¼Â(1) »óÅÂÀ̸é PC¿¡ º¯À§¸¦ ´õÇÑ À§Ä¡·Î Á¡ÇÁ

3

2

JNB

bit, rel

ºñÆ® ¾îµå·¹½º°¡ ¼Â(1) »óÅ°¡ ¾Æ´Ï¸é PC¿¡ º¯À§¸¦ ´õÇÑ À§Ä¡·Î Á¡ÇÁ

3

2

JBC

bit, rel

ºñÆ® ¾îµå·¹½º°¡ ¼Â(1) »óÅÂÀ̸é PC¿¡ º¯À§¸¦ ´õÇÑ À§Ä¡·Î Á¡ÇÁ & ºñÆ® Ŭ¸®¾î(0)

3

2

CJNE

A, direct, rel

Acc¿Í direct ¹øÁöÀÇ °ªÀ» ºñ±³ÇÏ¿© ´Ù¸£¸é PC¿¡ º¯À§¸¦ ´õÇÑ À§Ä¡·Î Á¡ÇÁ

3

2

A, #data, rel

Acc¿Í data(»ó¼ö) °ªÀ» ºñ±³ÇÏ¿© ´Ù¸£¸é PC¿¡ º¯À§¸¦ ´õÇÑ À§Ä¡·Î Á¡ÇÁ

3

2

Rn, #data, rel

·¹Áö½ºÅÍ Rn°ú data(»ó¼ö) °ªÀ» ºñ±³ÇÏ¿© ´Ù¸£¸é PC¿¡ º¯À§¸¦ ´õÇÑ À§Ä¡·Î Á¡ÇÁ

3

2

@Ri, #data, rel

Ri°¡ °¡¸®Å°´Â °ª°ú data(»ó¼ö) °ªÀ» ºñ±³ÇÏ¿© ´Ù¸£¸é PC¿¡ º¯À§¸¦ ´õÇÑ À§Ä¡·Î Á¡ÇÁ

3

2

DJNZ

Rn, rel

·¹Áö½ºÅÍ Rn°ªÀ» 1 °¨¼Ò½ÃÅ°°í PC¿¡ º¯À§¸¦ ´õÇÑ À§Ä¡·Î Á¡ÇÁ

2

2

direct, rel

direct ¹øÁöÀÇ °ªÀ» 1 °¨¼Ò½ÃÅ°°í PC¿¡ º¯À§¸¦ ´õÇÑ À§Ä¡·Î Á¡ÇÁ

3

2

NOP


¾Æ¹« 󸮵µ ÇÏÁö ¾ÊÀ½

1

1

¿ÀÆÛ ·£µåÀÇ ¾îµå·¹½º ¸ðµå ¼³¸í

Rn

¸Þ¸ð¸® ¾îµå·¹½º 00¡­1FH / ¹ü¿ë ·¹Áö½ºÅÍ / R0, R1Àº ¸Þ¸ð¸® ¾îµå·¹½º Æ÷ÀÎÅÍ·Î »ç¿ë / R3¡­R7Àº ¹ü¿ë

direct

¸Þ¸ð¸® ¾îµå·¹½º 20H¡­2FH / ³»ºÎ µ¥ÀÌÅÍ ¸Þ¸ð¸® (16byte = 128bit) /

@Ri

³»ºÎ µ¥ÀÌÅÍ ¸Þ¸ð¸®ÀÇ °£Á¢ ¹øÁö ÁöÁ¤ / R0, R1 ÀÌ¿ë

#data

8bit »ó¼ö µ¥ÀÌÅÍ

#data16

16bit »ó¼ö µ¥ÀÌÅÍ

bit

ºñÆ® ¾îµå·¹½º ¿µ¿ªÀÇ ºñÆ® ¹øÈ£

addr16

LCALL°ú LJMP¿¡¼­ »ç¿ëÇÏ´Â 64Kbyte ³»ÀÇ ÇÁ·Î±×·¥ ¸Þ¸ð¸® ¾îµå·¹½º

addr11

ACALL°ú AJMP¿¡¼­ »ç¿ëÇÏ´Â 2Kbyte ³»ÀÇ ÇÁ·Î±×·¥ ¸Þ¸ð¸® ¾îµå·¹½º

rel

SJMPµî¿¡¼­ »ç¿ëÇÏ´Â -128¡­128byte »çÀÌÀÇ ¾îµå·¹½º º¯À§

 

¨²   8051 ¾î¼Àºí·¯ Áö½Ã¾î

    ¾î¼Àºí·¯ Áö½Ã¾î'¶õ ÇÁ·Î±×·¥ ½ÇÇà°ú´Â °ü°è°¡ ¾ø°í ´ÜÁö ¾î¼Àºí·¯¿¡°Ô Á¤º¸¸¸ Á¦°øÇØ ÁÖ´Â ¸í·É¾îÀÌ´Ù

     1) ORG (ORiGen) : ÇÁ·Î±×·¥°ú µ¥ÀÌÅÍÀÇ ½ÃÀÛ ¹øÁö ¼³Á¤
     2) END: ¾î¼Àºí·¯ ÀÛ¾÷ÀÇ Á¾·á¸¦ ³ªÅ¸³¿. END¹® ÀÌÈÄÀÇ ¾î¼Àºí¸®¾î ÇÁ·Î±×·¥Àº ±â°è¾î·Î  º¯È¯µÇÁö ¾Ê´Â´Ù
     3) EQU (EQUate) : Label¿¡ ½ÄÀÇ °ªÀ» ÇÒ´çÇÑ´Ù
     4) DB (Define Byte) : ¸Þ¸ð¸®¿¡ µ¥ÀÌÅ͸¦ 1¹ÙÀÌÆ® ´ÜÀ§·Î ÀúÀå
     5) DW (Define Word) : ¸Þ¸ð¸®¿¡ µ¥ÀÌÅ͸¦ 2¹ÙÀÌÆ®(¿öµå) ´ÜÀ§·Î ÀúÀå
     6) DS (Define Storage) : ¸Þ¸ð¸®¸¦ ¹ÙÀÌÆ® ´ÜÀ§·Î È®º¸