Commit graph

50 commits

Author SHA1 Message Date
DataHoarder 5d9ed3cd82 Fixed AsValue and AsIndirect
Some checks failed
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
All checks were successful
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)
Some checks reported errors
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
Some checks reported errors
continuous-integration/drone/push Build was killed
2021-08-03 18:28:27 +02:00
DataHoarder c4a98361b1 Implement XOR (without offsets)
Some checks reported errors
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 <
Some checks reported errors
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
Some checks reported errors
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)
Some checks reported errors
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
Some checks reported errors
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
Some checks reported errors
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
All checks were successful
continuous-integration/drone/push Build is passing
2021-08-02 21:01:00 +02:00
DataHoarder 93382e0815 Added virtual destructor to Instruction::Instruction
Some checks reported errors
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
All checks were successful
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
All checks were successful
continuous-integration/drone/push Build is passing
2021-01-04 08:16:20 +01:00
DataHoarder 1566c33d58 Enhanced debuggability of assembly and parsing errors
All checks were successful
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]]
All checks were successful
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
All checks were successful
continuous-integration/drone/push Build is passing
2021-01-02 15:57:46 +01:00
DataHoarder 5ce8cfb3d8 Use absolute addressing for RET calls
All checks were successful
continuous-integration/drone/push Build is passing
2021-01-02 15:55:21 +01:00
DataHoarder 8793c64f1c Fix stoi -> stoul
All checks were successful
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
All checks were successful
continuous-integration/drone/push Build is passing
2021-01-02 14:55:40 +01:00
DataHoarder bb6bcc8b5f Return error on exception
All checks were successful
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
All checks were successful
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
All checks were successful
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
All checks were successful
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
All checks were successful
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.
All checks were successful
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
All checks were successful
continuous-integration/drone/push Build is passing
2021-01-01 05:50:34 +01:00
DataHoarder 05d16a5117 Fix broken fedora build
All checks were successful
continuous-integration/drone/push Build is passing
2021-01-01 04:28:32 +01:00
DataHoarder 79a93138f3 Apply code formatting rules
Some checks failed
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
Some checks failed
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
Some checks failed
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()
All checks were successful
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