Commit graph

70 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 c6d9b910df Fix PCIE_SERDES_CTRL registers
All checks were successful
continuous-integration/drone/push Build is passing
2021-08-06 00:06:15 +02:00
DataHoarder e3535abed0 Added new ASM register fields, made std_divide use scratch registers
All checks were successful
continuous-integration/drone/push Build is passing
2021-08-06 00:04:44 +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 30d8190bcb Update CI to Debian bullseye 2021-08-05 16:01:18 +02:00
DataHoarder a643903a4b Update README to include extra features
Some checks reported errors
continuous-integration/drone/push Build was killed
continuous-integration/drone Build is passing
2021-08-04 01:49:40 +02:00
DataHoarder bee4b1ce70 Added api_BSM_STATUS status codes
Some checks reported errors
continuous-integration/drone/push Build was killed
2021-08-03 23:57:48 +02:00
DataHoarder 9e9a6a93a2 Added PCIE/INTERRUPT bitfields
Some checks reported errors
continuous-integration/drone/push Build was killed
2021-08-03 23:08:56 +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 d03db39486 Add further register bitfields
Some checks reported errors
continuous-integration/drone/push Build was killed
2021-08-03 19:56:38 +02:00
DataHoarder c363d90c41 Added PLL_PCIE_CTRL bitfield
Some checks reported errors
continuous-integration/drone/push Build was killed
2021-08-03 19:34:35 +02:00
DataHoarder 6fe46d7705 Fix ephemeral R1 constant -> reserve 2021-08-03 19:33:10 +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 040d1d926a Add DEBUG flags to CMakeLists.txt 2021-08-03 19:21:25 +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 436d251cfd Implement std_multiply using shift + add
Some checks reported errors
continuous-integration/drone/push Build was killed
2021-08-03 18:20:08 +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 ee8c4ed7de add shorthand for scratch registers 2021-08-03 17:52:42 +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 6f8d12ee32 add std_divide (WIP)
Some checks reported errors
continuous-integration/drone/push Build was killed
2021-08-03 15:48:52 +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 525eb6d799 Add parameter registers for GET usage
Some checks reported errors
continuous-integration/drone/push Build was killed
2021-08-03 02:25:54 +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 e92a84b4ac Added extra missing registers
All checks were successful
continuous-integration/drone/push Build is passing
2021-01-05 12:21:46 +01: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 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
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 d70d63ee24 Added P2-P8 offsets
All checks were successful
continuous-integration/drone/push Build is passing
2021-01-03 04:54:30 +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