La table donnée ci-dessous contient les mnémoniques des instructions supplémentaires, et leurs codes machine. Les quatre codes de chargement de HX, HY, LX et LY peuvent être suivis par n'importe quelle valeur contenue dans un octet Ici. nous avons utilisé zéro en opérande mais cela n'était qu'à titre d'exemple et c'était plus facile à faire comprendre à l'assembleur. Il faut bien sûr dire à quoi correspondent ces registres aux noms encore plus étranges (de jambon) qu'à l'habitude. HX et LX sont au registre d'index IX ce que H et L sont au double registre HL. HX contient le poids fort de IX et LX en contient le poids faible. Il en va bien sûr de même pour HY et LY envers IY Tous ces codes machine étendent grandement le jeu d'instruction du mode 8 bits de notre bon vieux Z80. Toutes les opérations faites sur ces nouveaux registres ont strictement les mêmes incidences que si elles étaient utilisées avec les registres conventionnels. L'opérateur SLL reg est simplement une instruction de décalage supplémentaire ( Shift left logical ) ou encore décalage logique à gauche. Il compléments à ravir le SRL mais il agit dans l'autre sens. En d'autre termes, il multiplie l'opérande par deux et y ajoute 1. Soit encore un décalage à gauche avec positionnement du bit zéro à un. Pas mal ! Mais, me direz-vous, comment utiliser ces nouveaux codes si mon assembleur ne les comprend pas ? C'est très simple : si nous vous avons fourni les codes, c'est pour que vous les introduisiez dans vos sources avec par exemple… LD A,(HL) DEFB #CB,#37 SLL A …. Vous n'y comprendrez rien, mais ce qui compte avant tout, c'est que le microprocesseur comprenne, non ? Alors, allons-y gaiement et utilisons à fond ce que papy Zilog nous a laissé. Bon courage ! DD67 LD HX,A DD68 LD HX,B DD61 LD HX,C DD62 LD HX,D DB63 LB HX,E DD6F LE LX,A DD68 LD LX,B DD69 LD LX,C DD6A LD LX,B DB6B LD LX,E FD67 LB HY,A FD60 LB HY,B FB61 LD HY,C FD62 LD HY,D FD63 LD HY,E FB6F LD LY,A FD68 LD LY,B FD69 LD LY,C FD6A LB LY,B FD6B LD LY,E FD7C LD A,HY FD44 LD B,HY FD4C LD C,HY FD54 LD D,HY FD5C LD E,HY FD7D LD A,LY FD45 LD B,LY FD4D LD C,LY FD55 LD D,LY FD5D LD E,LY DD7C LD A,HX DD44 LD B,HX DD4C LD C,HX DD54 LD D,HX DD5C LD E,HX DD7D LD A,LX DD45 LD B,LX DD4D LD C,LX DD55 LD D,LX DD5D LD E,LX DD2600 LD HX,0 DD2E00 LD LX,0 FD2600 LD HY,0 FD2E00 LD LY,0 FD24 INC HY FD2C INC LY DD24 INC HX DD2C INC LX | FD25 DEC HY FD2D DEC LY DD25 DEC HX DD2D DEC LX DD8C ABC A,HX DD8D ADC A,LX FD8C ADC A,HY FD8D ADC A,LY DD9C SBC A,HX DD9D SBC A,LX FD9C SBC A,HY FD9D SBC A.LY FD84 ADD A,HY FD85 ADD A,LY DD84 ADD A,HX DD85 ADD A,LX FD94 SUB HY FD95 SUB LY DD94 SUB HX DD95 SUB LX FDBC CP HY FDBD CP LY DDBC CP HX DDBD CP LX FDA4 AND HY FDA5 AND LY DDA4 AND HX DDA5 AND LX FDB4 OR HY FDB5 OR LY DDB4 OR HX DDB5 OR LX FDAC XOR HY FDAD XOR LY DDAC XOR HX DDAD XOR LX CB37 SLL A CB38 SLL B CB31 SLL C CB32 SLL D CB33 SLL E CB34 SLL H CB35 SLL L CB36 SLL (HL)A100% n°3 p38-39 ★ AMSTRAD CPC ★ DOWNLOAD ★ |
|
CPCrulez[Content Management System] v8.7-desktop/c Page créée en 725 millisecondes et consultée 2140 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. |
|
|