Instructions logiques de baseLes opérations logiques de base affectent uniquement le registre A. Il n'existe pas de version 16 bits de ces opérations. AND Effectuer un ET logique sur le registre A. AND im8 AND reg8 AND (HL) AND (IX+d) AND (IY+d)Effet sur les flags :
- C et N sont effacés
- flag H positionné à 1
- P/V est la parité de bits du résultat
- Z=1 si le résultat est nul
- S=1 si le résultat est négatif
table de vérité du AND 0 AND 0 = 0 0 AND 1 = 0 1 AND 0 = 0 1 AND 1 = 1L'utilisation pratique du AND est le masquage, ne conserver que certains bits, en enlever d'autres. Le AND permet de réaliser facilement des modulos sur toutes les puissances de deux moins un.OR Effectuer un OU logique sur le registre A. OR im8 OR reg8 OR (HL) OR (IX+d) OR (IY+d)Effet sur les flags :
- C, H et N sont effacés
- P/V est la parité de bits du résultat
- Z=1 si le résultat est nul
- S=1 si le résultat est négatif
table de vérité du OR 0 OR 0 = 0 0 OR 1 = 1 1 OR 0 = 1 1 OR 1 = 1L'utilisation pratique du OR est la fusion de deux octets. On s'en sert aussi pour tester le zéro du registre A sans le modifier.XOR Effectuer un OU exclusif logique sur le registre A. XOR im8 XOR reg8 XOR (HL) XOR (IX+d) XOR (IY+d)Effet sur les flags :
- C, H et N sont effacés
- P/V est la parité de bits du résultat
- Z=1 si le résultat est nul
- S=1 si le résultat est négatif
table de vérité du XOR 0 XOR 0 = 0 0 XOR 1 = 1 1 XOR 0 = 1 1 XOR 1 = 0L'utilisation pratique du XOR est le chiffrement car son utilisation deux fois de suite avec la même valeur permet de retrouver la valeur initiale de A. Certains jeux ont utilisé le XOR pour afficher des sprites à l'écran, afficher à nouveau le sprite au même endroit effaçait le sprite. Seul problème : C'est moche.CPL Effectue le complément à un du registre A (inverse tous les bits). NEG Le registre A devient A soustrait de zéro (inverse le signe mathématique). SCF Cette instruction met à 1 le flag C et remet à zéro les flags H et N. Les autres flags ne sont pas modifiés. CCF Cette instruction inverse les flags C et H. Le flag N est mis à zéro. Les autres flags ne sont pas modifiés. Roudoudou CPCrulez[Content Management System] v8.732-desktop Page créée en 369 millisecondes et consultée 17 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. |
|