summaryrefslogtreecommitdiff
path: root/test/fib-new.s
diff options
context:
space:
mode:
authormrb0nk500 <b0nk@b0nk.xyz>2020-04-09 02:06:50 -0400
committermrb0nk500 <b0nk@b0nk.xyz>2020-04-09 02:06:50 -0400
commitc5150ee31f07208422f1435de9b35a0d0168cbb5 (patch)
tree78150bf0339cf81401c00973f96c94a3c231015e /test/fib-new.s
parent59dc46ca8fe1eb6f98abb98fe8579aeaedd2ff15 (diff)
Completely changed the assembler.
It now has a lexer/tokenizer, along with a parser. I have also made the emulator even smaller.
Diffstat (limited to 'test/fib-new.s')
-rw-r--r--test/fib-new.s46
1 files changed, 22 insertions, 24 deletions
diff --git a/test/fib-new.s b/test/fib-new.s
index 43538a0..ed0aa50 100644
--- a/test/fib-new.s
+++ b/test/fib-new.s
@@ -7,59 +7,57 @@
; Variables for thread 0.
.org $0
x:
- .qword $0
+ .byte $0
y:
- .qword $0
+ .byte $0
z:
- .qword $0
+ .byte $0
; Variables for thread 1.
x2:
- .qword $0
+ .byte $0
y2:
- .qword $0
+ .byte $0
z2:
- .qword $0
+ .byte $0
.org $1000
init:
cps ; Clear the Processor Status register.
-
start:
lda #$0 ; Clear the accumulator.
ldy #$1 ; y=1.
- sty.q y ; Store y into memory.
+ sty y ; Store y into memory.
fib:
ldx #$0 ; x=0.
- ldx.q x ; Output the value of x.
- adc.q y ; Add x with y.
- sta.q z ; z=x+y
- ldy.q y
- sty.q x ; x=y.
- sta.q y ; y=z.
- lda.q x
+ ldx x ; Output the value of x.
+ adc y ; Add x with y.
+ sta z ; z=x+y
+ ldy y
+ sty x ; x=y.
+ sta y ; y=z.
+ lda x
bcs start ; Start all over again, if the carry flag was set.
jmp fib ; Otherwise, keep looping.
.org $2000
init2:
cps ; Clear the Processor Status register.
-
start2:
lda #$0 ; Clear the accumulator.
ldy #$1 ; y2=1.
- sty.q y2 ; Store y into memory.
+ sty y2 ; Store y into memory.
fib2:
ldx #$0 ; x2=0.
- ldx.q x2 ; Output the value of x2.
- adc.q y2 ; Add x2 with y2.
- sta.q z2 ; z2=x2+y2
- ldy.q y2
- sty.q x2 ; x2=y2.
- sta.q y2 ; y2=z2.
- lda.q x2
+ ldx x2 ; Output the value of x2.
+ adc y2 ; Add x2 with y2.
+ sta z2 ; z2=x2+y2
+ ldy y2
+ sty x2 ; x2=y2.
+ sta y2 ; y2=z2.
+ lda x2
bcs start2 ; Start all over again, if the carry flag was set.
jmp fib2 ; Otherwise, keep looping.