Ћ„ЌЋЉђ€‘’Ђ‹њЌ›… Њ€ЉђЋЉЋЌ’ђЋ‹‹…ђ› iMCS51
‘€‘’…ЊЂ ЉЋЊЂЌ„

”®а¬ вл Є®¬ ­¤
Ћ¤­®Ў ©в­лҐ:
7 0 ЋЎлз­®
ЪДВДВДВДВДВДВДВДї OP ї ®¤­®жЁЄ«®ўлҐ
АДБДБДБДБДБДБДБДЩ OP dst,src Г Є®¬ ­¤л
OP src Щ (2.5 ¬Єб)
„ўгеЎ ©в­лҐ:
15 8 7 0
ЪДДДДДДДДДДДДДДДїЪДДДДДДДДДДДДДДДї ї
і OP іі data8 і і
АДДДДДДДДДДДДДДДЩАДДДДДДДДДДДДДДДЩ і
ЪДДДДДДДДДДДДДДДїЪДДДДДДДДДДДДДДДї і
і OP іі ad8 і і ЋЎлз­®
АДДДДДДДДДДДДДДДЩАДДДДДДДДДДДДДДДЩ і ®¤­®жЁЄ«®ўлҐ
ЪДДДДДВДДДДДДДДДїЪДДДДДДДДДДДДДДДї і (¤ўгежЁЄ«®ўлҐ)
іa10_8і OP ііa7 a0і Г Є®¬ ­¤л
АДДДДДБДДДДДДДДДЩАДДДДДДДДДДДДДДДЩ і (2.5-5 ¬Єб)
ЪДДДДДДДДДДДДДДДїЪДДДДДДДДДДДДДДДї і
і OP іі bit і і
АДДДДДДДДДДДДДДДЩАДДДДДДДДДДДДДДДЩ і
ЪДДДДДДДДДДДДДДДїЪДДДДДДДДДДДДДДДї і
і OP іі rel і і
АДДДДДДДДДДДДДДДЩАДДДДДДДДДДДДДДДЩ Щ
’аҐеЎ ©в­лҐ:
23 16 15 8 7 0
ЪДДДДДДДДДДДДДДДїЪДДДДДДДДДДДДДДДїЪДДДДДДДДДДДДДДДїї
і OP іі ad8 іі data8 іі
АДДДДДДДДДДДДДДДЩАДДДДДДДДДДДДДДДЩАДДДДДДДДДДДДДДДЩі
ЪДДДДДДДДДДДДДДДїЪДДДДДДДДДДДДДДДїЪДДДДДДДДДДДДДДДїі
і OP іі ad8 іі rel іі
АДДДДДДДДДДДДДДДЩАДДДДДДДДДДДДДДДЩАДДДДДДДДДДДДДДДЩі
ЪДДДДДДДДДДДДДДДїЪДДДДДДДДДДДДДДДїЪДДДДДДДДДДДДДДДїі
і OP іі ad8 іі ad8 іі
АДДДДДДДДДДДДДДДЩАДДДДДДДДДДДДДДДЩАДДДДДДДДДДДДДДДЩі„ўгежЁЄ-
ЪДДДДДДДДДДДДДДДїЪДДДДДДДДДДДДДДДїЪДДДДДДДДДДДДДДДїі«®ўлҐ
і OP іі data8 іі rel іГЄ®¬ ­¤л
АДДДДДДДДДДДДДДДЩАДДДДДДДДДДДДДДДЩАДДДДДДДДДДДДДДДЩі(5 ¬Єб)
ЪДДДДДДДДДДДДДДДїЪДДДДДДДДДДДДДДДїЪДДДДДДДДДДДДДДДїі
і OP іі bit іі rel іі
АДДДДДДДДДДДДДДДЩАДДДДДДДДДДДДДДДЩАДДДДДДДДДДДДДДДЩі
ЪДДДДДДДДДДДДДДДїЪДДДДДДДДДДДДДДДїЪДДДДДДДДДДДДДДДїі
і OP іі ad16h іі ad16l іі
АДДДДДДДДДДДДДДДЩАДДДДДДДДДДДДДДДЩАДДДДДДДДДДДДДДДЩі
ЪДДДДДДДДДДДДДДДїЪДДДДДДДДДДДДДДДїЪДДДДДДДДДДДДДДДїі
і OP іі d16h іі d16l іі
АДДДДДДДДДДДДДДДЩАДДДДДДДДДДДДДДДЩАДДДДДДДДДДДДДДДЩЩ
Ђ¤аҐб жЁп:
- Їап¬ п - гЄ®а®зҐ­­ п ॣЁбва®ў п Rr
- DSEG
- BSEG
- Ї®¤а §г¬Ґў Ґ¬ п -  ЄЄ ¬г«пв®а Ђ
- Є®бўҐ­­ п ॣЁбва®ў п ; ®Ў®§­ з Ґвбп ЇаҐдЁЄб®¬ @
- зҐаҐ§ R0, R1
- зҐаҐ§ DPTR
- зҐаҐ§ Ђ Ї® Ў §Ґ ў PC Ё«Ё DPTR
- ­ҐЇ®б।б⢥­­ п - ®Ў®§­ з Ґвбп ЇаҐдЁЄб®¬ #
- ®в­®бЁвҐ«м­ п ў Є®¬ ­¤ е гб«®ў­®Ј® ЇҐаҐе®¤  ­   ¤аҐб rel
ў¬Ґбв® гЄ®а®зҐ­­®© бва ­Ёз­®©, rel Ё§ ¬­®¦Ґбвў  [-127,+127]
‡  ®¤Ё­ ¬ иЁ­­л© жЁЄ« ўў®¤Ёвбп ¤® ¤ўге Ў ©в, Ї®н⮬㠡®«м-
иЁ­бвў® 1-2-ге Ў ©в­ле Є®¬ ­¤ - ®¤­®жЁЄ«®ўлҐ.
.
- 2 -

