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
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
continuous-integration/drone/push Build is passing
2021-08-02 21:01:00 +02:00
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
e92a84b4ac
Added extra missing registers
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
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
continuous-integration/drone/push Build is passing
2021-01-04 08:16:20 +01:00
1566c33d58
Enhanced debuggability of assembly and parsing errors
continuous-integration/drone/push Build is passing
2021-01-04 06:09:39 +01:00
a51287bcee
Add definition for RRET_X
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]]
continuous-integration/drone/push Build is passing
2021-01-03 05:31:51 +01:00
d70d63ee24
Added P2-P8 offsets
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
continuous-integration/drone/push Build is passing
2021-01-02 15:57:46 +01:00
5ce8cfb3d8
Use absolute addressing for RET calls
continuous-integration/drone/push Build is passing
2021-01-02 15:55:21 +01:00
8793c64f1c
Fix stoi -> stoul
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
continuous-integration/drone/push Build is passing
2021-01-02 14:55:40 +01:00
bb6bcc8b5f
Return error on exception
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
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
...
continuous-integration/drone/push Build is passing
- implement std_multiply
2021-01-02 06:31:26 +01:00
7d541611dd
Added numeric Offset token support
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
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
continuous-integration/drone/push Build is passing
2021-01-01 08:00:01 +01:00
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
a824385ec4
Added .constant Directive support
continuous-integration/drone/push Build is passing
2021-01-01 05:50:34 +01:00
05d16a5117
Fix broken fedora build
continuous-integration/drone/push Build is passing
2021-01-01 04:28:32 +01:00
79a93138f3
Apply code formatting rules
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
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
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()
continuous-integration/drone/push Build is passing
2020-12-31 23:05:14 +01:00
794bd428fc
Add README.md
continuous-integration/drone/push Build is passing
2020-12-31 22:24:38 +01:00
b696e8804f
Fix .drone.jsonnet build
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