Parameter aus dem INPUT-Puffer in Disk-Puffer kopieren ($c66e)
E: a: max. Laenge des Parameters (Rest wird mit $a0 aufgefuellt)
es werden max. 16 Zeichen kopiert (Rest ist immer $a0)
x: Position des Parameters im INPUT-Puffer
y: Zielpuffer
Der Pufferzeiger muss auf den Zielbereich zeigen
Einsprung von $88F7, $962E, $B39F:
84EE: 48 PHA
84EF: 20 26 85 JSR $8526 Laenge des Parameters feststellen
84F2: 20 08 85 JSR $8508 Parameter kopieren
84F5: 68 PLA
84F6: 38 SEC max. Laenge
84F7: ED 6C 02 SBC $026C - Parameterlaenge
84FA: AA TAX
84FB: F0 0A BEQ $8507 <=0 ? ja, ==>
84FD: 90 08 BCC $8507
84FF: A9 A0 LDA #$A0 Rest mit $a0 auffuellen
Einsprung von $8505:
8501: 91 64 STA ($64),Y
8503: C8 INY
8504: CA DEX
8505: D0 FA BNE $8501
Einsprung von $84FB, $84FD:
8507: 60 RTS
Parameter kopieren
Einsprung von $84F2:
8508: 98 TYA
8509: 0A ASL Puffernummer * 2
850A: A8 TAY
850B: B9 BB 00 LDA $00BB,Y (Pufferzeiger holen)
850E: 85 64 STA $64
8510: B9 BC 00 LDA $00BC,Y
8513: 85 65 STA $65
8515: A0 00 LDY #$00 kopieren
Einsprung von $8523:
8517: BD 00 02 LDA $0200,X
851A: 91 64 STA ($64),Y
851C: C8 INY
851D: F0 06 BEQ $8525 Pufferende, ==>
851F: E8 INX Kopieren, bis x hinter den Parameter zeigt
8520: EC 90 02 CPX $0290 ($0290: Zeiger hinter Parameter)
8523: 90 F2 BCC $8517
Einsprung von $851D:
8525: 60 RTS
Previous Page / Next Page
|