Étape 5: Ce qui engendre les opcodes ?
Alors, d'où nous vient la séquence de 12 octets de caractères hexadécimaux ? Maintenant, nous travaillons notre chemin jusqu’au premier niveau d’abstraction, langage d’assemblage. La séquence de 12 octets est un produit de l’assembleur. Voici le listing assembleur réel
LDA #$00 ;Load the A register with $00 which turns on the P72 LEDSTA $DF23 ;Store A to turn on the LED using absolute addressing P72 BRK ;Break back to the embedded Monitor LDA #$04 ;Load the A register with $04 which turns off the P72 LED STA $DF23 ;Store A to turn off the LED using absolute addressing P72 BRK ;Break back to the embedded Monitor
Si vous prenez cette liste et assemblez puis effectuez un vidage Hex, vous pourrez voir la séquence de 12 octets, que vous avez entré auparavant.
A9 00 8D 23 DF 00 A9 04 8D 23 DF 00
Je vous recommande de jeter un oeil à 6502 facile pour une excellente introduction à l’assembleur 6502. Il y a un assembleur 6502 Javascript et le simulateur sur la page où vous pouvez copier et coller la liste ci-dessus et effectuer un vidage hex et voyez par vous-même.
Quelle aide vraiment à tout lier ensemble consiste à démonter la liste Assemblée et vous verrez l’association entre les opcodes (hexdump) et le langage d’assemblage. J’ai utilisé l’assembleur 6502 facile à démonter l’inscription. L’emplacement de l’adresse est différentes dans le simulateur de 6502 facile que sur la 265SXB donc vous pouvez ignorer la colonne adresse. Maintenant les relations doivent être très claires.
Address Hexdump Dissassembly------------------------------- $0600 a9 00 LDA #$00 $0602 8d 23 df STA $df23 $0605 00 BRK $0606 a9 04 LDA #$04 $0608 8d 23 df STA $df23 $060b 00 BRK
J’ai vu la « lumière » et maintenant je suis accro. Alors, quoi d’autre peut faire cette carte ?