| Instrukcje |
|
Prezentujemy listę instrukcji mikroprocesora 8051: ACALL addr11 Dzialanie: (PC) (PC) + 2 (SP) (SP) + 1 ((SP)) (PC7-0) (SP) (SP) + 1 ((SP)) (PC15-8) (PC10-0) addr11 Format: a10 a9 a8 1 0 0 0 1 a7 a6 a5 a4 a3 a2 a1 a0 Liczba cykli maszynowych: 2 Zmiana stanu flag: nie zmienia ADD A,Rn Dzialanie: (A) (A) + (Rn) Format: 0 0 1 0 1 r r r Liczba cykli maszynowych: 1 Zmiana stanu flag: C, AC, OV, P ADD A,direct Dzialanie: (A) (A) + (direct) Format: 0 0 0 1 0 1 0 1 direct Liczba cykli maszynowych: 1 Zmiana stanu flag: C, AC, OV, P ADD A,@Ri Dzialanie: (A) (A) + ((Ri)) Format: 0 0 1 0 0 1 1 i Liczba cykli maszynowych: 1 Zmiana stanu flag: C, AC, OV, P ADD A,#data Dzialanie: (A) (A) + #data Format: 0 0 1 0 0 1 0 0 data Liczba cykli maszynowych: 1 Zmiana stanu flag: C, AC, OV, P ADDC A,Rn Dzialanie: (A) (A) + (C) + (Rn) Format: 0 0 1 1 1 r r r Liczba cykli maszynowych: 1 Zmiana stanu flag: C, AC, OV, P ADDC A,direct Dzialanie: (A) (A) + (C) + (direct) Format: 0 0 1 1 0 1 0 1 direct Liczba cykli maszynowych: 1 Zmiana stanu flag: C, AC, OV, P ADDC A,@Ri Dzialanie: (A) (A) + (C) + ((Ri)) Format: 0 0 1 1 0 1 1 i Liczba cykli maszynowych: 1 Zmiana stanu flag: C, AC, OV, P ADDC A,#data Dzialanie: (A) (A) + (C) + #data Format: 0 0 1 1 0 1 0 0 data Liczba cykli maszynowych: 1 Zmiana stanu flag: C, AC, OV, P AJMP addr11 Dzialanie: (PC) (PC) + 2 (PC10-0) addr11 Format: a10 a9 a8 0 0 0 0 1 a7 a6 a5 a4 a3 a2 a1 a0 Liczba cykli maszynowych: 1 Zmiana stanu flag: nie zmienia ANL A,Rn Dzialanie: (A) (A) and (Rn) Format: 0 1 0 1 1 r r r Liczba cykli maszynowych: 1 Zmiana stanu flag: P ANL A,direct Dzialanie: (A) (A) and (direct) Format: 0 1 0 1 0 1 0 1 direct Liczba cykli maszynowych: 1 Zmiana stanu flag: P ANL A,@Ri Dzialanie: (A) (A) and ((Ri)) Format: 0 1 0 1 0 1 1 i Liczba cykli maszynowych: 1 Zmiana stanu flag: P ANL A,#data Dzialanie: (A) (A) and #data Format: 0 1 0 1 0 1 0 0 data Liczba cykli maszynowych: 1 Zmiana stanu flag: P ANL direct,A Dzialanie: (direct) (direct) and (A) Format: 0 1 0 1 0 0 1 0 direct Liczba cykli maszynowych: 1 Zmiana stanu flag: nie zmienia ANL direct,#data Dzialanie: (direct ) (direct) and #data Format: 0 1 0 1 0 0 1 1 direct data Liczba cykli maszynowych: 2 Zmiana stanu flag: nie zmienia ANL C,bit Dzialanie: (C) (C) and (bit) Format: 1 0 0 0 0 0 1 0 bit Liczba cykli maszynowych: 2 Zmiana stanu flag: C ANL C,/bit Dzialanie: (C) (C) and (not bit) Format: 1 0 1 1 0 0 0 0 bit Liczba cykli maszynowych: 2 Zmiana stanu flag: C CJNE A,direct,rel Dzialanie: (PC) (PC) + 3 if (A) <> (direct) then (PC) (PC) + relative offset if (A) < (direct) then (C) 1 else (C) 0 Format: 1 0 1 1 0 1 0 0 direct rel Liczba cykli maszynowych: 2 Zmiana stanu flag: C CJNE A,#data,rel Dzialanie: (PC) (PC) + 3 if (A) <> data then (PC) (PC) + relative offset if (A) < data then (C) 1 else (C) 0 Format: 1 0 1 1 0 1 0 1 data rel Liczba cykli maszynowych: 2 Zmiana stanu flag: C CJNE Rn,#data,rel Dzialanie: (PC) (PC) + 3 if (Rn) <> data then (PC) (PC) + relative offset if (Rn) < data then (C) 1 else (C) 0 Format: 1 0 1 1 1 r r r data rel Liczba cykli maszynowych: 2 Zmiana stanu flag: C CJNE @Ri,#data,rel Dzialanie: (PC) (PC) + 3 if ((Ri)) <> data then (PC) (PC) + relative offset if ((Ri)) < data then (C) 1 else (C) 0 Format: 1 0 1 1 0 1 1 i data rel Liczba cykli maszynowych: 2 Zmiana stanu flag: C CLR A Dzialanie: (A) 0 Format: 1 1 1 0 0 1 0 0 Liczba cykli maszynowych: 1 Zmiana stanu flag: P CLR C Dzialanie: (C) 0 Format: 1 1 0 0 0 0 1 1 Liczba cykli maszynowych: 1 Zmiana stanu flag: C CLR bit Dzialanie: (bit) 0 Format: 1 1 0 0 0 0 1 0 bit Liczba cykli maszynowych: 1 Zmiana stanu flag: nie zmienia CPL A Dzialanie: (A) not (A) Format: 1 1 1 1 0 1 0 0 Liczba cykli maszynowych: 1 Zmiana stanu flag: nie zmienia CPL C Dzialanie: (C) not (C) Format: 1 0 1 1 0 0 1 1 Liczba cykli maszynowych: 1 Zmiana stanu flag: C CPL bit Dzialanie: (bit) not (bit) Format: 1 0 1 1 0 0 1 0 bit Liczba cykli maszynowych: 1 Zmiana stanu flag: nie zmienia DA A Dzialanie: if [(A3-0) > 9 or (AC) = 1] then (A3-0) (A3-0) + 6 if [(A7-4) > 9 or (C) = 1] then (A7-4) (A7-4) + 6 Format: 1 1 0 1 0 1 0 0 Liczba cykli maszynowych: 1 Zmiana stanu flag: C, P DEC A Dzialanie: (A) (A) - 1 Format: 0 0 0 1 0 1 0 0 Liczba cykli maszynowych: 1 Zmiana stanu flag: P DEC Rn Dzialanie: (Rn) (Rn) - 1 Format: 0 0 0 1 1 r r r Liczba cykli maszynowych: 1 Zmiana stanu flag: nie zmienia DEC direct Dzialanie: (direct) (direct) - 1 Format: 0 0 0 1 0 1 0 1 direct Liczba cykli maszynowych: 1 Zmiana stanu flag: nie zmienia DEC @Ri Dzialanie: ((Ri)) ((Ri)) - 1 Format: 0 0 0 1 0 1 1 i Liczba cykli maszynowych: 1 Zmiana stanu flag: nie zmienia DIV AB Dzialanie: (A) Int [(A) / (B)] (B) Mod [(A) / (B)] Format: 1 0 0 0 0 1 0 0 Liczba cykli maszynowych: 4 Zmiana stanu flag: C, OV, P DJNZ Rn,rel Dzialanie: (PC) (PC) + 2 (Rn) (Rn) - 1 if (Rn) > 0 or (Rn) < 0 then (PC) (PC) + rel Format: 1 1 0 1 1 r r r rel Liczba cykli maszynowych: 2 Zmiana stanu flag: nie zmienia DJNZ direct,rel Dzialanie: (PC) (PC) + 2 (direct) (direct) - 1 if (direct) > 0 or (direct) < 0 then (PC) (PC) + rel Format: 1 1 0 1 0 1 0 1 direct rel Liczba cykli maszynowych: 2 Zmiana stanu flag: nie zmienia INC A Dzialanie: (A) (A) + 1 Format: 0 0 0 0 0 1 0 0 Liczba cykli maszynowych: 1 Zmiana stanu flag: P INC Rn Dzialanie: (Rn) (Rn) + 1 Format: 0 0 0 0 1 r r r Liczba cykli maszynowych: 1 Zmiana stanu flag: nie zmienia INC direct Dzialanie: (direct) (direct) + 1 Format: 0 0 0 0 0 1 0 1 direct Liczba cykli maszynowych: 1 Zmiana stanu flag: nie zmienia INC Ri Dzialanie: ((Ri)) ((Ri)) + 1 Format: 0 0 0 0 0 1 1 i Liczba cykli maszynowych: 1 Zmiana stanu flag: nie zmienia INC DPTR Dzialanie: (DPTR) (DPTR) + 1 Format: 0 0 0 0 0 1 0 0 Liczba cykli maszynowych: 1 Zmiana stanu flag: nie zmienia JB bit,rel Dzialanie: (PC) (PC) + 3 if (bit) = 1 then (PC) (PC) + rel Format: 0 0 1 0 0 0 0 0 bit rel Liczba cykli maszynowych: 2 Zmiana stanu flag: nie zmienia JBC bit,rel Dzialanie: (PC) (PC) + 3 if (bit) = 1 then (bit) 0 (PC) (PC) + rel Format: 0 0 0 1 0 0 0 0 bit rel Liczba cykli maszynowych: 2 Zmiana stanu flag: nie zmienia JC rel Dzialanie: (PC) (PC) + 2 if (C) = 1 then (PC) (PC) + rel Format: 0 1 0 0 0 0 0 0 rel Liczba cykli maszynowych: 2 Zmiana stanu flag: nie zmienia JMP @A+DPTR Dzialanie: (PC) (A) + (DPTR) Format: 0 1 1 1 0 0 1 1 Liczba cykli maszynowych: 2 Zmiana stanu flag: nie zmienia JNB bit,rel Dzialanie: (PC) (PC) + 3 if (bit) = 0 then (PC) (PC) + rel Format: 0 0 1 1 0 0 0 0 bit rel Liczba cykli maszynowych: 2 Zmiana stanu flag: nie zmienia JNC rel Dzialanie: (PC) (PC) + 2 if (C) = 0 then (PC) (PC) + rel Format: 0 1 0 1 0 0 0 0 rel Liczba cykli maszynowych: 2 Zmiana stanu flag: nie zmienia JNZ rel Dzialanie: (PC) (PC) + 2 if (A) <> 0 then (PC) (PC) + rel Format: 0 1 1 1 0 0 0 0 rel Liczba cykli maszynowych: 2 Zmiana stanu flag: nie zmienia JZ rel Dzialanie: (PC) (PC) + 2 if (A) = 0 then (PC) (PC) + rel Format: 0 1 1 0 0 0 0 0 rel Liczba cykli maszynowych: 2 Zmiana stanu flag: nie zmienia LCALL addr16 Dzialanie: (PC) (PC) + 3 (SP) (SP) + 1 ((SP)) (PC7-0) (SP) (SP) + 1 ((SP)) (PC15-8) (PC) addr16 Format: 0 0 0 1 0 0 1 0 addr15-8 addr7-0 Liczba cykli maszynowych: 2 Zmiana stanu flag: nie zmienia LJMP addr16 Dzialanie: (PC) addr16 Format: 0 0 0 0 0 0 1 0 addr15-8 addr7-0 Liczba cykli maszynowych: 2 Zmiana stanu flag: nie zmienia MOV A,Rn Dzialanie: (A) (Rn) Format: 1 1 1 0 1 r r r Liczba cykli maszynowych: 1 Zmiana stanu flag: P MOV A,direct Dzialanie: (A) (direct) Format: 1 1 1 0 0 1 0 1 direct Liczba cykli maszynowych: 1 Zmiana stanu flag: P MOV A,@Ri Dzialanie: (A) ((Ri)) Format: 1 1 1 0 0 1 1 i Liczba cykli maszynowych: 1 Zmiana stanu flag: P MOV A,#data Dzialanie: (A) #data Format: 1 1 1 0 0 1 0 0 data Liczba cykli maszynowych: 1 Zmiana stanu flag: P MOV Rn,A Dzialanie: (Rn) (A) Format: 1 1 1 1 1 r r r Liczba cykli maszynowych: 1 Zmiana stanu flag: nie zmienia MOV Rn,direct Dzialanie: (Rn) (direct) Format: 1 0 1 0 1 r r r direct Liczba cykli maszynowych: 1 Zmiana stanu flag: nie zmienia MOV Rn,#data Dzialanie: (Rn) data Format: 0 1 1 1 1 r r r Liczba cykli maszynowych: 1 Zmiana stanu flag: nie zmienia MOV direct,A Dzialanie: (direct) (A) Format: 1 1 1 1 0 1 0 1 direct Liczba cykli maszynowych: 1 Zmiana stanu flag: nie zmienia MOV direct,Rn Dzialanie: (direct) (Rn) Format: 1 0 0 0 1 r r r direct Liczba cykli maszynowych: 1 Zmiana stanu flag: nie zmienia MOV direct,direct Dzialanie: (direct) (direct) Format: 1 0 0 0 0 1 0 direct (src) direct (dest) Liczba cykli maszynowych: 2 Zmiana stanu flag: nie zmienia MOV direct,@Ri Dzialanie: (direct) ((Ri)) Format: 1 0 0 0 0 1 1 i direct Liczba cykli maszynowych: 2 Zmiana stanu flag: nie zmienia MOV direct,#data Dzialanie: (direct) #data Format: 0 1 1 1 0 1 0 1 direct data Liczba cykli maszynowych: 2 Zmiana stanu flag: nie zmienia MOV @Ri,A Dzialanie: ((Ri)) (A) Format: 1 1 1 1 0 1 1 i Liczba cykli maszynowych: 1 Zmiana stanu flag: nie zmienia MOV @Ri,direct Dzialanie: ((Ri)) (direct) Format: 1 0 1 0 0 1 1 i direct Liczba cykli maszynowych: 2 Zmiana stanu flag: nie zmienia MOV @Ri,#data Dzialanie: ((Ri)) #data Format: 0 1 1 1 0 1 1 i data Liczba cykli maszynowych: 1 Zmiana stanu flag: nie zmienia MOV C,bit Dzialanie: (C) (bit) Format: 1 0 1 0 0 0 1 0 bit Liczba cykli maszynowych: 1 Zmiana stanu flag: C MOV bit,C Dzialanie: (bit) (C) Format: 1 0 0 1 0 0 1 0 bit Liczba cykli maszynowych: 2 Zmiana stanu flag: nie zmienia MOV DPTR,#data16 Dzialanie: (DPTR) #data16 Format: 1 0 0 1 0 0 0 0 #data15-8 #data7-0 Liczba cykli maszynowych: 2 Zmiana stanu flag: nie zmienia MOVC @A+DPTR Dzialanie: (A) ((A) + (DPTR)) Format: 1 0 0 1 0 0 1 1 Liczba cykli maszynowych: 2 Zmiana stanu flag: P MOVC @A+PC Dzialanie: (PC) PC + 1 (A) ((A) + (PC)) Format: 1 0 0 0 0 0 1 1 Liczba cykli maszynowych: 2 Zmiana stanu flag: P MOVX A,@Ri Dzialanie: (A) ((Ri)) Format: 1 1 1 0 0 0 1 i Liczba cykli maszynowych: 2 Zmiana stanu flag: P MOVX A,@DPTR Dzialanie: (A) ((DPTR)) Format: 1 1 1 0 0 0 0 0 Liczba cykli maszynowych: 2 Zmiana stanu flag: P MOVX @Ri,A Dzialanie: ((Ri)) (A) Format: 1 1 1 1 0 0 1 i Liczba cykli maszynowych: 2 Zmiana stanu flag: nie zmienia MOVX @DPTR,A Dzialanie: ((DPTR)) (A) Format: 1 1 1 1 0 0 0 0 Liczba cykli maszynowych: 2 Zmiana stanu flag: nie zmienia MUL AB Dzialanie: (BA) (A) * (B) Format: 1 0 1 0 0 1 0 0 Liczba cykli maszynowych: 1 Zmiana stanu flag: C, OV, P NOP Dzialanie: nic nie robi Format: 0 0 0 0 0 0 0 0 Liczba cykli maszynowych: 1 Zmiana stanu flag: nie zmienia ORL A,Rn Dzialanie: (A) (A) or (Rn) Format: 0 1 0 0 1 r r r Liczba cykli maszynowych: 1 Zmiana stanu flag: P ORL A,direct Dzialanie: (A) (A) or (direct) Format: 0 1 0 0 0 1 0 1 direct Liczba cykli maszynowych: 1 Zmiana stanu flag: P ORL A,@Ri Dzialanie: (A) (A) or ((Ri)) Format: 0 1 0 0 0 1 1 i Liczba cykli maszynowych: 1 Zmiana stanu flag: P ORL A,#data Dzialanie: (A) (A) or #data Format: 0 1 0 0 0 1 0 0 data Liczba cykli maszynowych: 1 Zmiana stanu flag: P ORL direct,A Dzialanie: (direct) (direct) or (A) Format: 0 1 0 0 0 0 1 0 direct Liczba cykli maszynowych: 1 Zmiana stanu flag: nie zmienia ORL direct,#data Dzialanie: (direct ) (direct) or #data Format: 0 1 0 0 0 0 1 1 direct data Liczba cykli maszynowych: 2 Zmiana stanu flag: nie zmienia ORL C,bit Dzialanie: (C) (C) or (bit) Format: 1 0 0 0 0 0 1 0 bit Liczba cykli maszynowych: 2 Zmiana stanu flag: C ORL C,/bit Dzialanie: (C) (C) or (not bit) Format: 1 0 1 1 0 0 0 0 bit Liczba cykli maszynowych: 2 Zmiana stanu flag: C POP direct Dzialanie: (direct) ((SP)) (SP) (SP) - 1 Format: 1 1 0 1 0 0 0 0 direct Liczba cykli maszynowych: 2 Zmiana stanu flag: nie zmienia PUSH direct Dzialanie: (SP) (SP) + 1 ((SP)) (direct) Format: 1 1 0 0 0 0 0 0 direct Liczba cykli maszynowych: 2 Zmiana stanu flag: nie zmienia RET Dzialanie: (PC15-8) ((SP)) (SP) (SP) - 1 (PC7-0) ((SP)) (SP) (SP) - 1 Format: 0 0 1 0 0 0 1 0 Liczba cykli maszynowych: 2 Zmiana stanu flag: nie zmienia RETI Dzialanie: (PC15-8) ((SP)) (SP) (SP) - 1 (PC7-0) ((SP)) (SP) (SP) - 1 Format: 0 0 1 1 0 0 1 0 Liczba cykli maszynowych: 2 Zmiana stanu flag: nie zmienia RL A Dzialanie: (An + 1) (An) n = 0-6 (A0) (A7) Format: 0 0 1 0 0 0 1 1 Liczba cykli maszynowych: 1 Zmiana stanu flag: nie zmienia RLC A Dzialanie: (An + 1) (An) n = 0-6 (A0) (C) (C) (A7) Format: 0 0 1 1 0 0 1 1 Liczba cykli maszynowych: 1 Zmiana stanu flag: C RR A Dzialanie: (An) (An + 1) n = 0-6 (A7) (A0) Format: 0 0 0 0 0 0 1 1 Liczba cykli maszynowych: 1 Zmiana stanu flag: nie zmienia RRC A Dzialanie: (An) (An + 1) n = 0-6 (A7) (C) (C) (A0) Format: 0 0 0 1 0 0 1 1 Liczba cykli maszynowych: 1 Zmiana stanu flag: C SETB C Dzialanie: (C) 1 Format: 1 1 0 1 0 0 1 1 Liczba cykli maszynowych: 1 Zmiana stanu flag: C SETB bit Dzialanie: (bit) 1 Format: 1 1 0 1 0 0 1 0 Liczba cykli maszynowych: 1 Zmiana stanu flag: nie zmienia SJMP Dzialanie: (PC) (PC) + 2 (PC) (PC) + rel Format: 1 0 0 0 0 0 0 0 Liczba cykli maszynowych: 2 Zmiana stanu flag: nie zmienia SUBB A,Rn Dzialanie: (A) (A) - (C) - (Rn) Format: 1 0 0 1 1 r r r Liczba cykli maszynowych: 1 Zmiana stanu flag: C, AC, OV,P SUBB A,direct Dzialanie: (A) (A) - (C) - (direct) Format: 1 0 0 1 1 0 0 1 direct Liczba cykli maszynowych: 1 Zmiana stanu flag: C, AC, OV,P SUBB A,@Ri Dzialanie: (A) (A) - (C) - ((Ri)) Format: 1 0 0 1 0 1 1 i Liczba cykli maszynowych: 1 Zmiana stanu flag: C, AC, OV,P SUBB A,#data Dzialanie: (A) (A) - (C) - #data Format: 1 0 0 1 0 1 0 0 Liczba cykli maszynowych: 1 Zmiana stanu flag: C, AC, OV,P SWAP A Dzialanie: (A3-0) (A7-4) Format: 1 1 0 0 0 1 0 0 Liczba cykli maszynowych: 1 Zmiana stanu flag: nie zmienia XCH A,Rn Dzialanie: (A) (Rn) Format: 1 1 0 0 1 r r r Liczba cykli maszynowych: 1 Zmiana stanu flag: P XCH A,direct Dzialanie: (A) (direct) Format: 1 1 0 0 0 1 0 0 direct Liczba cykli maszynowych: 1 Zmiana stanu flag: P XCH A,@Ri Dzialanie: (A) ((Ri)) Format: 1 1 0 0 1 r r r Liczba cykli maszynowych: 1 Zmiana stanu flag: P XCHD A,@Ri Dzialanie: (A3-0) ((Ri)3-0) Format: 1 1 0 1 0 1 1 i Liczba cykli maszynowych: 1 Zmiana stanu flag: P XRL A,Rn Dzialanie: (A) (A) xor (Rn) Format: 0 1 1 0 1 r r r Liczba cykli maszynowych: 1 Zmiana stanu flag: P XRL A,direct Dzialanie: (A) (A) xor (direct) Format: 0 1 1 0 0 1 0 1 direct Liczba cykli maszynowych: 1 Zmiana stanu flag: P XRL A,@Ri Dzialanie: (A) (A) xor ((Ri)) Format: 0 1 1 0 0 1 1 i Liczba cykli maszynowych: 1 Zmiana stanu flag: P XRL A,#data Dzialanie: (A) (A) xor #data Format: 0 1 1 0 0 1 0 0 data Liczba cykli maszynowych: 1 Zmiana stanu flag: P XRL direct,A Dzialanie: (direct) (direct) xor (A) Format: 0 1 1 0 0 0 1 0 direct Liczba cykli maszynowych: 1 Zmiana stanu flag: nie zmienia XRL direct,#data Dzialanie: (direct ) (direct) xor #data Format: 0 1 1 0 0 0 1 1 direct data Liczba cykli maszynowych: 2 Zmiana stanu flag: nie zmienia |
;



