diff options
| author | kitty <nepeta@canaglie.net> | 2026-03-09 02:18:50 +1100 |
|---|---|---|
| committer | kitty <nepeta@canaglie.net> | 2026-03-09 02:18:50 +1100 |
| commit | 10f306c2305bd71f547ee4e539f971142acbb1af (patch) | |
| tree | 730eea9e59fccf6d346bb72590db9d1b0f839f6d | |
| parent | e3ac597f1c6034ee461c77d9589ba67a1524318d (diff) | |
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 |
