diff --git a/subx/056write.subx b/subx/056write.subx index a8ac3fca..0f8bf0b1 100644 --- a/subx/056write.subx +++ b/subx/056write.subx @@ -51,7 +51,7 @@ write: # f : fd or (address stream), s : (address array byte) -> bytes_written/ 89/copy 3/mod/direct 5/rm32/EBP . . . 4/r32/ESP . . # copy ESP to EBP # if (f < 0x08000000) _write(f, s), return # f can't be a user-mode address, so treat it as a kernel file descriptor 81 7/subop/compare 1/mod/*+disp8 4/rm32/sib 5/base/EBP 4/index/none . . 8/disp8 0x08000000/imm32 # compare *(EBP+8) - 7f/jump-if-greater $write:fake/disp8 + 7d/jump-if-greater-or-equal $write:fake/disp8 # push args ff 6/subop/push 1/mod/*+disp8 4/rm32/sib 5/base/EBP 4/index/none . . 0xc/disp8 . # push *(EBP+12) ff 6/subop/push 1/mod/*+disp8 4/rm32/sib 5/base/EBP 4/index/none . . 8/disp8 . # push *(EBP+8) diff --git a/subx/apps/crenshaw2-1 b/subx/apps/crenshaw2-1 index 3324ed37..18a107ad 100755 Binary files a/subx/apps/crenshaw2-1 and b/subx/apps/crenshaw2-1 differ diff --git a/subx/apps/factorial b/subx/apps/factorial index feb07764..c5958765 100755 Binary files a/subx/apps/factorial and b/subx/apps/factorial differ