Skip to content

Instantly share code, notes, and snippets.

@Islidius
Created February 26, 2015 22:38
Show Gist options
  • Save Islidius/5737061f080cf1232361 to your computer and use it in GitHub Desktop.
Save Islidius/5737061f080cf1232361 to your computer and use it in GitHub Desktop.
return:
settingup:
LOADI 0
STORE 500 #accu
LOADI 0
STORE 501 #flags
LOADI -1
STORE 502#stack pos
LOADI 0
STORE 503#pc
setoffset:
JMP endoffset
JMP declaration
JMP compare
JMP return
endoffset:
LOAD 502 # stack push
ADDI 1
STORE 502
LOAD 19 # main offset
ADDI 1# offset from declaration to main
STORE 37
LOAD 0#will be overwritten
STORE 510 # stack pos
JMP mainloop
mainloop:
LOAD 502
ADDI 510 # offset
STORE 53 # pos of the next load
SUBI 511
STORE 502 # stack pop
LOAD 0 # will be overwritten load stack
STORE 503# safe to pc
LOAD 21 #compare offset
ADDI 1
STORE 65 # pos for next store
LOAD 503
STORE 0# pos of next load in compare######
JMP compare
endcode:
LOAD 503
ADDI 2 # add to pc counter
STORE 503
LOAD 502 # stack push
ADDI 1
STORE 502
ADDI 510
STORE 87#next pos
LOAD 503
STORE 0#will be overwritten
JMP mainloop
loadicode:
LOAD 503
ADDI 1
STORE 97 # pos for next load
LOAD 0# will be overwritten
STORE 500 # safe to accu
JMP endcode
storecode:
LOAD 503
ADDI 1
STORE 109# pos for next load
LOAD 0#will be overwritten
STORE 115# pos for the store command
LOAD 500#load accu
STORE 0#will be overwritten
JMP endcode
holdcode:
HOLD
loadcode:
LOAD 503
ADDI 1
STORE 127#pos for next load
LOAD 0#will be overwritten
JMPNZ nextloadcode#zero loads from accu
LOAD 500
nextloadcode:
STORE 135#pos for next load
LOAD 0#will be overwritten
STORE 500#safe to accu
JMP endcode
opicode:
LOAD 503
ADDI 1
STORE 149# pos for next load after accu
LOAD 500
ADD 0# will be overwritten
STORE 500 # safe to accu
JMP endcode
opcode:
LOAD 503
ADDI 1
STORE 161# pos for next
LOAD 0#will be overwritten
STORE 167#pos for next add
LOAD 500
ADD 0#will be overwritten
STORE 500
JMP endcode
addicode:
LOADI 266
STORE 148
JMP opicode
addcode:
LOADI 266
STORE 166
JMP opcode
subicode:
LOADI 267
STORE 148
JMP opicode
subcode:
LOADI 267
STORE 166
JMP opcode
mulicode:
LOADI 268
STORE 148
JMP opicode
mulcode:
LOADI 268
STORE 166
JMP opcode
divicode:
LOADI 269
STORE 148
JMP opicode
divcode:
LOADI 269
STORE 166
JMP opcode
modicode:
LOADI 270
STORE 148
JMP opicode
modcode:
LOADI 270
STORE 166
JMP opcode
cmpicode:
LOAD 503
ADDI 1
STORE 241# pos for next sub after accu
LOAD 500
SUB 0# will be overwritten
STORE 501# flag register
JMP endcode
cmpcode:
LOAD 503
ADDI 1
STORE 253# pos for next
LOAD 0#will be overwritten
STORE 259#pos for next sub
LOAD 500
SUB 0#will be overwritten
STORE 501#flag register
JMP endcode
jmpcode:
LOAD 503
ADDI 1
STORE 271 # pos for next load
LOAD 0# will be overwritten
SUBI 2# later will be 2 added
STORE 503 # safe top c
JMP endcode
jmpzcode:
LOAD 501#flags resgister
JMPZ jmpzcode
JMP endcode
jmppcode:
LOAD 501#flags resgister
JMPP jmpzcode
JMP endcode
jmpncode:
LOAD 501#flags resgister
JMPN jmpzcode
JMP endcode
compare:
LOAD 0# will be overwritten load code
CMPI 532 # loadi code
JMPZ loadicode
CMPI 277 # store code
JMPZ storecode
CMPI 276 # load code
JMPZ loadcode
CMPI 522# addi code
JMPZ addicode
CMPI 266# add code
JMPZ addcode
CMPI 267#sub code
JMPZ subcode
CMPI 523#subicode
JMPZ subicode
CMPI 268#mul code
JMPZ mulcode
CMPI 524#muli code
JMPZ mulicode
CMPI 269#div code
JMPZ divcode
CMPI 525#divi code
JMPZ divicode
CMPI 526#modi code
JMPZ modicode
CMPI 270#mod code
JMPZ modcode
CMPI 527#cmpi code
JMPZ cmpicode
CMPI 271#cmp code
JMPZ cmpcode
CMPI 292#jmp code
JMPZ jmpcode
CMPI 290#jmpz code
JMPZ jmpzcode
CMPI 286#jmpn code
JMPZ jmpncode
CMPI 288#jmpp code
JMPZ jmppcode
CMPI 99#hold code
JMPZ holdcode
JMP endcode
declaration:
JMP main
JMP method1
method1:
HOLD
main:
LOADI 10
CMPI 11
STORE 400
HOLD
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment