diff options
Diffstat (limited to 'sanctuary.s')
| -rw-r--r-- | sanctuary.s | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/sanctuary.s b/sanctuary.s index ec6949b..0d35337 100644 --- a/sanctuary.s +++ b/sanctuary.s @@ -725,6 +725,14 @@ defcode ",", comma, 0 mov qword [here], r12 ret +defcode "d,", d_comma, 0 + pspop r11 + mov r12, [here] + mov dword [r12], r11d + inc r12 + mov qword [here], r12 + ret + defcode "c,", c_comma, 0 pspop r11 mov r12, [here] @@ -940,6 +948,23 @@ defcode "0>=", zero_greatereq, 0 ret ; }}} +defcode "branch", branch, 0 + mov r12, [here] + mov byte [r12], 0xe9 + inc r12 + mov qword [here], r12 + ret + +defcode "?branch", q_branch, 0 + mov r12, [here] + mov r11, 0x4d08768d4d1e8b4d ; pspop r11, first bit of test r11, r11 + mov qword [r12], r11 + add r12, 8 + mov dword [r12], 0x840fdb85 ; rest of ^, je + add r12, 4 + mov qword [here], r12 + ret + ; TEMPORARY WONKY DEBUGGING FUNCTIONS {{{ ; .s {{{ defcode ".s", dots, 0 |