1. Љ®¬ ­¤л ЇҐаҐбл«ЄЁ
ДДДДДДДДДДДДДДВДДДВДДДДДДДДДДДДДДДДДДДДДДДДДВДДВДДДДДВДДДДДДДДДД
Њ­Ґ¬®­ЁЄ  іЂ¤аі ‘®¤Ґа¦ ­ЁҐ іCyі—Ёб«®іЏаЁ¬Ґз ­ЁҐ
і і і іжЄіЎві
ДДДДДДДДДДДДДДЕДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДЕДДЕДДЕДДЕДДДДДДДДДД
MOV A,Rr іЏ і(A) <- (Rr), r=0_7 і--і 1і 1і MOVe
MOV A,ad8 іЏ і(A) <- (ad8) і--і 1і 2і MOVe
MOV A,@Ri іЏ,Љі(A) <- ((Ri)), i=0;1 і--і 1і 1і
MOV A,#data8 іЏ,Ќі(A) <- data8 і--і 1і 2і
MOV Rr,A іЏ і(Rr) <- (A) і--і 1і 1і
MOV Rr,ad8 іЏ і(Rr) <- (ad8) і--і 2і 2і
MOV Rr,#data8 іЏ,Ќі(Rr) <- data8 і--і 1і 2і
MOV ad8,A іЏ і(ad8) <- (A) і--і 1і 2і
MOV ad8,Rr іЏ і(ad8) <- (Rr) і--і 2і 2і
MOV ad8,ad8 іЏ і(ad8) <- (ad8) і--і 2і 3і
MOV ad8,@Ri іЏ,Љі(ad8) <- ((Ri)) і--і 2і 2і
MOV ad8,#data8іЏ,Ќі(ad8) <- data8 і--і 2і 3і
MOV @Ri,A іЉ,Џі((Ri)) <- (A) і--і 1і 1і
MOV @Ri,ad8 іЉ,Џі((Ri)) <- (ad8) і--і 2і 2і
MOV @Ri,#data8іЉ,Ќі((Ri)) <- data8 і--і 1і 2і
MOV DPTR,#d16 іЉ,Ќі(DPTR) <- d16 і--і 2і 3і
XCH A,Rr іЏ і(A) <-> (Rr) і--і 1і 1іeXCHange
XCH A,ad8 іЏ і(A) <-> (ad8) і--і 1і 1і
XCH A,@Ri іЏ,Љі(A) <-> ((Ri)) і--і 1і 1і
XCHD A,@Ri іЏ,Љі(A3_0)<->((Ri3_0)), i=0;1і--і 1і 1і Digit
SWAP A іЏ і(A3_0) <-> (A7_4) і--і 1і 1і
PUSH ad8 іЏ і(+(SP)) <- (ad8) і--і 1і 2і
POP ad8 іЏ і(ad8) <- ((SP)-) і--і 1і 2і
MOVX A,@Ri іЏ,Љі(A) <- XSEG((P2):(Ri)) і--і 2і 1іMOVe
MOVX A,@DPTR іЏ,Љі(A) <- XSEG((DPTR)) і--і 2і 1іeXternl segm
MOVX @Ri,A іЉ,ЏіXSEG((P2):(Ri)) <- (A) і--і 2і 1і
MOVX @DPTR,A іЉ,ЏіXSEG((DPTR)) <- (A) і--і 2і 1і
MOVC A,@A+DPTRіЏ,Љі(A) <- CSEG((A)+(DPTR)) і--і 2і 1іMOVe
MOVC A,@A+PC іЏ,Љі(A) <- CSEG((A)+(PC)) і--і 2і 1іCode segm
і і і і і і


