Torsten Ruger
49c4d170ce
make the interpreter platform
...
but still using the risc_instruction stream
2018-05-17 09:31:36 +03:00
Torsten Ruger
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
Torsten Ruger
2d901bf7b6
not wrapping the cpu initial jump anymore
...
also introduce padding after cpu_init (wip)
2018-05-12 18:36:59 +03:00
Torsten Ruger
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
Torsten Ruger
7ca7e92dda
remove link exception class
2018-05-08 20:22:04 +03:00
Torsten Ruger
cf06642768
start passing positions along inside the position code
2018-05-08 19:59:43 +03:00
Torsten Ruger
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
Torsten Ruger
68fb9b1bdc
rename Position get/set
2018-05-06 20:04:02 +03:00
Torsten Ruger
6b7e1e3932
remove link exception raise
...
need to fix move logic next
2018-05-05 23:55:50 +03:00
Torsten Ruger
d65a982454
start by moving positioned(module) to position(class)
2018-05-05 19:47:18 +03:00
Torsten Ruger
43d5521cfc
debugging positions
2018-05-05 19:32:01 +03:00
Torsten Ruger
30ca70e042
remove extra instruction and use next instead
...
was messing with binary writing as the assumption of 1 word writes is
baked in
2018-04-03 14:46:07 +03:00
Torsten Ruger
606e3f8cb3
fix calling to binaries
...
used to be to the method, but we assemble the method to its own
position.
Throw in a test for binary calling
2018-03-28 13:00:03 +03:00
Torsten Ruger
105e8f7092
some better and some missing arm test
...
for the exceptional case
2018-03-28 12:16:28 +03:00
Torsten Ruger
73b7e2b22f
remove all test_all
...
Stop manually creating the list of tests (and searching missing).
Main level test_all does a search for all test_*
also possible to run by command line with starts
2017-04-13 17:00:56 +03:00
Torsten Ruger
aa79e41d1c
rename register to risc
...
seems to fit the layer much better as we really have a very reduced
instruction set
2017-01-19 09:02:29 +02:00
Torsten Ruger
da58ce30e3
put arm tests in arm module
2017-01-03 22:37:55 +02:00
Torsten Ruger
d8289d4fcf
try spelling correctly
2016-12-30 11:59:38 +02:00
Torsten Ruger
80237e5033
rename position accessor
...
for future
2016-12-28 21:40:06 +02:00
Torsten Ruger
8cfcb84c8d
collect missing tests (and ordering)
2016-12-28 19:31:17 +02:00
Torsten Ruger
9cf56b3aa6
use factory functions consistently to create instructions
2016-12-28 19:01:58 +02:00
Torsten Ruger
b3eeb7db21
memory instruction refactor (small)
2016-12-14 21:05:24 +02:00
Torsten Ruger
b3bf881c49
streamline arm test names and get guard to pick up right tests
2016-12-14 19:06:32 +02:00
Torsten Ruger
0a0f9154e1
use Simpleconv for code_climate
2016-12-14 13:52:44 +02:00
Torsten Ruger
456e9b1ec0
folded salama-arm in
2016-12-14 13:43:13 +02:00
Torsten Ruger
f4f703975b
removed arm and use as gem
2015-07-18 14:12:20 +03:00
Torsten Ruger
e1c19dee80
remove old to_asm
...
very strange that is was called in 1.9 but not 2.0
2.0 seems to delay interpolating strings
2015-07-18 12:15:07 +03:00
Torsten Ruger
37403f1139
fix misunderstood mov usage
...
When moving a reference (pointer) to a register
one needs to ADD to the pc
i.e. one needs an add, not mov instruction
2015-06-26 20:00:33 +03:00
Torsten Ruger
bee73801eb
revert to symbols
...
Parfait::Words were nice, but endless problems with the fact that when
you write “String” you get a string.
Symbols take care of uniqueness at the same time
2015-05-31 18:34:18 +03:00
Torsten Ruger
3e9e650764
fix arm tests
2015-05-29 12:47:49 +03:00
Torsten Ruger
5b10f09ea1
fix test
2015-03-28 21:12:03 +02:00
Torsten Ruger
7968cadaf9
remove singleton in arm machine and use class methods
2014-10-04 17:34:51 +03:00
Torsten Ruger
fba66371c0
(semi) proper fix for large moves, integers or virtual constants(was buggy)
2014-09-30 12:07:21 +03:00
Torsten Ruger
527e591e75
fix add instruction and test
2014-09-29 21:04:38 +03:00
Torsten Ruger
ae65952d0a
more precise tests
2014-09-29 20:28:24 +03:00
Torsten Ruger
45adf7173c
naming, clean
2014-09-29 20:28:05 +03:00
Torsten Ruger
e0c479f778
split some tests, create more and especially big move
2014-09-18 17:06:30 +03:00
Torsten Ruger
ccb5b37a3c
reinserted arm for now, until dependecy is cleaned up. fixed tests
2014-08-30 19:40:37 +03:00
Torsten Ruger
84d27ce9d9
remove arm as it is in own rep now
2014-06-30 15:28:39 +03:00
Torsten Ruger
f523d0946d
fix the lasts tests
2014-06-05 16:27:25 +03:00
Torsten Ruger
31a55b07ac
makes memory a three operand instruction, like add etc. But 3 regs are still undone
2014-06-01 21:20:44 +03:00
Torsten Ruger
cdfc1ac891
kernel functions are not fixed to be Object functions
2014-05-31 16:19:44 +03:00
Torsten Ruger
a6f02d6be3
let the BootClasses carry functions, ie one level squeezed between object_space and funtion, the class is coming to life
2014-05-31 14:35:33 +03:00
Torsten Ruger
3713d08748
renamed program to boot_space, as in object_space at boot time. thats the way its going
2014-05-31 12:52:29 +03:00
Torsten Ruger
5e8688c417
small fixes to get all the tests to pass/run
2014-05-28 21:00:52 +03:00
Torsten Ruger
62ae79dfd8
all lights are green in crystal land
2014-05-25 13:45:04 +03:00
Torsten Ruger
1f17262887
fix the handcoded fibonacci (registers again)
2014-05-25 13:34:06 +03:00
Torsten Ruger
1e326e00b9
fix tests after register allocation work
2014-05-24 16:52:54 +03:00
Torsten Ruger
7b6d6b9024
more stack tests, just to make sure
2014-05-23 15:08:47 +03:00
Torsten Ruger
56afe575e1
writing before asserting to be able to debug the object, also move to hex
2014-05-21 19:05:40 +03:00