Commit Graph

63 Commits

Author SHA1 Message Date
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
Torsten Ruger 2df2dcc528 function now returns locals, not free registers 2014-05-21 16:42:36 +03:00
Torsten Ruger 53cfeb72a4 fix test and remove hack for - 2014-05-21 12:42:54 +03:00
Torsten Ruger 9d873d3cba implement string loading and convert hello test 2014-05-20 19:21:29 +03:00
Torsten Ruger c7a2ce5af9 phase 2, add/sub instructions work with +- operator 2014-05-20 11:54:59 +03:00
Torsten Ruger c3c6928dc8 phase one, assignment for constants (moves) work 2014-05-20 11:14:18 +03:00
Torsten Ruger 7056f6f05c first step of assignment magic 2014-05-20 11:03:18 +03:00