2. Љ®¬ ­¤л «®ЈЁзҐбЄ®© ®Ўа Ў®вЄЁ
ДДДДДДДДДДДДДДВДДДВДДДДДДДДДДДДДДДДДДДДДДДДДВДДВДДДДДВДДДДДДДДДД
Њ­Ґ¬®­ЁЄ  іЂ¤аі ‘®¤Ґа¦ ­ЁҐ іCyі—Ёб«®іЏаЁ¬Ґз ­ЁҐ
і і і іжЄіЎві
ДДДДДДДДДДДДДДЕДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДЕДДЕДДЕДДЕДДДДДДДДДД
ANL A,Rr іЏ і(A) <- (A)&(Rr) і--і 1і 1іANd Logical
ANL A,ad8 іЏ і(A) <- (A)&(ad8) і--і 1і 1іЏ®а §ап¤­®
ANL A,@Ri іЏ,Љі(A) <- (A)&((Ri)) і--і 1і 1і
ANL A,#data8 іЏ,Ќі(A) <- (A)& data8 і--і 1і 2і
ANL ad8,A іЏ,Ќі(ad8) <- (ad8)& (A) і--і 1і 2і
ANL ad8,#data8іЏ,Ќі(ad8) <- (ad8)& data8 і--і 2і 3і
ORL A,Rr іЏ і(A) <- (A)V(Rr) і--і 1і 1іOR Logical
ORL A,ad8 іЏ і(A) <- (A)V(ad8) і--і 1і 1іЏ®а §ап¤­®
ORL A,@Ri іЏ,Љі(A) <- (A)V((Ri)) і--і 1і 1і
ORL A,#data8 іЏ,Ќі(A) <- (A)V data8 і--і 1і 2і
ORL ad8,A іЏ,Ќі(ad8) <- (ad8)V (A) і--і 1і 2і
ORL ad8,#data8іЏ,Ќі(ad8) <- (ad8)V data8 і--і 2і 3і
XRL A,Rr іЏ і(A) <- (A)+mod2(Rr) і--і 1і 1іeXcludely
XRL A,@Rr іЏ,Љі(A) <- (A)+mod2((Ri)) і--і 1і 1іOR Logical
XRL A,#data8 іЏ,Ќі(A) <- (A)+mod2 data8 і--і 2і 2іЏ®а §ап¤­®
XRL A,#data8 іЏ,Ќі(A) <- (A)+mod2 data8 і--і 1і 2і
XRL ad8,A іЏ,Ќі(ad8) <- (ad8)+mod2 (A) і--і 1і 2і
XRL ad8,#data8іЏ,Ќі(ad8) <- (ad8)+mod2 data8і--і 2і 3і
CLR A іЏ і(A) <- 0 і--і 1і 1іCLeaRe
CPL A іЏ і(A) <- ї(A) і--і 1і 1іComPLement

- 3 -

ДДДДДДДДДДДДДДВДДДВДДДДДДДДДДДДДДДДДДДДДДДДДВДДВДДДДДВДДДДДДДДДД
Њ­Ґ¬®­ЁЄ  іЂ¤аі ‘®¤Ґа¦ ­ЁҐ іCyі—Ёб«®іЏаЁ¬Ґз ­ЁҐ
і і і іжЄіЎві
ДДДДДДДДДДДДДДЕДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДЕДДЕДДЕДДЕДДДДДДДДДД
RL A іЏ іЪ<-A7<-A6<-...A0<-ї і--і 1і 1іRotate
і іАДДДДДДДДДДДДДДДДДЩ і і і іLeft
RLC A іЏ іЪ<-Cy<-A7<-A6<-...A0<-ї і +і 1і 1іwith Carry
і іАДДДДДДДДДДДДДДДДДДДДДЩ і і і і
RR A іЏ іЪ->A7->A6->...A0->ї і--і 1і 1іRotate
і іАДДДДДДДДДДДДДДДДДЩ і і і іRight
RRC A іЏ іЪ->A7->A6->...A0->Cy->ї і +і 1і 1іwith Carry
і іАДДДДДДДДДДДДДДДДДДДДДЩ і і і і


