Inizio con una cosa facile...ovvero la serie di Fibonacci limitata ai numeri sotto a 255 (la bellezza dei calcolatori 8bit)
il codice e' molto semplice
----------------------------------------------------
processor 6502
org $1000
; clear carry flag...leggendo in alcuni posti sembra che non sia obbligatorio
; settare a zero il flag di carry perche' viene fatto in automatico da adc
clc
torna
; mette nell'accumulatore il valore della variabile byte uno
lda uno
; somma l'accumulatore con la variabile due
adc due
; metti il risultato in somma
sta somma
; se si ha un overflow la flag di carry e' a 1 ed esce
bcs esci
; altrimenti scambia il contenuto delle variabili per il prossimo calcolo
lda due
sta uno
lda somma
sta due
; qui chiama una funzione che stampa a video il valore di un numero a 16 bit
; nell'accumulatore viene messo il byte piu' significativo ,ma qui e' sempre a zero
lda #$00
ldx somma
JSR $BDCD
; funzione che stampa uno spazio a video
JSR $AB3F
jmp torna
esci
rts
uno
.byte $01
due
.byte $01
somma
.byte $00
------------------------------------------------------
Per compilare il codice ho usato Dasm
/dasm.Linux.x86 fib2.asm -ofib2.prg
per eseguire il codice si compila Vice e si lancia
x64 fib2.prg
digitando poi
SYS 4096
Nessun commento:
Posta un commento