Vinnaren i pepparkakshustävlingen!
2024-03-04, 00:08
  #1
Medlem
BekraftadNegers avatar
Vill att ett program för 6502 skall ta input och reversera vad som skrivits. Dock svarar inte programmet på returntryckningen. Någon idé?

Kod:
        .org $1000     

RESET:
        SEI            
        CLD            
        LDX #$FF       
        TXS            
        LDA #$81       
        STA $9F26      

READ_LOOP:
        JSR READ_CHAR  
        CMP #12        
        BEQ PRINT      
        STA $100,X     
        DEX            
        BPL READ_LOOP  

PRINT:
        INX                    
PRINT_LOOP:
        LDA $100,X             
        JSR PRINT_CHAR         
        DEX                   
        BPL PRINT_LOOP         

        BRK                    

READ_CHAR:
        LDA $9F21              
        RTS                    

PRINT_CHAR:
        STA $9F20              
        RTS                   
Citera
2024-03-04, 01:08
  #2
Medlem
SchrodingersPizzas avatar
Prova att byta ut till CMP #$0A i READ_LOOP. Vet iofs inte vad du ska köra koden på, men enligt ASCII är newline $0A.
Citera
2024-03-04, 11:19
  #3
Medlem
BekraftadNegers avatar
Citat:
Ursprungligen postat av SchrodingersPizza
Prova att byta ut till CMP #$0A i READ_LOOP. Vet iofs inte vad du ska köra koden på, men enligt ASCII är newline $0A.

Damn! Du har rätt! Typo... skall vara 13 (carriage return #0D) istället för 12.
Citera
2024-03-09, 08:35
  #4
Medlem
Inget svar på frågan. Ville bara säga att det är en fröjd för ögat se gammal hederlig 6502 assembler-kod. Så många trevliga minnen.

Lycka till med projektet.
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in