3. Љ®¬ ­¤л  аЁд¬ҐвЁзҐбЄ®© ®Ўа Ў®вЄЁ
ДДДДДДДДДДДДДДВДДДВДДДДДДДДДДДДДДДДДДДДДДДДДВДДВДДДДДВДДДДДДДДДД
Њ­Ґ¬®­ЁЄ  іЂ¤аі ‘®¤Ґа¦ ­ЁҐ іCyі—Ёб«®іЏаЁ¬Ґз ­ЁҐ
і і і іжЄіЎві
ДДДДДДДДДДДДДДЕДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДЕДДЕДДЕДДЕДДДДДДДДДД
ADD A,Rr іЏ і(A) <- (A)+(Rr), r=0_7 і +і 1і 1іAdd
ADD A,ad8 іЏ і(A) <- (A)+(ad8) і +і 1і 2і
ADD A,@Ri іЏ,Љі(A) <- (A)+((Ri)), i=0;1 і +і 1і 1і
ADD A,#data8 іЏ,Ќі(A) <- (A)+data8 і +і 1і 2і
ADDC A,Rr іЏ і(A) <- (A)+(Rr)+(Cy) і +і 1і 1іAdd
ADDC A,ad8 іЏ і(A) <- (A)+(ad8)+(Cy) і +і 1і 2іwith Carry
ADDC A,@Ri іЏ,Љі(A) <- (A)+((Ri))+(Cy) і +і 1і 1і
ADDC A,#data8 іЏ,Ќі(A) <- (A)+data8+(Cy) і +і 1і 2і
SUBB A,Rr іЏ і(A) <- (A)-(Rr)-(Cy) і +і 1і 1іSubtract
SUBB A,ad8 іЏ і(A) <- (A)-(ad8)-(Cy) і +і 1і 2іwith Carry
SUBB A,@Ri іЏ,Љі(A) <- (A)-((Ri))-(Cy) і +і 1і 1і
SUBB A,#data8 іЏ,Ќі(A) <- (A)-data8-(Cy) і +і 1і 2і
INC A іЏ і(A) <- (A)+1 і--і 1і 1іINCrement
INC Rr іЏ і(Rr) <- (Rr)+1 і--і 1і 1і
INC ad8 іЏ і(ad8) <- (ad8)+1 і--і 1і 1і
INC @Ri іK і((Rr)) <- ((Rr))+1 і--і 1і 1і
INC DPTR іK і(DPTR) <- (DPTR)+1 і--і 2і 1і
DEC A іЏ і(A) <- (A)-1 і--і 1і 1іDECrement
DEC Rr іЏ і(Rr) <- (Rr)-1 і--і 1і 1і
DEC ad8 іЏ і(ad8) <- (ad8)-1 і--і 1і 1і
DEC @Ri іK і((Rr)) <- ((Rr))-1 і--і 1і 1і
MUL AB іЏ і(B):(A) <- (A)*(B) і 0і 4і 1і–Ґ«®зЁб«Ґ­­лҐ
DIV AB іЏ і(A):(B) <- (A)/(B) і 0і 4і 1іЎҐ§ §­ Є 
DA A іЏ і2/10 Є®а४жЁп A і +і 1і 1і


4. Љ®¬ ­¤л ЇҐаҐе®¤ 
ДДДДДДДДДДВДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Њ­Ґ¬®­ЁЄ  іЂ¤аі ‘®¤Ґа¦ ­ЁҐ іCyі—Ёб«®іЏаЁ¬Ґз ­ЁҐ
і і і іжЄіЎві
ДДДДДДДДДДЕДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДЕДДЕДДЕДДДДДДДДДД
AJMP ad11і Ќ і(PC10_0) <- ad11; і--і 2і 2іJuMP
LJMP ad16 і Ќ і(PC) <- ad16 і--і 2і 3іLong JuMP
SJMP rel і Ќ і(PC) <- (PC)+rel; і--і 2і 2і
JMP @A+ і Џ і(PC) <- (DPTR)+(A) і--і 2і 1і
DPTRі і і і і і
DJNZ Rr, іЏ,Ќі(Rr) <- (Rr)-1; Ґб«Ё (Rr)ї=0 і--і 2і 2іDecrement;
rel і ів® (PC) <- (PC)+rel; r=0_7 і і і іJump if Not
DJNZ ad8, іЏ,Ќі(ad8)<- (ad8)-1;Ґб«Ё (ad8)ї=0і--і 2і 2іZiro
rel і ів® (PC) <- (PC)+rel; r=0_7 і і і і
і і і і і іJump if:
JZ rel і Ќ і…б«Ё (A) =0,в® (PC)<-(PC)+relі--і 2і 2іZiro
JNZ rel і Ќ і…б«Ё (A)ї=0,в® (PC)<-(PC)+relі--і 2і 2іNot Ziro

