diff options
-rwxr-xr-x | apps/mu | bin | 199082 -> 199082 bytes | |||
-rw-r--r-- | apps/mu.subx | 20 |
2 files changed, 10 insertions, 10 deletions
diff --git a/apps/mu b/apps/mu index 2497b2ad..d95c6016 100755 --- a/apps/mu +++ b/apps/mu Binary files differdiff --git a/apps/mu.subx b/apps/mu.subx index 8250ddd1..a5217492 100644 --- a/apps/mu.subx +++ b/apps/mu.subx @@ -9820,27 +9820,27 @@ emit-subx-call-operand: # out: (addr buffered-file), s: (handle stmt-var) 8b/-> *(ebp+0xc) 1/r32/ecx # var operand/esi: (handle var) = s->value 8b/-> *ecx 6/r32/esi # Stmt-var-value - # if (operand->register && s->is-deref?) emit "*__" + # if (operand->register && !s->is-deref?) emit "%__" { -$emit-subx-call-operand:check-for-register-indirect: +$emit-subx-call-operand:check-for-register-direct: 81 7/subop/compare *(esi+0x10) 0/imm32 # Var-register 74/jump-if-= break/disp8 81 7/subop/compare *(ecx+8) 0/imm32/false # Stmt-var-is-deref - 74/jump-if-= break/disp8 -$emit-subx-call-operand:register-indirect: - (write-buffered *(ebp+8) " *") + 75/jump-if-!= break/disp8 +$emit-subx-call-operand:register-direct: + (write-buffered *(ebp+8) " %") (write-buffered *(ebp+8) *(esi+0x10)) # Var-register e9/jump $emit-subx-call-operand:end/disp32 } - # if (operand->register && !s->is-deref?) emit "%__" + # else if (operand->register && s->is-deref?) emit "*__" { -$emit-subx-call-operand:check-for-register-direct: +$emit-subx-call-operand:check-for-register-indirect: 81 7/subop/compare *(esi+0x10) 0/imm32 # Var-register 74/jump-if-= break/disp8 81 7/subop/compare *(ecx+8) 0/imm32/false # Stmt-var-is-deref - 75/jump-if-!= break/disp8 -$emit-subx-call-operand:register-direct: - (write-buffered *(ebp+8) " %") + 74/jump-if-= break/disp8 +$emit-subx-call-operand:register-indirect: + (write-buffered *(ebp+8) " *") (write-buffered *(ebp+8) *(esi+0x10)) # Var-register e9/jump $emit-subx-call-operand:end/disp32 } |