Partie 5 : les instructions Z80 / Modes d'Adressage RR Registre - Registre Im = Immédiat IDX = Indexé D = Direct In = Indirect r ou r' est un registre 8 bits n est un nombre de 8 bits nn est un nombre 16 bits dd est BC, DE, HL ou SP qq est AF, BC, DE ou HL. pp est BC, DE, IX ou SP rr est HC, DE, IX ou SP. FlagsC = Carry / flag de report Z = Flag zéro S = Flag signe P/V = Flag parité ou dépassement H = Flag demi-carry N = Flag addition/soustraction Modification des flags?Flag fixé en fonction du résultat de l'opération 0 Flag annulé 1 Flag mis * Flag non affecté — Modification du flag imprévisible V Flag mis si dépassement (overflow) P Flag mis si parité F Le flag P/V reçoit le contenu du flip-flop d'interruption (IFF) SymbolisationR DE HL : échange les contenus de DE et HL. GROUPE LOAD 8 BITS Mnémonique | Opération Symbolique | Nbre d'octets | Nbre de cycles | Mode d' adressage | Flags affectés C Z P/V S N H | LD r,r' LD r,n LD r,(HL) LD r,(IX+d) LD r,(IY+d) LD (HL),r LD (IX+d),r LD (IY+d),r LD (HL),n LD (IX+d),n LD (IY+d),n LD A,(BC) LD A,(DE) LD A,(nn) LD (BC),A LD (DE),A LD (nn),A LD A,I LD A,R LD I,A LD R,A | r r r <-(HL) r <-(IX+d) r <-(IY+d) (HL)<-r (IX+d)<-r (IY+d)<-r (HL)<-n (IX+d)<-n (IY+d)<-n AAA(BC)(DE)(nn)AAIR1 2 1 3 3 1 3 3 2 4 4 1 1 3 1 1 3 2 2 2 21 2 2 5 5 2 5 5 3 5 5 2 2 4 2 2 4 2 2 2 2RR Im In IDX IDX In IDX IDX In IDX IDX In In D IN IN D RR RR RR RR* * *... * * * * * *... * * * * * *... * * * * * *... * * * * * *... * * * * * *... * * * * * *... * * * * * *... * * * * * *... * * * * * *... * * * * * *... * * * * * *... * * * * * *... * * * * * *... * * * * * *... * * * * * *... * * * * * *... * * * * ? F... ? 0 0 * ? F... ? 0 0 * * *... * * * * * *... * * * | GROUPE LOAD 16 BITS Mnémonique | Opération Symbolique | Nbre d'octets | Nbre de cycles | Mode d' adressage | Flags affectés C Z P/V S N H | LD dd,nn LD IX,nn LD IY,nn LD HL,(nn)LD dd,(nn) LD IX,(nn) LD IY,(nn) LD (nn),HL LD (nn),dd LD (nn),IX LD (nn),IY | ddIXIYHLddddIXIXIYIY(nn+1)(nn)(nn+1)(nn)(nn+1)(nn)(nn+1)(nn)3 4 4 34 4 4 3 4 4 4 3 4 4 5 6 6 6 5 6 6 6 Im Im Im D D D D D D D D * * *... * * * * * *... * * * * * *... * * * * * *... * * * * * *... * * * * * *... * * * * * *... * * * * * *... * * * * * *... * * * * * *... * * * * * *... * * * * * *... * * * * * *... * * * * * *... * * * * * *... * * * * * *... * * * * * *... * * * * * *... * * * | LD SP,HL LD SP,IX LD SP,IY PUSH qqPUSH IX PUSH IY POP qq POP IX POP IY | SPSPSP(SP-1)(SP-2)(SP-1)(SP-2)(SP-1)(SP-2)qqqqIXIXIYIY1 2 2 12 2 1 2 2 1 2 2 3 4 4 3 4 4 RR RR RR Im Im Im Im Im Im * * *... * * * * * *... * * * * * *... * * * * * *... * * * * * *... * * * * * *... * * * * * *... * * * * * *... * * * * * *... * * * * * *... * * * * * *... * * * * * *... * * * * * *... * * * * * *... * * * * * *... * * * |
GROUPE ECHANGE – GROUPE TRANSFERT – RECHERCHE DE BLOC Mnémonique | Opération Symbolique | Nbre d'octets | Nbre de cycles | Mode d' adressage | Flags affectés C Z P/V S N H | EX DE,HL EX AF,AF' EXXEX (SP),HL EX (SP),IX EX (SP),IY LDI LDIR LDD | DE HL AF AF' BC BC' DE DE' HL HL' H (SP+1) L (SP) IX (SP+1) IX (SP) IY (SP+1) IY (SP) (DE) DE HL BC (DE) DE HL BC JUSQUE BC=0 (DE)DEHLBC1 1 11 2 2 2 2 2 1 1 1 5 6 6 4 5 4 RR RR RR RR RR RR In In In * * *... * * * * * *... * * * * * *... * * * * * *... * * * * * *... * * * * * *... * * * * * ?... * 0 0 * * 0... * 0 0 * * ?... * 0 0 | LDDR CPI CPIR CPD CPDR | (DE) DE HL BC JUSQUE BC=0 A-(HL) HL BC A-(HL) HL BC JUSQUE A=HL OU BC=0 A-(HL) HL BC A-(HL) HL BC JUSQUEA=(HL) OU BC=0 | 2 2 2 2 2 | 5 4 5 4 5 | In In In In In | * * 0... * 0 0 * ? ?... * ? ? * ? ?... * ? ? * ? ?... * ? ? * ? ?... * ? ? |
GROUPE ARITHMETIQUE ET LOGIQUE 8 BITS Mnémonique | Opération Symbolique | Nbre d'octets | Nbre de cycles | Mode d' adressage | Flags affectés C Z P/V S N H | ADD A,r ADD A,b ADD A,(HL) ADD A,(IX+d) ADD A,(IY+d) ADC A,s SUB A,s SBC A,s AND s OR s XOR s CP s INC INC (HL) INC (IX+d) INC (IY+d) DEC d | A A A A A A A A A A A A-s r-r+1 (HL)(IX+d)(IY+d)d1 2 1 3 31 1 3 3 1 2 2 5 5 1 3 6 6 Im Im In IDX IDX Im Im Im Im Im Im Im Im In IDX IDX Im? ? V... ? 0 ? ? ? V... ? 0 ? ? ? V... ? 0 ? ? ? V... ? 0 ? ? ? V... ? 0 ? ? ? V... ? 0 ? ? ? V... ? 1 ? ? ? V... ? 1 ? 0 ? P... ? 0 1 0 ? P... ? 0 1 0 ? P... ? 0 1 ? ? V... ? 1 ? * ? V... ? 0 ? * ? V... ? 0 ? * ? V... ? 0 ? * ? V... ? 0 ? * ? V... ? 1 1 |
GROUPE ARITHMETIQUE GENERALE ET CONTROLE UNITE CENTRALE Mnémonique | Opération Symbolique | Nbre d'octets | Nbre de cycles | Mode d' adressage | Flags affectés C Z P/V S N H | DAA convertit A en BCD après addition ou sous- traction sur opér. BCDCPL NEG CCF SCF NOP HALT DI EI IMO IM1 im3 | _ A A CY CY Pas d'opération CPU halte IFF IFF Mettre Interruption Mode 0 Interruption Mode 1 Interruption Mode 2 | 1 1 2 1 1 1 1 1 1 2 2 2 | 1 1 2 1 1 1 1 1 1 2 2 2 | Im Im Im Im Im Im Im Im Im Im Im Im | ? ? P... ? * * * * *... * 1 1 ? ? V ... ? 1 ? ? * *... * 0 * 1 * *... ? 0 0 * * *... * * * * * *... * * * * * *... * * * * * *... * * * * * *... * * * * * *... * * * * * *... * * * |
Mnémonique | Opération Symbolique | Nbre d'octets | Nbre de cycles | Mode d' adressage | Flags affectés C Z P/V S N H | ADD HL,dd ADC HL,dd SBC HL,dd ADD IX,pp ADD IY,rr INC dd INC IX INC IY DEC dd DEC IX DEC IY | HLHLHLIXIYddIXIYddIXIY1 2 2 2 2 1 2 2 1 2 23 4 4 4 4 1 2 2 1 2 2Im Im Im Im Im Im Im Im Im Im Im? * *... * 0 - ? ? V ... ? 0 - ? ? V ... ? 1 * ? * *... * 0 - ? * *... * 0 - * * *... * * * * * *... * * * * * *... * * * * * *... * * * * * *... * * * * * *... * * * |
GROUPE ROTATION ET DECALAGE Mnémonique | Opération Symbolique | Nbre d'octets | Nbre de cycles | Mode d' adressage | Flags affectés C Z P/V S N H | RLCA RLA RRCA RRA RLCr RLC(HL) RLC(IX+d) RLC(IY+d) RL s RRC s RR s SLA s SRA s SRL s RLD RRD | | 1 1 1 1 2 2 4 4 - - - - - - 2 2 | 1 1 1 1 2 4 6 6 - - - - - - 5 5 | Im Im Im Im Im Im Im Im Im Im Im Im Im Im Im Im | ? * *... * 0 0 ? * *... * 0 0 ? * *... * 0 0 ? * *... * 0 0 ? ? P ... ? 0 0 ? ? P ... ? 0 0 ? ? P ... ? 0 0 ? ? P ... ? 0 0 ? ? P ... ? 0 0 ? ? P ... ? 0 0 ? ? P ... ? 0 0 ? ? P ... ? 0 0 ? ? P ... ? 0 0 ? ? P ... ? 0 0 * ? P ... ? 0 0 * ? P ... ? 0 0 |
GROUPE MISE, ANNULATION ET TEST DE BIT Mnémonique | Opération Symbolique | Nbre d'octets | Nbre de cycles | Mode d' adressage | Flags affectés C Z P/V S N H | Bit 6,r Bit 6,(HL) Bit 6,(IY+d) BIT 6,(IY+d) SET 6,r SET 6,(HL) SET 6,(IX+d) SET 6,(IY+d) SET 6,s | ZZZZr(HL)(IX+d)(IY+d)s2 2 4 4 2 2 4 4 -2 3 5 5 2 4 6 6 -RR In IDX IDX RR In IDX IDX RR* ? -... - 0 1 * ? -... - 0 1 * ? -... - 0 1 * ? - ... - 0 1 * * *... * * * * * *... * * * * * *... * * * * * *... * * * * * *... * * * |
GROUPE DE JUMP (SAUT) Mnémonique | Opération Symbolique | Nbre d'octets | Nbre de cycles | Mode d' adressage | Flags affectés C Z P/V S N H | JP nn JP cc,nnJR e JR C e JR NC e JR Z e JR NZ e JP (HL) JP (IX) JP (IY) DJNZ e | PX Si condition cc vraie PC sinon continue PC Si c=0 continue Si c=1 continue Si z=0 continue Si z=1 continue[/french} B=0 PC3 32 2 2 2 2 1 2 2 2 3 3 3 2 2 2 2 1 2 2 3 Im Im Im Im Im Im Im In IDX IDX Im * * *... * * * * * *... * * * * * *... * * * * *... * * * * *... * * * * *... * * * * *... * * * * * *... * * * * * *... * * * * * *... * * * * * *... * * * |
GROUPE CALL ET RETURN Mnémonique | Opération Symbolique | Nbre d'octets | Nbre de cycles | Mode d' adressage | Flags affectés C Z P/V S N H | CALL n CALL cc,nn RET RET cc RETI RET N RET P | (SP-1) (SP-2) Si condition cc fausse continuer sinon comme CALL nn PC PC Si condition cc fausse continuer sinon comme RET Retour d'interruption Retour d'interruption [french]non masquable (SP-1)(SP-2)PCPC33 1 1 2 2 1 5 3 3 1 4 4 3 Im Im Im Im Im Im Im * * *... * * * * * *... * * * * * *... * * * * * *... * * * * * *... * * * * * *... * * * * * *... * * * | ★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser... |
CPCrulez[Content Management System] v8.73-desktop/c Page créée en 771 millisecondes et consultée 3097 foisL'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko. |
|
|