DataHoarder
5d9ed3cd82
Fixed AsValue and AsIndirect
continuous-integration/drone Build is running
continuous-integration/drone/push Build is failing
2021-08-06 00:14:58 +02:00
DataHoarder
93a5ae1c13
Implemented INIT op
continuous-integration/drone/push Build is passing
2021-08-05 16:29:29 +02:00
DataHoarder
86f808291b
Extended SET to include virtual dynamic way of setting bits on offset/register cases
2021-08-03 22:20:59 +02:00
DataHoarder
ec5421ff3c
Add third offset parseOperatorResult
2021-08-03 22:14:19 +02:00
DataHoarder
964765dcfc
Add .bitfield to define bitfields of each entry (usage .bitfield <name> offset, [size in bits]. Each entry also has .not, .offset, .size, .mask for extra template usage
2021-08-03 19:25:43 +02:00
DataHoarder
8a8ddfec22
Added .reserve to allocate static registers in scratch space without specifying hardcoded values (set to none or 0)
continuous-integration/drone/push Build was killed
2021-08-03 18:47:13 +02:00
DataHoarder
3f40ce34a9
fix bug: FastCall used std_PARAMETER_1 instead of std_PARAMETER_0 as base offset
continuous-integration/drone/push Build was killed
2021-08-03 18:28:27 +02:00
DataHoarder
c4a98361b1
Implement XOR (without offsets)
continuous-integration/drone/push Build was killed
2021-08-03 17:54:27 +02:00
DataHoarder
6d8b3f0e09
Implement NOP with offsets
2021-08-03 17:54:13 +02:00
DataHoarder
98e3e77686
add comments as base of Instruction
2021-08-03 17:53:44 +02:00
DataHoarder
1cce604661
remove PushGroup::fromTokens
2021-08-03 17:53:02 +02:00
DataHoarder
7ffaa962a3
Added Container virtual instruction
2021-08-03 16:43:24 +02:00
DataHoarder
f7b4fa92db
stdlib/register API change, use different RRET/RRET_X and P0/P1
2021-08-03 16:10:51 +02:00
DataHoarder
38ba3ceb45
Add shift offset support via <
continuous-integration/drone/push Build was killed
2021-08-03 02:31:51 +02:00
DataHoarder
71f3fb6f36
Fix DocComments in the case of a DocComment following a normal comment straight away
continuous-integration/drone/push Build was killed
2021-08-03 01:56:08 +02:00
DataHoarder
e4c90e1c53
Add support for DocComments that get ignored on parser (useful for big license texts)
continuous-integration/drone/push Build was killed
2021-08-03 01:49:18 +02:00
DataHoarder
5e7360b844
Overhaul debugh annotation system. Multiple annotations can be had, at the moment, FunctionName and Comments
continuous-integration/drone/push Build was killed
2021-08-03 01:37:14 +02:00
DataHoarder
835c84c944
Major overhaul of Stack system and calling convention, added PUSH, PUT, GET (and immediate versions), optimized FastCall, expanded RET
...
continuous-integration/drone/push Build was killed
* Stack redesigned to have a Stack pointer and Frame pointer, and restoration of such for ease of access
* Can now directly add parameters to RET for setting RRET
* PUT, GET (and immediate versions) ops have been added to interact with stack offsets without pushing/popping
* New PUSH op to push values onto stack, and PushGroup optimized multiple value set
* FastCall now uses optimized PushGroup and minimizes amount of PUSH calls
2021-08-03 00:02:49 +02:00
DataHoarder
8c93edd1f9
* Added reservation system (basically constants in BSM_SCRATCH)
...
* New token cast system to force an entry as Value (&) or Indirect (*)
2021-08-03 00:02:28 +02:00
DataHoarder
06051ec67d
Embed rrcc git version on binary
continuous-integration/drone/push Build is passing
2021-08-02 21:01:00 +02:00
DataHoarder
93382e0815
Added virtual destructor to Instruction::Instruction
continuous-integration/drone/push Build is failing
continuous-integration/drone/tag Build was killed
2021-08-01 17:37:48 +02:00
DataHoarder
4b201a9a5e
Added further output information to help debug
2021-01-05 12:21:11 +01:00
DataHoarder
22b72ede9f
fix FASTCALL stack push, optimized size for multiple immediate value arguments
continuous-integration/drone/push Build is passing
2021-01-04 17:09:19 +01:00
DataHoarder
e76befaed7
Added full image format, include some debug information at the tail of functions
continuous-integration/drone/push Build is passing
2021-01-04 08:16:20 +01:00
DataHoarder
1566c33d58
Enhanced debuggability of assembly and parsing errors
continuous-integration/drone/push Build is passing
2021-01-04 06:09:39 +01:00
DataHoarder
624fad1319
Made FASTCALL cleanup stack values, fixed Ret instruction taking m[offset] instead of m[m[offset]]
continuous-integration/drone/push Build is passing
2021-01-03 05:31:51 +01:00
DataHoarder
eb9b13c7cc
Fix RET: actually pop number of values in stack
continuous-integration/drone/push Build is passing
2021-01-02 15:57:46 +01:00
DataHoarder
5ce8cfb3d8
Use absolute addressing for RET calls
continuous-integration/drone/push Build is passing
2021-01-02 15:55:21 +01:00
DataHoarder
8793c64f1c
Fix stoi -> stoul
continuous-integration/drone/push Build is passing
2021-01-02 15:43:48 +01:00
DataHoarder
ffc243d528
Use WRITE instead of MOV for stack pointer init
continuous-integration/drone/push Build is passing
2021-01-02 14:55:40 +01:00
DataHoarder
bb6bcc8b5f
Return error on exception
continuous-integration/drone/push Build is passing
2021-01-02 11:38:47 +01:00
DataHoarder
8514bb8a90
Flip stack around to be similar to other architectures. Implement FASTCALL calling convention
continuous-integration/drone/push Build is passing
2021-01-02 10:30:32 +01:00
DataHoarder
bb8df3aae2
Implemented POPP stack peeking op. Start stdlib.asm and init
...
continuous-integration/drone/push Build is passing
- implement std_multiply
2021-01-02 06:31:26 +01:00
DataHoarder
7d541611dd
Added numeric Offset token support
continuous-integration/drone/push Build is passing
2021-01-02 05:09:51 +01:00
DataHoarder
8533398ca4
Use padding to tag start of function
2021-01-02 04:53:16 +01:00
DataHoarder
74f6dd27c3
Implemented NOT instruction via SUB and a 0xFFFFFFFF register
2021-01-02 04:51:17 +01:00
DataHoarder
5527dac3d8
Implement Push/Ret using the Stack
continuous-integration/drone/push Build is passing
2021-01-01 21:56:04 +01:00
DataHoarder
32102898f9
Cleanup instruction declaration decoding
2021-01-01 20:42:38 +01:00
DataHoarder
d96002a757
Allow entrypoint to not be the first function on PlaceAll mode
2021-01-01 19:33:58 +01:00
DataHoarder
d9094e7d83
- Added Linker and multiple file assembly support.
...
continuous-integration/drone/push Build is passing
- Added asm/registers.asm and asm/api.asm with some used registers on the platform
- Added embedded resources into build
2021-01-01 07:31:30 +01:00
DataHoarder
a824385ec4
Added .constant Directive support
continuous-integration/drone/push Build is passing
2021-01-01 05:50:34 +01:00
DataHoarder
05d16a5117
Fix broken fedora build
continuous-integration/drone/push Build is passing
2021-01-01 04:28:32 +01:00
DataHoarder
79a93138f3
Apply code formatting rules
continuous-integration/drone/push Build is failing
2021-01-01 04:21:47 +01:00
DataHoarder
581a4143b8
Add ability to set direct placement mode and change padding
continuous-integration/drone/push Build is failing
2021-01-01 04:20:14 +01:00
DataHoarder
edb4d2feeb
Implemented a Stack based on last half of BSM_SCRATCH, 512 words long
continuous-integration/drone/push Build is failing
2021-01-01 04:07:58 +01:00
DataHoarder
d997220fd5
Added explicit tag to relevant constructors
2021-01-01 04:06:08 +01:00
DataHoarder
e5f30b4e12
Added alternate operand names
2021-01-01 01:17:28 +01:00
DataHoarder
5b993a9a1d
Fix WRITE, added proper Operator parsing
2021-01-01 01:06:35 +01:00
DataHoarder
ab21ac340a
Fix COPY, added setSignature()
continuous-integration/drone/push Build is passing
2020-12-31 23:05:14 +01:00
DataHoarder
59dbf69c1e
WIP: Initial commit, working basic assembler
2020-12-31 22:06:52 +01:00