Assembler-Beispiel C8 - INY.asm

Aus C64-Wiki
Zur Navigation springenZur Suche springen
; Dieses Programm speichert einen Speicherbereich auf Diskette
; Programmstart mit SYS 49152 "NAME",Startadresse,Endadresse  
; z.B: SYS 49152 "NAME",4096,8192 (Programm NAME ab Adresse $1000-$2000 speichern)

*=$c000         ; Startadresse des Programms

CHKKOM   = $AEFD
FRMEVL   = $e257 
FRMNUM   = $AD8A
GETADR   = $b7f7

start       jsr FRMEVL     ; Dateinamen holen und setzen
           
            ldx #$08       ; Gerätenummer
            stx $ba
                        
            jsr CHKKOM     ; auf "," prüfen

            jsr FRMNUM     ; Ausdruck holen und auf numerisch prüfen 
            jsr GETADR                        
            sty $c1        ; Startadresse in $c1/$c2 speichern
            sta $c2

            jsr CHKKOM     ; auf "," prüfen

            jsr FRMNUM     ; Ausdruck holen und auf numerisch prüfen 
            jsr GETADR     ; (Akku = H-Byte; Y-Register = L-Byte)

            iny            ; zur Endadresse den Wert 1 addieren       
            bne endadr     
            clc
            adc #$01       

endadr      sty $ae        ; Endadresse in $ae/$af speichern
            sta $af

            jmp $f5ed      ; Save-Routine (implizites rts)