- 4 -

ДДДДДДДДДДВДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Њ­Ґ¬®­ЁЄ  іЂ¤аі ‘®¤Ґа¦ ­ЁҐ іCyі—Ёб«®іЏаЁ¬Ґз ­ЁҐ
і і і іжЄіЎві
ДДДДДДДДДДЕДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДЕДДЕДДЕДДДДДДДДДД
CJNE A, і Џ і…б«Ё (A)ї=(ad8), і +і 2і 3іCompare;
ad8, relіЏ,Ќі в® (PC)<-(PC)+rel і і і іJump if Not
CJNE A, і Џ і…б«Ё (A)ї=data8, і +і 2і 3іEqual
#data8,relіЌ,Ќі в® (PC)<-(PC)+rel і і і і
CJNE Rr, і Џ і…б«Ё (Rr)ї=data8, і +і 2і 3і
#data8,relіЌ,Ќі в® (PC)<-(PC)+rel і і і і
CJNE @Ri, і K і…б«Ё ((Ri))ї=data8, і +і 2і 3і
#data8,relіЌ,Ќі в® (PC)<-(PC)+rel і і і і
ACALL ad11і Ќ і(+(SP)) <- (PC); і--і 2і 2і
і і (PC10_0) <- ad11 і і і і
LCALL ad16і Ќ і(+(SP)) <- (PC); і--і 2і 3і
і і (PC10_0) <- ad16 і і і і
RET і і(PC) <- ((SP)-) і--і 2і 1і
RETI і і(PC) <- ((SP)-); Љ®­Ґж ЇаҐа-пі--і 2і 1і
NOP і і(PC) <- (PC)+1 і--і 1і 1іЌҐв ®ЇҐа жЁЁ


5. Љ®¬ ­¤л Ўг«Ґў  Їа®жҐбб®а 
ДДДДДДДДДДДВДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДВДДВДДДДДВДДДДДДДДДД
Њ­Ґ¬®­ЁЄ  іЂ¤аі ‘®¤Ґа¦ ­ЁҐ іCyі—Ёб«®іЏаЁ¬Ґз ­ЁҐ
і і і іжЄіЎві
ДДДДДДДДДДДЕДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДЕДДЕДДЕДДДДДДДДДД
MOV C,bit і Џ і (‘y) <- BSEG(bit) і +і 1і 2іMOVe
MOV bit,C і Џ і BSEG(bit) <- (Cy) і--і 2і 2і
CLR C і Џ і (Cy) <- 0 і 0і 1і 1іCLeaRe
CLR bit і Џ і BSEG(bit) <- 0 і 0і 1і 1і
SETB C і Џ і (Cy) <- 1 і 0і 1і 1іSET Bit
SETB bit і Џ і BSEG(bit) <- 1 і 0і 1і 1і
CPL C і Џ і (Cy) <- ї(Cy) і +і 1і 1іComPLement
CPL bit і Џ і BSEG(bit) <- їBSEG(bit) і +і 1і 1і
ANL C,bit і Џ і (Cy) <- (Cy)& BSEG(bit) і +і 2і 2іANd Logical
ANL C,/bit і Џ і (Cy) <- (Cy)&їBSEG(bit) і +і 2і 2і
ORL C,bit і Џ і (Cy) <- (Cy)V BSEG(bit) і +і 2і 2іOR Logical
ORL C,/bit і Џ і (Cy) <- (Cy)VїBSEG(bit) і +і 2і 2і
JC rel і Ќ і…б«Ё (Cy)=1,в® SJMP rel і--і 2і 2іJump if Carry
JNC rel і Ќ і…б«Ё (Cy)=0,в® SJMP rel і--і 2і 2іNot Carry
JB bit,relіЏ,Ќі…б«Ё BSEG(bit)=1,в® SJMP relі--і 2і 2іBit
JNB bit,relіЏ,Ќі…б«Ё BSEG(bit)=0,в® SJMP relі--і 2і 2іNot Bit
JBC bit,relіЏ,Ќі…б«Ё BSEG(bit)=1,в® SJMP relі--і 2і 2іBit
і і ; BSEG(bit)=0 і і і іCleare