Add example files
parent
6823f1e95e
commit
23f5d0e2c7
@ -0,0 +1,66 @@
|
||||
# set the initial pointer value for the next fibonacci numbers
|
||||
set 0x04 rgd
|
||||
set 0x00 rgp
|
||||
write
|
||||
|
||||
# first two numbers (0, 1)
|
||||
set 0x00 rgd
|
||||
set 0x02 rgp
|
||||
write
|
||||
set 0x01 rgd
|
||||
set 0x03 rgp
|
||||
write
|
||||
|
||||
# all other numbers
|
||||
label 0x00
|
||||
set 0x00 rgp
|
||||
load # load the pointer for the next value
|
||||
set 0x01 rgi
|
||||
sub
|
||||
copy rgo rgp
|
||||
load # load the value F-1
|
||||
set 0x01 rgp
|
||||
write # write the value to a temp location
|
||||
set 0x00 rgp # load the pointer for the next value
|
||||
load
|
||||
set 0x02 rgi
|
||||
sub
|
||||
copy rgo rgp
|
||||
load # load the value F-2
|
||||
copy rgd rgi # copy the value to rgi
|
||||
set 0x01 rgp
|
||||
load # load the temporary value F-1
|
||||
add # add F-1 and F-2
|
||||
copy rgo rgd
|
||||
write # write the value to the temporary location
|
||||
set 0x00 rgp
|
||||
load # load the pointer for the next value
|
||||
copy rgd rgo # store the value in rgo temporarily
|
||||
set 0x01 rgp
|
||||
load
|
||||
copy rgo rgp # copy the pointer from rgo to rgp
|
||||
write # write the value to the pointer for the next value
|
||||
copy rgp rgd # copy the pointer address to rgd
|
||||
set 0x01 rgi
|
||||
add # add 1 to the address to get the next one
|
||||
copy rgo rgd
|
||||
set 0x00 rgp
|
||||
write # write the next address into 0x00
|
||||
set 50 rgi
|
||||
jl
|
||||
|
||||
# print all values
|
||||
set 0x00 rgp
|
||||
load # load the pointer to the next value
|
||||
set 0x01 rgl
|
||||
label 0x01 # create a label to jump back
|
||||
set 0x01 rgi
|
||||
sub
|
||||
copy rgo rgp # subtract the pointer by one to get the previous value
|
||||
load
|
||||
print rgd # print the loaded previous value
|
||||
copy rgp rgd
|
||||
set 0x02 rgi
|
||||
jg # jump if the pointer is greater than 2 (the numbers start at 0x03)
|
||||
|
||||
debug
|
Loading…
Reference in New Issue