Commit Graph

79 Commits

Author SHA1 Message Date
Michael Munday
72ba386d14 Various minor style changes. 2017-01-31 16:38:33 -05:00
Michael Munday
09017733b8 Re-arrange instruction encodings so they are in alphabetical order. 2017-01-31 15:42:48 -05:00
Michael Munday
7352e706fb Use real encoding names for extended mnemonics. 2017-01-31 15:30:54 -05:00
Michael Munday
60bc2fad2d Sort instructions in alphabetical order. 2017-01-31 15:23:03 -05:00
Michael Munday
a3bb1cee5d Add and use branch on count instructions where possible. 2017-01-11 16:38:35 -05:00
Michael Munday
21655cf90b Add remaining (useful) SI instructions to DynASM. 2017-01-10 12:52:02 -05:00
Michael Munday
a038a08189 Fix SI (tm) action parsing. 2017-01-10 11:37:25 -05:00
Michael Munday
a8562b7f34 Allow displacements to be used directly without register values.
Allows sllg r1, r1, 3(r0,r0) to be written as sllg r1, r1, 3.
2017-01-10 10:50:41 -05:00
Michael Munday
443814b6b3 Add more convert to/from fixed instructions to DynASM. 2017-01-06 11:16:04 -05:00
niravthakkar
206c650689 Updated the memory parsing
The order matters here, so just moved displacement check to end
2017-01-05 14:48:09 +05:30
niravthakkar
7aae451d93 Reverting the changes, as its breaking the build
The above expression works on CLI, but its failing here, not sure whats going wrong , Please let me know your comments on it
2017-01-04 18:15:57 +05:30
niravthakkar
1fe2176241 Updated memory parsing
The values of base and index registers have been passed as 0, if only displacement is passed
the displacement is assumed to be alphanumeric (since label might be used)
2017-01-04 17:43:53 +05:30
niravthakkar
6bbfa48b93 Updated the memory parsing
It accepts 2 registers, without the displacement
2017-01-04 16:20:56 +05:30
niravthakkar
b84dd8e65d Added couple of instructions required by test-case
maeb(RXF) and cegbra(RRF-e)  have been added
2017-01-03 16:16:29 +05:30
niravthakkar
dd6ecfa73d Added SIY addressing mode support
Added SIY add mode, and Updated the number of parameters for few of the instructions of RS-a mode
2017-01-03 15:51:23 +05:30
Michael Munday
12602d2a1f Fix for DynASM buffer overflow.
Need to include all actions with arguments against MAXSECPOS.
2016-12-29 16:50:58 -05:00
Michael Munday
419869b20e Fixes for DynASM.
* s/hle/nle/
 * Fix RRF-b encoding (didbr instruction)
