★ CODING ★ CLASSEURS WEKA ★ Comment exploiter toutes les ressources et augmenter les performances de votre AMSTRAD CPC ★ |
4/2.3.5 - Les mots-clés de l'assembleur Z80 et leur utilisation: Opérations arithmétiques | Coding Classeurs Weka |
4/2 - Assembleur Z80 : Définitions et rappels de base4/2.3 - Les mots-clés de l'assembleur Z80 et leur utilisation V. Opérations arithmétiques Additions sur 8 ou 16 bits avec ou sans retenue. Remarque : Les additions sur 8 bits travaillent sur 7 bits de données et 1 bit de signe. Les additions sur 16 bits travaillent sur 15 bits de données et 1 bit de signe. Les modes d'adressage sont : immédiat, registre 8 ou 16 bits, indirect ou indirect indexé. • Adressage immédiat sur 8 bits : ADD A, VAL8 Additionne la valeur VAL8 à l'accumulateur sans tenir compte de la retenue (indicateur C). Le résultat se trouve dans l'accumulateur. ADC A,VAL8 Additionne la valeur VAL8 à l'accumulateur en tenant compte de la retenue (indicateur C). * Adressage registre 8 bits : ADD A,X où X est l'un des registres suivants : A, B, C, D, E, H ou L. Additionne le registre spécifié à l'accumulateur sans tenir compte de la retenue (indicateur C}. Le résultat est dans l'accumulateur. ADC A,X où X est l'un des registres suivants : A, B, C, D, E, H ou L. ADD HL,XX où XX est un des registres pairs suivants : BC, DE, HL, SP. ADD IX,XX où XX est un des registres pairs suivants : BC, DE, IX, SP. ADD IY.XX où XX est un des registres pairs suivants : BC, DE, IY, SP. Additionne les deux registres pairs spécifiés sans tenir compte de la rete- Le résultat est dans HL. ADC HL.XX où XX est un des registres pairs suivants : BC, DE, HL, SP. Additionne les deux registres pairs spécifiés en tenant compte de la rete- • Adressage indirect sur 8 bits : ADD A,(HL) Additionne l'octet pointé par HL à l'accumulateur sans tenir compte de Le résultat est dans A. ADC A,(HL) Additionne l'octet pointé par HL à l'accumulateur en tenant compte de la retenue (indicateur C). Le résultat est dans A. • Adressage indirect indexé sur 8 bits : ADD A,(IX+d) Additionne l'octet pointé par IX + d ou IY + d à l'accumulateur sans tenir d est un déplacement dont la valeur est comprise entre -127 et 127. Le résultat est dans A. ADC A,(IX + d) Additionne l'octet pointé par IX + d ou IY+d à l'accumulateur en tenant compte de la retenue (indicateur C). d est un déplacement dont la valeur est comprise entre - 127 et 127. SUB et SBC Soustraction sur 8 ou 16 bits avec ou sans retenue. Les modes d'adressage sont : immédiat, registre 8 ou 16 bits, indirect ou indirect indexé. Remarques : a) Les soustractions sur 8 bits travaillent sur 7 bits de données et 1 bit désigne. Les soustractions sur 16 bits travaillent sur 15 bits de données et 1 bit de signe. b) Pour les instructions SUB et SBC sur 8 bits, les indicateurs sont modifiés de la façon suivante : N = 1, C, Z, V, S et H affectés selon le résultat de la soustraction. c) Pour les instructions SUB et SBC sur 16 bits, l'indicateur H n'a aucun sens. • Adressage immédiat sur 8 bits : SUB VAL8 Soustrait la valeur VAL8 de l'accumulateur sans tenir compte de la retenue avant soustraction (indicateur C). Le résuftat se trouve dans l'accumulateur. SBC A.VAL8 Soustrait la valeur VAL8 de l'accumulateur en tenant compte de la retenue avant soustraction (indicateur C). Le résultat se trouve dans l'accumulateur. • Adressage registre 8 bits : SUB X où X est l'un des registres suivants : A, B, C, D, E, H ou L. Le résultat est dans l'accumulateur. SBX A,X où X est l'un des registres suivants : A, B, C, D, E, H ou L. Le résultat est dans l'accumulateur. • Adressage registre 16 bits : SBC HL.XX où XX est un des registres pairs suivants : BC, DE, HL, SP. Soustrait les deux registres pairs spécifiés en tenant compte de la rete- Le résultat est dans HL. Remarque : L'ordre de soustraction de deux registres pairs sans tenir compte de la retenue n'existe pas. Vous serez donc obligé d'utiliser un SBC pour soustraire deux registres pairs. Pour ne pas avoir de mauvaise surprise, nous vous conseillons d'effacer l'indicateur Carry avant de faire la soustraction. • Adressage indirect sur 8 bits : SUB (HL) Soustrait l'octet pointé par HL de l'accumulateur sans tenir compte de Le résultat est dans A. SBC A,(HL) Soustrait l'octet pointé par Hl_ de l'accumulateur en tenant compte de Le résultat est dans A. • Adressage indirect indexé sur 8 bits : SUB A,(IX + d) Soustrait l'octet pointé par IX + d ou lY + d de l'accumulateur sans tenir d est un déplacement dont la valeur est comprise entre - 127 et 127. Le résultat est dans A. SBC A,(IX+d) Soustrait l'octet pointé par IX + d ou lY+d de l'accumulateur en tenant d est un déplacement dont la valeur est comprise entre - 127 et 127. Le résultat est dans A. C. INCRÉMENTATION ET DÉCRÉMENTATION INC et DEC Agissent sur un registre 8 ou 16 bits ou sur une mémoire 8 ou 16 bits. Les modes d'adressage sont : adressage registre 8 bits ou 16 bits, indirect 8 bits ou indirect indexé 8 bits. Remarque : Pour l'instruction INC, sauf indication contraire, les indicateurs sont modifiés de la façon suivante : N = 0, C inchangé, Z, V, S et H affectés selon le résultat de l'incrémentation. • Adressage registre 8 bits : où X =A, B, C, D, E, H ou L Incrémente de 1 la valeur du registre spécifié. Indicateurs : N = 0, C inchangé, Z, V, S et H modifiés. LD C,12HDEC X |
Page précédente : 4/2.3.4 - Les mots-clés de l'assembleur Z80 et leur utilisation : Ruptures de séquences |
|
Page créée en 154 millisecondes et consultée 2023 fois L'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. |