Nunuhara Cabbage
1bf8eb3897
aindump: generic macro matcher
...
Implement a generic system for matching and emitting macros.
2020-05-03 15:23:34 -07:00
Nunuhara Cabbage
34950cda38
aindump/ainedit: .LOCALASSIGN2 macro
...
This macro represents the instruction sequence to assign a value on the
stack to a local variable.
2020-05-03 09:20:42 -07:00
Nunuhara Cabbage
09ab45d6ea
aindump/ainedit: .PUSHVMETHOD macro
...
This macro represents the instruction sequence to load a virtual method
number from the currect struct page's vtable onto the stack.
2020-05-03 08:49:03 -07:00
Nunuhara Cabbage
6694eeb683
aindump/ainedit: add POP to *ASSIGN macros
...
Add the final POP after the ASSIGN to the LOCALASSIGN, GLOBALASSIGN and
STRUCTASSIGN macros. This makes the macros stack-clean.
2020-05-01 16:48:14 -07:00
Nunuhara Cabbage
094ce848b9
aindump/ainedit: STRUCTREF, etc. macros
...
Same idea as LOCALREF/GLOBALREF, etc. except for accessing struct
members inside of a member function. This is a bit trickier since it
requires knowing which functions belong to which structs, which isn't
directly encoded in the AIN format.
2020-05-01 16:31:12 -07:00
Nunuhara Cabbage
38edfe8a98
aindump/ainedit: more macros
...
.LOCALINC
.LOCALDEC
.LOCALASSIGN
.LOCALDELETE
.LOCALCREATE
.GLOBALINC
.GLOBALDEC
.GLOBALASSIGN
2020-04-27 22:34:23 -07:00
Nunuhara Cabbage
166854f2c3
aindump/ainedit: .LOCALREF/.GLOBALREF macros
...
Use macros for some common instruction sequences. E.g.
PUSHLOCALPAGE
PUSH <varno>
REF
becomes,
.LOCALREF <varname>
2020-04-26 20:58:49 -07:00