2016-12-20 14:53:31 -05:00
Michael Munday
5076a3ee2e Fix some DynASM instructions. 2016-12-20 09:27:40 -05:00
niravthakkar
28b6fe8759 Updated encoding for instructions
Have replaced the characters used for encoding with their respective addressing modes
2016-12-20 17:50:29 +05:30
Michael Munday
0d442ec688 Add some more instructions to DynASM. 2016-12-19 14:21:24 -05:00
Michael Munday
bee112d431 Add support for global short assignments.
In other words 'a = 1' now works.
2016-12-16 17:23:46 -05:00
Michael Munday
f79a6f3f0b Add support for clm instruction. 2016-12-14 21:16:30 -05:00
Michael Munday
ef3ff100f2 Fix decoding of REL_EXT.
REL_EXT has an argument which wasn't being properly jumped,
resulting in an early STOP (because the argument is 0).
2016-12-14 16:27:38 -05:00
niravthakkar
d63ff89c54 Added support for RRD addressing mode
We may not require RRD mode but, Added to check working of RRF-e.
2016-12-14 19:07:05 +05:30
niravthakkar
df7c3245e0 Minor Fix, correct the parameter used
Instead of params[2] , params[1] was used, corrected it.
2016-12-14 17:45:32 +05:30
niravthakkar
52368ac005 Minor cleanup 2016-12-14 14:47:15 +05:30
niravthakkar
ccd2614902 Added support for RIE-e, RSI, RXF, SI instructions 2016-12-14 14:18:07 +05:30
niravthakkar
f01f459573 Added support for RIL-c and RX-b instructions 2016-12-14 13:51:58 +05:30
niravthakkar
a8244c02ec Added support for RI-b and RI-c mode instructions 2016-12-14 13:41:55 +05:30
niravthakkar
cdb31062b7 Added the action part for I mode 2016-12-14 13:24:44 +05:30
niravthakkar
52ab0596da Added support for I mode instructions 2016-12-14 13:16:44 +05:30
niravthakkar
bc490013a3 Adding S mode instructions support 2016-12-14 13:08:32 +05:30
niravthakkar
45669fecef Added RRF-b mode support 2016-12-14 12:34:11 +05:30
niravthakkar
2f96ca3d91 Adding support for RXE mode instructions 2016-12-14 12:29:46 +05:30
niravthakkar
fc5874c951 Added RRF-e support 2016-12-14 12:22:08 +05:30
Michael Munday
c83f4af9cc Add more RI-a (register-immediate) instructions. 2016-12-13 17:01:44 -05:00
Michael Munday
3ef1f21531 Add support for SIL instructions in DynASM. 2016-12-13 11:26:53 -05:00
Michael Munday
0b120ac64b Add partial implementation of vm_cpcall.
Currently works if the call returns 0. Haven't yet written the code
needed to handle the non-zero case.
2016-12-12 17:17:34 -05:00
Michael Munday
361a298371 Add lhi instruction and fix immediate parsing.
We were reading immediate values as hexadecimal values, really we
want the default to be decimal unless the immediate has a '0x' prefix.
2016-12-12 14:38:55 -05:00
niravthakkar
9b9e1ea667 Added SS-b mode
Currently I am not able to test the functionality of this mode, need some help in that.
Also for the time being I have created different function for parsing, we can merge that later, just to make sure SS-a doesnt break, I have not merged this since I was not able to test it.
Let me know your comments on this
2016-12-09 19:18:02 +05:30
Michael Munday
1a06b651e2 Fix a couple of templates that were too short. 2016-12-08 16:00:59 -05:00
Michael Munday
d472a3cc1c Add support for .type directives. 2016-12-08 15:29:26 -05:00
Michael Munday
b98c92e142 Delete unused branch_type function. 2016-12-08 13:59:05 -05:00
Michael Munday
106718249e Add support for SS-a instructions.
I've also changed the template parser so that it can handle suffixes
which are longer than 1 character. The suffix for SS-a instructions
is "SS-a". We could change this again later.
2016-12-07 16:56:00 -05:00
niravthakkar
127f0fd745 Adding RRD support
Currently only "maer" is  implemented. I am not able to get this working, don't know if I am missing out something, or we need to add some more functionality for RRD.
2016-12-07 20:21:06 +05:30
Michael Munday
cdfb632a4f Add ADD HALFWORD IMMEDIATE (64-bit) instruction (aghi). 2016-12-06 15:39:04 -05:00
Michael Munday
c688a0a3ab Add support for brasl instruction.
Important for calling subroutines.
2016-12-06 14:38:11 -05:00
Michael Munday
3ae1c4fd6b Support floating point register arguments.
It would be nice to verify that floating-point/general-purpose
registers are indeed expected by the instruction, but for now treat
them both the same so we can use floating-point instructions.
2016-12-06 13:15:29 -05:00
Michael Munday
e3ab67aed4 Support forward local branches. 2016-12-06 11:57:48 -05:00
niravthakkar
1362e9aee2 Minor Cleanup 2016-12-06 19:34:47 +05:30