Il set di opcode del 6510 (processore del C64) non comprende in modo nativo l'operazione di moltiplicazione e divisione. Su codebase64 sono disponibili algoritmi per il calcolo e' ho provato ad usare quello piu' semplice (8 bit * 8 bit = 8 bit) usando sia la sintassi di Acme che di KickAss (anche come promemoria)
Il risultato viene salvato nell'accumulatore e quindi spostato in una variabile
KickAss
--------------
*=$c000
//sys 49152
lda #$00
beq enterLoop
doAdd:
clc
adc num1
loop:
asl num1
enterLoop:
lsr num2
bcs doAdd
bne loop
end:
sta num3
rts
num1: .byte 7
num2: .byte 3
num3: .byte 0
--------------
Acme
--------------
; Moltiplicazione 8bit*8bit=8bit
!source "./stdlib/stdlib.a"
!to "fixed.prg", cbm
!sl "fixed.map"
!cpu 6510
!ct pet
*=$c000
;sys 49152
lda #$00
beq enterLoop
doAdd:
clc
adc num1
loop:
asl num1
enterLoop:
lsr num2
bcs doAdd
bne loop
end:
sta num3
rts
num1: !by 7
num2: !by 3
num3: !by 0
Iscriviti a:
Commenti sul post (Atom)
Physics informed neural network Fukuzono
Visto che puro ML non funziona per le serie tempo di cui mi sto occupando ed le regressioni basate su formule analitiche mostrano dei limiti...

-
In questo post viene indicato come creare uno scatterplot dinamico basato da dati ripresi da un file csv (nel dettaglio il file csv e' c...
-
La scheda ESP32-2432S028R monta un Esp Dev Module con uno schermo TFT a driver ILI9341 di 320x240 pixels 16 bit colore.Il sito di riferiment...
-
Questo post e' a seguito di quanto gia' visto nella precedente prova Lo scopo e' sempre il solito: creare un sistema che permet...
Nessun commento:
Posta un commento