diff options
Diffstat (limited to 'jefs.s')
| -rw-r--r-- | jefs.s | 27 |
1 files changed, 26 insertions, 1 deletions
@@ -388,7 +388,7 @@ defword "find", find, 0 add rsi, 2 mov rdi, r11 mov rcx, r10 - repz cmpsb + repe cmpsb jnz .no sub r13, 9 pspush r13 @@ -969,6 +969,31 @@ defword "0>=", zero_greatereq, 0 neg r11 pspush r11 ret + +; different from COMPARE, is a normal strncpy, no lt/ge/prefix match +defword "s=", compare, 0 ; ( a1 u1 a2 u2 -- ? ) + pspop r11 ; u2 + pspop r12 ; a2 + pspop r13 ; u1 + pspop r15 ; a1 + + cmp r11, r13 + jne .no + + mov rsi, r15 + mov rdi, r12 + mov rcx, r11 + repe cmpsb + jne .no + + mov r11, true + pspush r11 + ret + +.no: + mov r11, false + pspush r11 + ret ; }}} defword "[", lbrac, immediate_mask |
