Torsten Ruger
047c77e186
fixed that darn method address bug
2015-07-01 09:47:10 +03:00
Torsten Ruger
9541712af8
fixing all the indexes
...
with the type word and layout
but the list starting at 1, indexes still need 1 added
and for arm x 4.
Tried to get all that into one function, resolve_index
2015-06-30 18:38:56 +03:00
Torsten Ruger
88f45cbf15
weird 4 to add for call works
2015-06-30 18:36:57 +03:00
Torsten Ruger
553f30c874
more ripples from removing index constants
2015-06-29 20:58:06 +03:00
Torsten Ruger
31635d9747
fixing index issues
2015-06-28 22:01:13 +03:00
Torsten Ruger
99b59d920c
constant fixes
2015-06-28 10:52:02 +03:00
Torsten Ruger
a00a49ecdb
fix frame indexes
2015-06-28 10:50:47 +03:00
Torsten Ruger
ef42abe611
unifying register comstants
...
were in several files with different names
many files touched, but just renames
2015-06-27 21:16:46 +03:00
Torsten Ruger
97b4c469f8
fixing register order in some instructions
...
and their use
Arm is confusing as it has result as first arg
we use forward logic, i.e. from -> to
2015-06-27 20:09:21 +03:00
Torsten Ruger
294ea8de4f
fix the move, correct for funny pipeline
2015-06-27 20:07:42 +03:00
Torsten Ruger
d0d857bbe0
fix object loading
...
by (ahem) copying the code from MoveInst.
2015-06-26 20:36:00 +03:00
Torsten Ruger
55b7ca83e1
fixing load constant
...
which needs to add to pc to get an object reference
2015-06-26 20:01:52 +03:00
Torsten Ruger
108cc8af45
minor cleanup
2015-06-26 20:00:50 +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
32e1903884
finished init routine
...
and better implemented sys calls
2015-06-25 16:31:09 +03:00
Torsten Ruger
cedc6e1b61
Fix parfait bug for word_length
2015-06-24 16:08:06 +03:00
Torsten Ruger
59188105ba
finish syscall
...
works, even had to fix parfait bug to see
2015-06-24 16:07:27 +03:00
Torsten Ruger
1a82ebcd69
mor on sys call implementation
2015-06-23 19:55:54 +03:00
Torsten Ruger
d8fa266b5d
fix method call addresses
...
was jumping to the method
but needs to jump to the code of the method
2015-06-10 11:10:46 +02:00
Torsten Ruger
6f111a5ae0
fix the initial jump
2015-06-10 10:43:50 +02:00
Torsten Ruger
1c29fcfd43
mem_length to word/byte length
...
be more specific, and don’t include padding
2015-06-05 09:20:43 +03:00
Torsten Ruger
5726d2c181
move machine to module level
...
makes for shorter, more concise, access
also remove one more bug possibility
(reinitiation)
2015-06-01 08:40:17 +03:00
Torsten Ruger
336e6c18de
register reference creation got more complicated
2015-06-01 08:34:17 +03:00
Torsten Ruger
e651b57d08
homing in on line length 100
2015-05-30 12:20:39 +03:00
Torsten Ruger
33d464f032
minor
2015-05-30 11:56:47 +03:00
Torsten Ruger
3e9e650764
fix arm tests
2015-05-29 12:47:49 +03:00
Torsten Ruger
a46b2d5c56
update to use parfait not virtual
...
more ripples
reverting to integers (not virtual::integer)
2015-05-29 12:33:40 +03:00
Torsten Ruger
2ccbea04b9
fixing assembly
...
position code changed and linking too
passes not working
2015-05-24 18:05:20 +03:00
Torsten Ruger
422ec64105
all green
...
That fixes all existing tests. Operation successful
Off course there is tests missing :-(
2015-05-20 17:29:08 +03:00
Torsten Ruger
b980def84e
move space to parfait
...
Also make the machine the singleton
and space hang off it
Many repercussions, not all fixed in this commit
2015-05-12 15:36:44 +03:00
Torsten Ruger
e4c799ecb6
first tests comping through after ast/compile change
2015-05-04 23:03:52 +03:00
Torsten Ruger
9ac165c34c
some checks
2014-10-07 12:23:27 +03:00
Torsten Ruger
b7164b354d
better solution for initial jump
2014-10-07 12:01:33 +03:00
Torsten Ruger
5c90ad83e0
add initial jump instruction
2014-10-06 19:57:44 +03:00
Torsten Ruger
486580aeb2
fix bad scoping bug
2014-10-05 01:12:44 +03:00
Torsten Ruger
d38097aea4
fixing pass order by require order (easier to track)
2014-10-05 01:12:16 +03:00
Torsten Ruger
3aca3cc33d
making good headway with register machine implementation in arm
2014-10-05 01:05:18 +03:00
Torsten Ruger
7968cadaf9
remove singleton in arm machine and use class methods
2014-10-04 17:34:51 +03:00
Torsten Ruger
c5655b1059
a long string of import order and namespace issues which is not over yet
2014-10-03 14:52:47 +03:00
Torsten Ruger
1347a85eb7
fixing import order
2014-10-03 14:33:06 +03:00
Torsten Ruger
a083c03b1d
move function call instruction to register level and the pass to arm
2014-10-03 14:32:54 +03:00
Torsten Ruger
38a286942e
move the hash access stuff to arm, not sure if needed at all
2014-10-03 11:05:17 +03:00
Torsten Ruger
220d9f6213
moving instrctions into own folders and arm machine out of the way
2014-10-03 10:25:10 +03:00
Torsten Ruger
ad73e320b0
moved unsued code out of the way
2014-10-02 22:34:58 +03:00
Torsten Ruger
277dddeb6a
time was up for the Bassembler
2014-10-02 22:33:09 +03:00
Torsten Ruger
1be71918a5
move all arm instructions to own folder and fold inheritance
2014-10-02 22:28:34 +03:00
Torsten Ruger
cc08016a0f
fix the logic of move, but really there is a deeper issue (we'd have to add to get pc relative addressing for constants)
2014-10-02 16:08:24 +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
7d52e71f5c
found and implemented the movw, but not for pi :-(
2014-09-29 20:26:55 +03:00