| 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 |
;



