Commit Graph

2719 Commits

Author SHA1 Message Date
15e4533a2f fix interpreter to use positions
tick from one (simulated memory) position to the next
(not from one instruction to the next)
2018-05-17 20:14:59 +03:00
8966a50a8a getter by position
extract and expand position testing
never return labels (that have the same position as their target)
2018-05-17 20:13:33 +03:00
37d62d298e assemble risc to it's position (not itself)
So in the next step the interpreter can use positions as program counter
and would be much more like the real thing
2018-05-17 09:49:01 +03:00
49c4d170ce make the interpreter platform
but still using the risc_instruction stream
2018-05-17 09:31:36 +03:00
07ed16d765 groundwork for interpreter platform
especially positioning makes the previous interpreter approach to
fragile (too far off the real thing)
Interpreter should be it’s own platform (still use the risc
instructions),
get a translator and use positions
2018-05-16 21:00:14 +03:00
dc8afce444 use existing constant 2018-05-16 12:55:51 +03:00
9597fc5756 more slot tests, also in separate files 2018-05-16 12:49:46 +03:00
36e59ebdea some slot load tests 2018-05-16 12:35:44 +03:00
473866e76b start with some slot definition tests 2018-05-15 19:29:27 +03:00
000bf0a9b3 separate SlotDefinition into own file
what started as three lines has grown up to demand it’s own file and
tests
2018-05-15 19:29:06 +03:00
ab4bc370ed another +1 bug 2018-05-15 16:25:55 +03:00
e237bc625a remove unused methods
and a whole lot more index fixes
2018-05-14 20:50:52 +03:00
5d3c70da89 fix type api
tests were using methods that were only used in tests.
2018-05-14 16:13:50 +03:00
3c00239f36 another million index fixes 2018-05-14 15:17:04 +03:00
4a88f342d3 random checkin
still suffering -1 trauma
2018-05-14 12:38:44 +03:00
ab01fa3862 switch to 0 based indexing
the world rocked for a moment (and more fixes to follow)
also the crumbling of idealism was heard
2018-05-14 11:55:01 +03:00
4856b9891d simplify writing binary
loop as should be, fixes the problem (one problem at least)
2018-05-13 18:01:45 +03:00
866467ee5e change binary labels 2018-05-13 17:21:48 +03:00
39902401b9 positioning code by setting first method code
codes will initial (and on reset) propagate the whole chain
2018-05-13 15:28:10 +03:00
7ad36380c2 add next_value for dictionary
also next for list
and add types attributes to space
2018-05-13 13:03:04 +03:00
2d901bf7b6 not wrapping the cpu initial jump anymore
also introduce padding after cpu_init (wip)
2018-05-12 18:36:59 +03:00
232fe67c09 introduce platform to abstract cpu and load address 2018-05-12 18:32:10 +03:00
776a97986d fix instruction positioning
use at as at and only compute difference when needed (to determine if
there is a jump in binary)
Easier to understand that way
2018-05-11 18:36:45 +03:00
bc1e29e4f6 seperate different Position classes into own files
also tests
and have Position module keep all positions
(singletons should be at module, not class level)
2018-05-10 20:56:12 +03:00
1169fa7220 propagating binary code position on extend 2018-05-09 20:36:49 +03:00
6a1528e75a Fix instruction resetting
which happens on insert of a new instruction
2018-05-08 20:53:48 +03:00
7ca7e92dda remove link exception class 2018-05-08 20:22:04 +03:00
cf06642768 start passing positions along inside the position code 2018-05-08 19:59:43 +03:00
ce3cc72f9e move all position setting into position
Position and subclasses handle the logic, external to
the classes, so it can be swapped out later
(at runtime positions can’t change)
2018-05-07 22:30:43 +03:00
68fb9b1bdc rename Position get/set 2018-05-06 20:04:02 +03:00
e89c4d1ce1 pass binary that arm instruction belongs to in
at least to first. repositioning and stuff next
2018-05-06 19:56:36 +03:00
415df49199 hand context into position 2018-05-06 00:34:59 +03:00
6b7e1e3932 remove link exception raise
need to fix move logic next
2018-05-05 23:55:50 +03:00
40f4bfc287 change to position objects complete 2018-05-05 20:25:10 +03:00
3244c7d633 add position tests
and refactor padding out
2018-05-05 20:11:08 +03:00
d65a982454 start by moving positioned(module) to position(class) 2018-05-05 19:47:18 +03:00
43d5521cfc debugging positions 2018-05-05 19:32:01 +03:00
d49d2665c5 reinit risc_init
fixes over 100 tests :-)
2018-05-01 22:36:46 +03:00
6be28e7f55 fix (re)positioning when link exceptions are thrown
slow design, but sort of works
2018-05-01 19:48:11 +03:00
1c52ab6b67 use hex for labels
idea was to be able to compare to positions
(but they are different positions)
2018-05-01 19:20:16 +03:00
06f51da8f1 rename get_all_methods 2018-05-01 19:19:37 +03:00
dd2c2cb975 fix init jump bug
the label for the jump was not translated correctly
call needs to go through to_cpu to create single instance
on the way init order slightly changed
2018-05-01 19:19:04 +03:00
3b6ff3d94f add emu and watcher script too 2018-05-01 16:15:04 +03:00
e39a0957d7 add sync command
must extract pwd at some point
(and make ping optional)
2018-05-01 14:24:47 +03:00
1acd231a33 debugging binaries, initial jump issues 2018-04-30 13:28:55 +03:00
d84d208192 implement assignment normalisation
especially when the value is a send that needs normalising
fixes several broken tests
2018-04-27 21:56:41 +03:00
1685ba5a44 fix send normalisation 2018-04-27 21:55:41 +03:00
672ccb351d fix argument hoisting
arguments in vool must be simple variables
finally did the hoisting to do that
2018-04-27 09:59:01 +03:00
08d0aae79e refactor send vool tests 2018-04-26 20:26:42 +03:00
26fe77ed68 add some multi method tests 2018-04-26 12:33:33 +03:00