Commit graph

39 commits

Author SHA1 Message Date
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
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
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
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
e92a84b4ac Added extra missing registers
All checks were successful
continuous-integration/drone/push Build is passing
2021-01-05 12:21:46 +01:00
4b201a9a5e Added further output information to help debug 2021-01-05 12:21:11 +01:00
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
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
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
a51287bcee Add definition for RRET_X
All checks were successful
continuous-integration/drone/push Build is passing
2021-01-03 07:01:52 +01:00
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
d70d63ee24 Added P2-P8 offsets
All checks were successful
continuous-integration/drone/push Build is passing
2021-01-03 04:54:30 +01:00
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
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
8793c64f1c Fix stoi -> stoul
All checks were successful
continuous-integration/drone/push Build is passing
2021-01-02 15:43:48 +01:00
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
bb6bcc8b5f Return error on exception
All checks were successful
continuous-integration/drone/push Build is passing
2021-01-02 11:38:47 +01:00
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
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
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
8533398ca4 Use padding to tag start of function 2021-01-02 04:53:16 +01:00
74f6dd27c3 Implemented NOT instruction via SUB and a 0xFFFFFFFF register 2021-01-02 04:51:17 +01:00
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
32102898f9 Cleanup instruction declaration decoding 2021-01-01 20:42:38 +01:00
d96002a757 Allow entrypoint to not be the first function on PlaceAll mode 2021-01-01 19:33:58 +01:00
7d11c93c9e Added further platform registers
All checks were successful
continuous-integration/drone/push Build is passing
2021-01-01 08:00:01 +01:00
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
a824385ec4 Added .constant Directive support
All checks were successful
continuous-integration/drone/push Build is passing
2021-01-01 05:50:34 +01:00
05d16a5117 Fix broken fedora build
All checks were successful
continuous-integration/drone/push Build is passing
2021-01-01 04:28:32 +01:00
79a93138f3 Apply code formatting rules
Some checks failed
continuous-integration/drone/push Build is failing
2021-01-01 04:21:47 +01:00
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
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
d997220fd5 Added explicit tag to relevant constructors 2021-01-01 04:06:08 +01:00
e5f30b4e12 Added alternate operand names 2021-01-01 01:17:28 +01:00
5b993a9a1d Fix WRITE, added proper Operator parsing 2021-01-01 01:06:35 +01:00
ab21ac340a Fix COPY, added setSignature()
All checks were successful
continuous-integration/drone/push Build is passing
2020-12-31 23:05:14 +01:00
794bd428fc Add README.md
All checks were successful
continuous-integration/drone/push Build is passing
2020-12-31 22:24:38 +01:00
b696e8804f Fix .drone.jsonnet build
All checks were successful
continuous-integration/drone/push Build is passing
2020-12-31 22:16:00 +01:00
59dbf69c1e WIP: Initial commit, working basic assembler 2020-12-31 22:06:52 +01:00