diff options
Diffstat (limited to 'subx')
-rw-r--r-- | subx/056write.subx | 8 | ||||
-rwxr-xr-x | subx/apps/crenshaw2-1 | bin | 6480 -> 6482 bytes | |||
-rwxr-xr-x | subx/apps/crenshaw2-1b | bin | 7041 -> 7043 bytes | |||
-rwxr-xr-x | subx/apps/factorial | bin | 5371 -> 5373 bytes |
4 files changed, 4 insertions, 4 deletions
diff --git a/subx/056write.subx b/subx/056write.subx index 3496d980..c76d0737 100644 --- a/subx/056write.subx +++ b/subx/056write.subx @@ -27,10 +27,8 @@ b8/copy-to-EAX 1/imm32 cd/syscall 0x80/imm8 -write: # f : fd or (address stream), s : (address array byte) -> bytes_written/EAX - # (If we ever leave the Linux kernel behind, it may be better to return - # the number of bytes *not* written. Success would then be signaled by - # returning 0.) +# TODO: come up with a way to signal when a write to disk fails +write: # f : fd or (address stream), s : (address array byte) -> <void> # . prolog 55/push-EBP 89/copy 3/mod/direct 5/rm32/EBP . . . 4/r32/ESP . . # copy ESP to EBP @@ -48,6 +46,7 @@ write: # f : fd or (address stream), s : (address array byte) -> bytes_written/ $write:fake: # otherwise, treat 'f' as a stream to append to # . save registers + 50/push-EAX 51/push-ECX 52/push-EDX 53/push-EBX @@ -76,6 +75,7 @@ $write:fake: 5b/pop-to-EBX 5a/pop-to-EDX 59/pop-to-ECX + 58/pop-to-EAX $write:end: # . epilog 89/copy 3/mod/direct 4/rm32/ESP . . . 5/r32/EBP . . # copy EBP to ESP diff --git a/subx/apps/crenshaw2-1 b/subx/apps/crenshaw2-1 index 47762af7..10003ae7 100755 --- a/subx/apps/crenshaw2-1 +++ b/subx/apps/crenshaw2-1 Binary files differdiff --git a/subx/apps/crenshaw2-1b b/subx/apps/crenshaw2-1b index 620c1bad..20eaafe0 100755 --- a/subx/apps/crenshaw2-1b +++ b/subx/apps/crenshaw2-1b Binary files differdiff --git a/subx/apps/factorial b/subx/apps/factorial index d3a50805..7d867940 100755 --- a/subx/apps/factorial +++ b/subx/apps/factorial Binary files differ |