COMMODORE plus/4 ROM-LISTING
COMMODORE plus/4 ROM-LISTING | |||
---|---|---|---|
Sprache | deutsch | ||
Autor(en) | |||
Verlag | Commodore | ||
Jahr | 1984 | ||
ISBN | ISBN 3-89133-006-5 | ||
Neupreis | 59.- DM | ||
Datenträger | |||
Seitenzahl | 269 | ||
letzte Auflage | 1. | ||
Genre | Programmierung, Profis | ||
Information | Artikel-Nr.: 584000 Commodore Sachbuchreihe |
Buchrückseite[Bearbeiten | Quelltext bearbeiten]
Das Listing des Commodore plus/4 ROM-Inhaltes stellt für alle Assemblerprogrammierer eine unerläßliche Informationsquelle dar. Auf über 260 Seiten findet sich das lückenlose Assembler-Quell-Code-Listing, daneben ist jede Codesequenz in deutscher Sprache kommentiert.
Mit dieser Information wird es möglich, die umfangreichen und ausgeklügelten Möglichkeiten des Commodore plus/4 in eigenen Assemblerprogrammen zu verwenden, ohne das Rad ständig neu erfinden zu müssen. Programmierer, die mit dem C-64 oder der 3xxx/4xxx/8xxx-Serie vertraut sind, können sich schnell einen Überblick über Unterschiede und Gemeinsamkeiten der jeweiligen ROM-Inhalte verschaffen und so mit minimalem Aufwand ihre vorhandenen Programme umstellen.
Inhaltsverzeichnis[Bearbeiten | Quelltext bearbeiten]
- Commodore 16, 116, plus/4 Speicherbelegung (Systemadressen)
- ROM-Listing von 32768 bis 65534
Leseprobe[Bearbeiten | Quelltext bearbeiten]
(Seite 192; Tastaturabfrage)
56081 ;---------------------------- TASTATURABFRAGE 56081 56081 a56081 lda #0 56083 sta a1347 ; shflg: shift flag 56086 ldy #64 56088 sty *a198 ; offset in kode-tabelle 1 56090 jsr a56176 ; ---> dekoder abfragen 56093 tax 56094 cpx #255 ; taste gedrückt? 56096 bne a56101 ; ja: -> 56098 jmp a56321 56101 56101 a56101 ldy #0 ; offset 56103 lda #l,a57382 ; adresse der kodetabelle 1 56105 sta *a236 ; in zeiger bringen 56107 lda #h,a57382 56109 sta *a237 56111 lda #%11111110 ; für dekoder—einganq 56113 a56113 ldx #8 ; bitzähler 56115 pha 56116 a56116 pla 56117 pha 56118 jsr a56176 ; --> dekoder abfragen 56121 sta *a238 ; ergebnis merken 56123 pla 56124 pha 56125 jsr a56176 ; --> dekoder nochmal abfragen 56128 cmp *a238 ; gleiches ergebnis? 56130 bne a56116 ; nein: abfrage wiederholen -> 56132 a56132 lsr a ; bit ins carry schieben 56133 bcs a56157 ; bit gesetzt -> 56135 pha ; a retten 56136 lda (a236),y ; kode aus tabelle 56138 cmp #5 ; qrößer als 4? 56140 bcs a56154 ; ja: -> 56142 cmp #3 ; stop-kode? 56144 beq a56154 ; ja: -> 56146 ora a1347 ; kode ins shift-flag odern 56149 sta a1347 ; 1 shift, 2 C=, 4 ctrl 56152 bpl a56156 56154 56154 a56154 sty *a193 ; offset: in kodetabelle 56156 a56156 pla ; a wiederherstellen 56157 a56157 iny ; offset erhöhen 56158 cpy #65 56160 bcs a56170 ; alle tasten abgefragt: -> 56162 dex ; bitzähler dekrementieren 56163 bne a56132 ; wenn nicht 0, nächstes bit -> 56165 sec 56166 pla ; dekoder—einqang 56167 rol a ; nach links rotieren 56168 bne a56113 ; immer -> 56170 56170 a56170 pla ; stack korrigieren 56171 lda *a198 ; offset in kodetabelle 56173 jmp (a1349) ; ---> keyloq (a56186)
Meinung[Bearbeiten | Quelltext bearbeiten]
derzimmerer: "Nichts für Anfänger und leider doch nicht so vollständig, wie der Klappentext es vermuten würde. So fehlen z.B. die TED-Register."
Werner: "Das gesamte ROM-Listing liegt in unüblicher, dezimaler Schreibweise vor. Dadurch wird es schwieriger, zumindest bei den Absolutadressen, das ROM-Listing zu verstehen."