diff options
author | mrb0nk500 <b0nk@b0nk.xyz> | 2020-04-09 02:06:50 -0400 |
---|---|---|
committer | mrb0nk500 <b0nk@b0nk.xyz> | 2020-04-09 02:06:50 -0400 |
commit | c5150ee31f07208422f1435de9b35a0d0168cbb5 (patch) | |
tree | 78150bf0339cf81401c00973f96c94a3c231015e /test/fib-new.s | |
parent | 59dc46ca8fe1eb6f98abb98fe8579aeaedd2ff15 (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.s | 46 |
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. |