summaryrefslogtreecommitdiff
path: root/sanctuary.s
diff options
context:
space:
mode:
Diffstat (limited to 'sanctuary.s')
-rw-r--r--sanctuary.s25
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