Skip to content

Instantly share code, notes, and snippets.

@justarandomgeek
Last active September 7, 2016 03:51
Show Gist options
  • Save justarandomgeek/0d1537c6f182b458f7d86c5d656885f1 to your computer and use it in GitHub Desktop.
Save justarandomgeek/0d1537c6f182b458f7d86c5d656885f1 to your computer and use it in GitHub Desktop.
program "TEST PROGRAM"
rIndex.signal-red = 50
call CLRDISP
// Print helloworld
rNixie = [helloworld]
call COLORDEMO
call CLRDISP
call MATHDEMO
{}
helloworld: "HELLO WORLD"
function CLRDISP:
// Chear Display
rNixie.signal-grey = 1
rNixie.signal-grey = 1
rNixie.signal-grey = 1
rNixie.signal-grey = 1
rNixie.signal-grey = 1
end
function COLORDEMO:
// Print a color demo
rIndex.signal-green += colors
rNixie.signal-grey = 1
pop 2 rNixie
rNixie.signal-grey = 1
pop 2 rNixie
rNixie.signal-grey = 1
pop 2 rNixie
return
colors: { .signal-red=1 .signal-green=2 .signal-blue=4
.signal-cyan=8 .signal-pink=16 .signal-yellow=32
}&"COLORS"
{.signal-red=7 .signal-green=496 .signal-blue=61440
}&"RED GREEN BLUE"
{.signal-cyan=15 .signal-pink=480 .signal-yellow=258048
}&"CYAN PINK YELLOW"
end
function MATHDEMO:
// nn FACTORIAL
// nn SQUARE
// ii NUMBER
r1.signal-white = 1
r1+=[number]
r3.signal-white = 1
while r1.signal-white < 11 //TODO: convert this to do/while?
[500]=r1
r2.signal-white = r1.signal-white * r1.signal-white
r2+=[square]
[501]=r2
r3.signal-white = r3.signal-white * r1.signal-white
r3+=[factorialstr]
[502]=r3
r1.signal-white += 1
end
return
number: "NUMBER"
square: "SQUARE"
factorialstr: "FACTORIAL"
end
Program Name: TEST PROGRAM
Labels:
[D:helloworld, 1008]
[F:CLRDISP, 1009]
[F:COLORDEMO, 1017]
[D:colors, 1026]
[F:MATHDEMO, 1031]
[D:number, 1046]
[D:square, 1047]
[D:factorialstr, 1048]
1001: ALU58 13.45 13.44 => 9.38 | 50 0
1002: CALL 13.45 | CLRDISP
1003: [13.45] => 14 | helloworld
1004: CALL 13.45 | COLORDEMO
1005: CALL 13.45 | CLRDISP
1006: CALL 13.45 | MATHDEMO
1007: DATA}
1008: DATA:{.signal-H=1, .signal-E=2, .signal-L=524, .signal-O=144, .=32, .signal-W=64, .signal-R=256, .signal-D=1024}
1009: PUSH 1 8
1010: ALU58 13.45 13.44 => 14.45 | 1 0
1011: ALU58 13.45 13.44 => 14.45 | 1 0
1012: ALU58 13.45 13.44 => 14.45 | 1 0
1013: ALU58 13.45 13.44 => 14.45 | 1 0
1014: ALU58 13.45 13.44 => 14.45 | 1 0
1015: POP 1 8
1016: JUMP 8.39 |
1017: PUSH 1 8
1018: ALU58 13.45 13.44 => 9.39 | colors 0
1019: ALU58 13.45 13.44 => 14.45 | 1 0
1020: POP 2 14
1021: ALU58 13.45 13.44 => 14.45 | 1 0
1022: POP 2 14
1023: ALU58 13.45 13.44 => 14.45 | 1 0
1024: POP 2 14
1025: RJUMP 13.45 | 4
1026: DATA:{.signal-red=1, .signal-green=2, .signal-blue=4, .signal-cyan=8, .signal-pink=16, .signal-yellow=32, .signal-C=1, .signal-O=10, .signal-L=4, .signal-R=16, .signal-S=32}
1027: DATA:{.signal-red=7, .signal-green=496, .signal-blue=61440, .signal-R=33, .signal-E=32962, .signal-D=4, .=3592, .signal-G=16, .signal-N=256, .signal-B=4096, .signal-L=8192, .signal-U=16384}
1028: DATA:{.signal-cyan=15, .signal-pink=480, .signal-yellow=258048, .signal-C=1, .signal-Y=4098, .signal-A=4, .signal-N=136, .=3600, .signal-P=32, .signal-I=64, .signal-K=256, .signal-E=8192, .signal-L=49152, .signal-O=65536, .signal-W=131072}
1029: POP 1 8
1030: JUMP 8.39 |
1031: PUSH 1 8
1032: ALU58 13.45 13.44 => 1.44 | 1 0
1033: [13.45] => 1 | number
1034: ALU58 13.45 13.44 => 3.44 | 1 0
1035: BRANCH 1.44?=13.44 | 10 1 10
1036: 1 => [13.45] | 500
1037: ALU60 1.44 1.44 => 2.44 |
1038: [13.45] => 2 | square
1039: 2 => [13.45] | 501
1040: ALU60 3.44 1.44 => 3.44 |
1041: [13.45] => 3 | factorialstr
1042: 3 => [13.45] | 502
1043: ALU58 13.45 13.44 => 1.44 | 1 0
1044: RJUMP 13.45 | -9
1045: RJUMP 13.45 | 4
1046: DATA:{.signal-N=1, .signal-U=2, .signal-M=4, .signal-B=8, .signal-E=16, .signal-R=32}
1047: DATA:{.signal-S=1, .signal-Q=2, .signal-U=4, .signal-A=8, .signal-R=16, .signal-E=32}
1048: DATA:{.signal-F=1, .signal-A=130, .signal-C=4, .signal-T=8, .signal-O=16, .signal-R=32, .signal-I=64, .signal-L=256}
1049: POP 1 8
1050: JUMP 8.39 |
Compiling ROM:
TEST PROGRAM
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
TEST PROGRAM Addr Table
H4sIAAAAAAAEAO3ZTW/aQBCA4b9icXYk7LUhKPKBtumH1DQpocoR2XjbrmTWkVmiIIv/XheUA51dZTS2MyHqKTKSWfIgdl7beekV5TItvEVSS22UUXKd1PWy1FoujSp1c7TzdbqSyaB5cW1Sbc6W5SpTOjVlNfCbF01VFotM/k4fVFkl9U9VGFkd3mWjTRL4Sufysfm7Vr90WiT14e0OR2fBwDfb++b4QVVmkxaD3c7/58zQfubw+TMFec0IvWZz7l5uu9CbVSar5i3uy7X6i5fU22ToPybDnZ+r6gCaRPu1XswXoeTwPSf7ItZ0+E4QvgL4Boy+WbGRZOLPZGLcsg7l9wjlGCiHjMqXZOKvZGLEmQ7fGcJ3DHwFoy/if3X4XpN9P5B9vyB8J8A3YvS9Y/C9JfveYKYcHHMxI7DlJ9f7BtFqD7afDJnhtBsxMiN+sw5mHBanNJx4Y0bpN9jFxyMvYA5jOvCYDBySgUcY4AkAPtkytiTqaynjMADMnGmMCITOJx9iTQewZU0ILAAwZxvTgRFR0jkw5tojjAEwZxzTowJxWdh5HCNzIoTTjrOPrxguQF6i2kI48zj7+O1VmziediFztQkyMILJARz1Wm1CAOCTrTbELtPHXvENwxwDZs5qm5KN52TjH2Rgy/cKgccAmLPaELfWHcCIHHEAvyMDW0IGAk8AMGe10W/J03cJRFC3y4kITjvOaqNferz6220RHHv/w63LcIuOB55gDjdERHV+u40ebpZn3xB4DIBPNtwQl8N97BUfMcwTwMwZbt/Jxoj8chgjYrHNk/4AAHOGG72M6bfbEE3tALZMaAgsAPBphlurqKC3G+ZxfwynHWe4tdqMWzHT9wrMrfkYzjzOauNjpt8/tuw1kBnOPM5n0XzMvV/wjeDwOz+WfqKdX97OvZvZ9afZ9Mqb5nnlzdOsaNZQy/1XUNsJrd/I4WMpI1f7z3RRSbOptLe4kDr/A58qmmWTKwAA
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment