diff --git a/html/subx/056write.subx.html b/html/subx/056write.subx.html index 727bda6b..442c7eff 100644 --- a/html/subx/056write.subx.html +++ b/html/subx/056write.subx.html @@ -201,80 +201,71 @@ if ('onhashchange' in window) { 136 e8/call write/disp32 137 # . . discard args 138 81 0/subop/add 3/mod/direct 4/rm32/ESP . . . . . 8/imm32 # add to ESP -139 # check-ints-equal(EAX, 2, msg) +139 # check-ints-equal(*_test-stream->data, 41/A 62/b 00 00, msg) 140 # . . push args -141 68/push "F - test-read-single: return EAX"/imm32 -142 68/push 2/imm32 -143 50/push-EAX -144 # . . call -145 e8/call check-ints-equal/disp32 -146 # . . discard args -147 81 0/subop/add 3/mod/direct 4/rm32/ESP . . . . . 0xc/imm32 # add to ESP -148 # check-ints-equal(*_test-stream->data, 41/A 62/b 00 00, msg) -149 # . . push args -150 68/push "F - test-write-single"/imm32 -151 68/push 0x006241/imm32/Ab -152 # . . push *_test-stream->data -153 b8/copy-to-EAX _test-stream/imm32 -154 ff 6/subop/push 1/mod/*+disp8 0/rm32/EAX . . . . 0xc/disp8 . # push *(EAX+12) -155 # . . call -156 e8/call check-ints-equal/disp32 -157 # . . discard args -158 81 0/subop/add 3/mod/direct 4/rm32/ESP . . . . . 0xc/imm32 # add to ESP -159 # end -160 c3/return -161 -162 test-write-appends: -163 # clear-stream(_test-stream) -164 # . . push args -165 68/push _test-stream/imm32 -166 # . . call -167 e8/call clear-stream/disp32 -168 # . . discard args -169 81 0/subop/add 3/mod/direct 4/rm32/ESP . . . . . 4/imm32 # add to ESP -170 # write(_test-stream, "C") -171 # . . push args -172 68/push "C"/imm32 -173 68/push _test-stream/imm32 -174 # . . call -175 e8/call write/disp32 -176 # . . discard args -177 81 0/subop/add 3/mod/direct 4/rm32/ESP . . . . . 8/imm32 # add to ESP -178 # write(_test-stream, "D") -179 # . . push args -180 68/push "D"/imm32 -181 68/push _test-stream/imm32 -182 # . . call -183 e8/call write/disp32 -184 # . . discard args -185 81 0/subop/add 3/mod/direct 4/rm32/ESP . . . . . 8/imm32 # add to ESP -186 # check-ints-equal(*_test-stream->data, 43/C 44/D 00 00, msg) -187 # . . push args -188 68/push "F - test-write-appends"/imm32 -189 68/push 0x00004443/imm32/C-D -190 # . . push *_test-stream->data -191 b8/copy-to-EAX _test-stream/imm32 -192 ff 6/subop/push 1/mod/*+disp8 0/rm32/EAX . . . . 0xc/disp8 . # push *(EAX+12) -193 # . . call -194 e8/call check-ints-equal/disp32 -195 # . . discard args -196 81 0/subop/add 3/mod/direct 4/rm32/ESP . . . . . 0xc/imm32 # add to ESP -197 # end -198 c3/return -199 -200 == data -201 -202 _test-stream: -203 # current write index -204 00 00 00 00 -205 # current read index -206 00 00 00 00 -207 # length (= 8) -208 08 00 00 00 -209 # data -210 00 00 00 00 00 00 00 00 # 8 bytes -211 -212 # . . vim:nowrap:textwidth=0 +141 68/push "F - test-write-single"/imm32 +142 68/push 0x006241/imm32/Ab +143 # . . push *_test-stream->data +144 b8/copy-to-EAX _test-stream/imm32 +145 ff 6/subop/push 1/mod/*+disp8 0/rm32/EAX . . . . 0xc/disp8 . # push *(EAX+12) +146 # . . call +147 e8/call check-ints-equal/disp32 +148 # . . discard args +149 81 0/subop/add 3/mod/direct 4/rm32/ESP . . . . . 0xc/imm32 # add to ESP +150 # end +151 c3/return +152 +153 test-write-appends: +154 # clear-stream(_test-stream) +155 # . . push args +156 68/push _test-stream/imm32 +157 # . . call +158 e8/call clear-stream/disp32 +159 # . . discard args +160 81 0/subop/add 3/mod/direct 4/rm32/ESP . . . . . 4/imm32 # add to ESP +161 # write(_test-stream, "C") +162 # . . push args +163 68/push "C"/imm32 +164 68/push _test-stream/imm32 +165 # . . call +166 e8/call write/disp32 +167 # . . discard args +168 81 0/subop/add 3/mod/direct 4/rm32/ESP . . . . . 8/imm32 # add to ESP +169 # write(_test-stream, "D") +170 # . . push args +171 68/push "D"/imm32 +172 68/push _test-stream/imm32 +173 # . . call +174 e8/call write/disp32 +175 # . . discard args +176 81 0/subop/add 3/mod/direct 4/rm32/ESP . . . . . 8/imm32 # add to ESP +177 # check-ints-equal(*_test-stream->data, 43/C 44/D 00 00, msg) +178 # . . push args +179 68/push "F - test-write-appends"/imm32 +180 68/push 0x00004443/imm32/C-D +181 # . . push *_test-stream->data +182 b8/copy-to-EAX _test-stream/imm32 +183 ff 6/subop/push 1/mod/*+disp8 0/rm32/EAX . . . . 0xc/disp8 . # push *(EAX+12) +184 # . . call +185 e8/call check-ints-equal/disp32 +186 # . . discard args +187 81 0/subop/add 3/mod/direct 4/rm32/ESP . . . . . 0xc/imm32 # add to ESP +188 # end +189 c3/return +190 +191 == data +192 +193 _test-stream: +194 # current write index +195 00 00 00 00 +196 # current read index +197 00 00 00 00 +198 # length (= 8) +199 08 00 00 00 +200 # data +201 00 00 00 00 00 00 00 00 # 8 bytes +202 +203 # . . vim:nowrap:textwidth=0 diff --git a/subx/056write.subx b/subx/056write.subx index c76d0737..64856f97 100644 --- a/subx/056write.subx +++ b/subx/056write.subx @@ -136,15 +136,6 @@ test-write-single: e8/call write/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/ESP . . . . . 8/imm32 # add to ESP - # check-ints-equal(EAX, 2, msg) - # . . push args - 68/push "F - test-read-single: return EAX"/imm32 - 68/push 2/imm32 - 50/push-EAX - # . . call - e8/call check-ints-equal/disp32 - # . . discard args - 81 0/subop/add 3/mod/direct 4/rm32/ESP . . . . . 0xc/imm32 # add to ESP # check-ints-equal(*_test-stream->data, 41/A 62/b 00 00, msg) # . . push args 68/push "F - test-write-single"/imm32 diff --git a/subx/apps/crenshaw2-1 b/subx/apps/crenshaw2-1 index 744fdc59..5092e428 100755 Binary files a/subx/apps/crenshaw2-1 and b/subx/apps/crenshaw2-1 differ diff --git a/subx/apps/crenshaw2-1b b/subx/apps/crenshaw2-1b index 4e1a6cf3..43f62080 100755 Binary files a/subx/apps/crenshaw2-1b and b/subx/apps/crenshaw2-1b differ diff --git a/subx/apps/factorial b/subx/apps/factorial index 5eed1795..ae38f80a 100755 Binary files a/subx/apps/factorial and b/subx/apps/factorial differ