Auguri in Assembly 6502!

Oggi è il compleanno di un “vecchio” amico di nome Tony (solo nel senso che è una lunga amicizia!)

Scriviamo un messaggio dedicato a lui con il nostro fido Vic 20, in un programma 100% assembly 6502 (per vedere il risultato potete trascinare nell’emulatore Vice il file .prg che trovate a fondo pagina).

Per ottenere l’eseguibile dal sorgente è possibile utilizzare l’ottimo assemblatore Dasm.

Il codice:

; —————-
; Tony’s birthday! 
; 20170810
; —————-

CHROUT = $FFD2
GETIN = $FFE4
CLRHOME = #$93
*=$1001

BASIC_STUB:
.byte $0b,$10,$0a,$00,$9e
.text “4109”
.byte 0,0,0

main:
jsr clear_screen
jsr print_msg_4_tony
jsr wait_key
rts

clear_screen:
lda CLRHOME
jsr CHROUT
rts

wait_key:
l1:
jsr GETIN
beq l1
rts

print_msg_4_tony:
ldx #0
_loop
lda msg_txt,x
jsr CHROUT
inx
cmp #0
bne _loop
rts

msg_txt DC.B 84,65,78,84,73,32,65,85,71,85,82,73,32,68,73,32,67,85,79,82,69,33,00

 

Ed ecco qui il .prg, trascinabile direttamente sulla finestra dell’emulatore Vice (Vic 20).

Buon compleanno, Tony!

 

EDIT: per ottenere l’eseguibile, è sufficiente scaricare l’assemblatore Dasm, ad esempio dal ricco sito di Ian Coog a cui tra l’altro mandiamo un saluto (il link diretto a Dasm è qui)

La sintassi per invocare l’assembler è:  dasm sorgente.s -odestinazione.prg

Fateci sapere quali messaggi create, o inviateci i vostri listati!

Buon asm coding e alla prossima!

 

Leave a Reply

Your email address will not be published. Required fields are marked *