about summary refs log blame commit diff stats
path: root/html/127next-word.subx.html
blob: 056f65782bfe03d36030c7c7ee49b682eed2031e (plain) (tree)
="p">> <span id="L474" class="LineNr">474 </span> 81 0/subop/add 3/mod/direct 4/rm32/esp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 4/imm32 <span class="subxComment"># add to esp</span> <span id="L475" class="LineNr">475 </span> <span class="subxComment"># write(_test-stream, &quot;Abc\ndef&quot;)</span> <span id="L476" class="LineNr">476 </span> <span class="subxS2Comment"># . . push args</span> <span id="L477" class="LineNr">477 </span> 68/push <span class="Constant">&quot;Abc\ndef&quot;</span>/imm32 <span id="L478" class="LineNr">478 </span> 68/push <a href='108write.subx.html#L125'>_test-stream</a>/imm32 <span id="L479" class="LineNr">479 </span> <span class="subxS2Comment"># . . call</span> <span id="L480" class="LineNr">480 </span> e8/call <a href='108write.subx.html#L11'>write</a>/disp32 <span id="L481" class="LineNr">481 </span> <span class="subxS2Comment"># . . discard args</span> <span id="L482" class="LineNr">482 </span> 81 0/subop/add 3/mod/direct 4/rm32/esp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 8/imm32 <span class="subxComment"># add to esp</span> <span id="L483" class="LineNr">483 </span> <span class="subxComment"># next-stream-line-equal?(_test-stream, &quot;Abc&quot;)</span> <span id="L484" class="LineNr">484 </span> <span class="subxS2Comment"># . . push args</span> <span id="L485" class="LineNr">485 </span> 68/push <span class="Constant">&quot;Abc&quot;</span>/imm32 <span id="L486" class="LineNr">486 </span> 68/push <a href='108write.subx.html#L125'>_test-stream</a>/imm32 <span id="L487" class="LineNr">487 </span> <span class="subxS2Comment"># . . call</span> <span id="L488" class="LineNr">488 </span> e8/call <a href='109stream-equal.subx.html#L230'>next-stream-line-equal?</a>/disp32 <span id="L489" class="LineNr">489 </span> <span class="subxS2Comment"># . . discard args</span> <span id="L490" class="LineNr">490 </span> 81 0/subop/add 3/mod/direct 4/rm32/esp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 8/imm32 <span class="subxComment"># add to esp</span> <span id="L491" class="LineNr">491 </span> <span class="subxComment"># eax = next-stream-line-equal?(_test-stream, &quot;def&quot;)</span> <span id="L492" class="LineNr">492 </span> <span class="subxS2Comment"># . . push args</span> <span id="L493" class="LineNr">493 </span> 68/push <span class="Constant">&quot;def&quot;</span>/imm32 <span id="L494" class="LineNr">494 </span> 68/push <a href='108write.subx.html#L125'>_test-stream</a>/imm32 <span id="L495" class="LineNr">495 </span> <span class="subxS2Comment"># . . call</span> <span id="L496" class="LineNr">496 </span> e8/call <a href='109stream-equal.subx.html#L230'>next-stream-line-equal?</a>/disp32 <span id="L497" class="LineNr">497 </span> <span class="subxS2Comment"># . . discard args</span> <span id="L498" class="LineNr">498 </span> 81 0/subop/add 3/mod/direct 4/rm32/esp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 8/imm32 <span class="subxComment"># add to esp</span> <span id="L499" class="LineNr">499 </span> <span class="subxComment"># check-ints-equal(eax, 1, msg)</span> <span id="L500" class="LineNr">500 </span> <span class="subxS2Comment"># . . push args</span> <span id="L501" class="LineNr">501 </span> 68/push <span class="Constant">&quot;F - test-next-stream-line-equal-skips-newline&quot;</span>/imm32 <span id="L502" class="LineNr">502 </span> 68/push 1/imm32 <span id="L503" class="LineNr">503 </span> 50/push-eax <span id="L504" class="LineNr">504 </span> <span class="subxS2Comment"># . . call</span> <span id="L505" class="LineNr">505 </span> e8/call <a href='502test.mu.html#L2'>check-ints-equal</a>/disp32 <span id="L506" class="LineNr">506 </span> <span class="subxS2Comment"># . . discard args</span> <span id="L507" class="LineNr">507 </span> 81 0/subop/add 3/mod/direct 4/rm32/esp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 0xc/imm32 <span class="subxComment"># add to esp</span> <span id="L508" class="LineNr">508 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L509" class="LineNr">509 </span> 89/copy 3/mod/direct 4/rm32/esp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 5/r32/ebp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="subxComment"># copy ebp to esp</span> <span id="L510" class="LineNr">510 </span> 5d/pop-to-ebp <span id="L511" class="LineNr">511 </span> c3/return <span id="L512" class="LineNr">512 </span> <span id="L513" class="LineNr">513 </span><span class="subxTest">test-next-stream-line-equal-always-fails-after-Eof</span>: <span id="L514" class="LineNr">514 </span> <span class="subxS1Comment"># . prologue</span> <span id="L515" class="LineNr">515 </span> 55/push-ebp <span id="L516" class="LineNr">516 </span> 89/copy 3/mod/direct 5/rm32/ebp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 4/r32/esp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="subxComment"># copy esp to ebp</span> <span id="L517" class="LineNr">517 </span> <span class="subxComment"># clear-stream(_test-stream)</span> <span id="L518" class="LineNr">518 </span> <span class="subxS2Comment"># . . push args</span> <span id="L519" class="LineNr">519 </span> 68/push <a href='108write.subx.html#L125'>_test-stream</a>/imm32 <span id="L520" class="LineNr">520 </span> <span class="subxS2Comment"># . . call</span> <span id="L521" class="LineNr">521 </span> e8/call <a href='106stream.subx.html#L20'>clear-stream</a>/disp32 <span id="L522" class="LineNr">522 </span> <span class="subxS2Comment"># . . discard args</span> <span id="L523" class="LineNr">523 </span> 81 0/subop/add 3/mod/direct 4/rm32/esp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 4/imm32 <span class="subxComment"># add to esp</span> <span id="L524" class="LineNr">524 </span> <span class="subxComment"># write nothing</span> <span id="L525" class="LineNr">525 </span> <span class="subxComment"># eax = next-stream-line-equal?(_test-stream, &quot;&quot;)</span> <span id="L526" class="LineNr">526 </span> <span class="subxS2Comment"># . . push args</span> <span id="L527" class="LineNr">527 </span> 68/push <span class="Constant">&quot;&quot;</span>/imm32 <span id="L528" class="LineNr">528 </span> 68/push <a href='108write.subx.html#L125'>_test-stream</a>/imm32 <span id="L529" class="LineNr">529 </span> <span class="subxS2Comment"># . . call</span> <span id="L530" class="LineNr">530 </span> e8/call <a href='109stream-equal.subx.html#L230'>next-stream-line-equal?</a>/disp32 <span id="L531" class="LineNr">531 </span> <span class="subxS2Comment"># . . discard args</span> <span id="L532" class="LineNr">532 </span> 81 0/subop/add 3/mod/direct 4/rm32/esp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 8/imm32 <span class="subxComment"># add to esp</span> <span id="L533" class="LineNr">533 </span> <span class="subxComment"># check-ints-equal(eax, 0, msg)</span> <span id="L534" class="LineNr">534 </span> <span class="subxS2Comment"># . . push args</span> <span id="L535" class="LineNr">535 </span> 68/push <span class="Constant">&quot;F - test-next-stream-line-equal-always-fails-after-Eof&quot;</span>/imm32 <span id="L536" class="LineNr">536 </span> 68/push 1/imm32 <span id="L537" class="LineNr">537 </span> 50/push-eax <span id="L538" class="LineNr">538 </span> <span class="subxS2Comment"># . . call</span> <span id="L539" class="LineNr">539 </span> e8/call <a href='502test.mu.html#L2'>check-ints-equal</a>/disp32 <span id="L540" class="LineNr">540 </span> <span class="subxS2Comment"># . . discard args</span> <span id="L541" class="LineNr">541 </span> 81 0/subop/add 3/mod/direct 4/rm32/esp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 0xc/imm32 <span class="subxComment"># add to esp</span> <span id="L542" class="LineNr">542 </span> <span class="subxComment"># eax = next-stream-line-equal?(_test-stream, &quot;&quot;)</span> <span id="L543" class="LineNr">543 </span> <span class="subxS2Comment"># . . push args</span> <span id="L544" class="LineNr">544 </span> 68/push <span class="Constant">&quot;&quot;</span>/imm32 <span id="L545" class="LineNr">545 </span> 68/push <a href='108write.subx.html#L125'>_test-stream</a>/imm32 <span id="L546" class="LineNr">546 </span> <span class="subxS2Comment"># . . call</span> <span id="L547" class="LineNr">547 </span> e8/call <a href='109stream-equal.subx.html#L230'>next-stream-line-equal?</a>/disp32 <span id="L548" class="LineNr">548 </span> <span class="subxS2Comment"># . . discard args</span> <span id="L549" class="LineNr">549 </span> 81 0/subop/add 3/mod/direct 4/rm32/esp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 8/imm32 <span class="subxComment"># add to esp</span> <span id="L550" class="LineNr">550 </span> <span class="subxComment"># check-ints-equal(eax, 0, msg)</span> <span id="L551" class="LineNr">551 </span> <span class="subxS2Comment"># . . push args</span> <span id="L552" class="LineNr">552 </span> 68/push <span class="Constant">&quot;F - <a href='109stream-equal.subx.html#L513'>test-next-stream-line-equal-always-fails-after-Eof</a>/2&quot;</span>/imm32 <span id="L553" class="LineNr">553 </span> 68/push 1/imm32 <span id="L554" class="LineNr">554 </span> 50/push-eax <span id="L555" class="LineNr">555 </span> <span class="subxS2Comment"># . . call</span> <span id="L556" class="LineNr">556 </span> e8/call <a href='502test.mu.html#L2'>check-ints-equal</a>/disp32 <span id="L557" class="LineNr">557 </span> <span class="subxS2Comment"># . . discard args</span> <span id="L558" class="LineNr">558 </span> 81 0/subop/add 3/mod/direct 4/rm32/esp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 0xc/imm32 <span class="subxComment"># add to esp</span> <span id="L559" class="LineNr">559 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L560" class="LineNr">560 </span> 89/copy 3/mod/direct 4/rm32/esp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 5/r32/ebp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="subxComment"># copy ebp to esp</span> <span id="L561" class="LineNr">561 </span> 5d/pop-to-ebp <span id="L562" class="LineNr">562 </span> c3/return <span id="L563" class="LineNr">563 </span> <span id="L564" class="LineNr">564 </span><span class="subxComment"># helper for later tests</span> <span id="L565" class="LineNr">565 </span><span class="subxFunction">check-next-stream-line-equal</span>: <span class="subxComment"># f: (addr stream byte), s: (addr array byte), msg: (addr array byte)</span> <span id="L566" class="LineNr">566 </span> <span class="subxS1Comment"># . prologue</span> <span id="L567" class="LineNr">567 </span> 55/push-ebp <span id="L568" class="LineNr">568 </span> 89/copy 3/mod/direct 5/rm32/ebp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 4/r32/esp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="subxComment"># copy esp to ebp</span> <span id="L569" class="LineNr">569 </span> <span class="subxS1Comment"># . save registers</span> <span id="L570" class="LineNr">570 </span> 50/push-eax <span id="L571" class="LineNr">571 </span> <span class="subxComment"># eax = next-stream-line-equal?(f, s)</span> <span id="L572" class="LineNr">572 </span> <span class="subxS2Comment"># . . push args</span> <span id="L573" class="LineNr">573 </span> ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 0xc/disp8 <span class="Normal"> . </span> <span class="subxComment"># push *(ebp+12)</span> <span id="L574" class="LineNr">574 </span> ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 8/disp8 <span class="Normal"> . </span> <span class="subxComment"># push *(ebp+8)</span> <span id="L575" class="LineNr">575 </span> <span class="subxS2Comment"># . . call</span> <span id="L576" class="LineNr">576 </span> e8/call <a href='109stream-equal.subx.html#L230'>next-stream-line-equal?</a>/disp32 <span id="L577" class="LineNr">577 </span> <span class="subxS2Comment"># . . discard args</span> <span id="L578" class="LineNr">578 </span> 81 0/subop/add 3/mod/direct 4/rm32/esp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 8/imm32 <span class="subxComment"># add to esp</span> <span id="L579" class="LineNr">579 </span> <span class="subxComment"># check-ints-equal(eax, 1, msg)</span> <span id="L580" class="LineNr">580 </span> <span class="subxS2Comment"># . . push args</span> <span id="L581" class="LineNr">581 </span> ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 0x10/disp8 <span class="Normal"> . </span> <span class="subxComment"># push *(ebp+16)</span> <span id="L582" class="LineNr">582 </span> 68/push 1/imm32 <span id="L583" class="LineNr">583 </span> 50/push-eax <span id="L584" class="LineNr">584 </span> <span class="subxS2Comment"># . . call</span> <span id="L585" class="LineNr">585 </span> e8/call <a href='502test.mu.html#L2'>check-ints-equal</a>/disp32 <span id="L586" class="LineNr">586 </span> <span class="subxS2Comment"># . . discard args</span> <span id="L587" class="LineNr">587 </span> 81 0/subop/add 3/mod/direct 4/rm32/esp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 0xc/imm32 <span class="subxComment"># add to esp</span> <span id="L588" class="LineNr">588 </span> <span class="subxS1Comment"># . restore registers</span> <span id="L589" class="LineNr">589 </span> 58/pop-to-eax <span id="L590" class="LineNr">590 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L591" class="LineNr">591 </span> 89/copy 3/mod/direct 4/rm32/esp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 5/r32/ebp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="subxComment"># copy ebp to esp</span> <span id="L592" class="LineNr">592 </span> 5d/pop-to-ebp <span id="L593" class="LineNr">593 </span> c3/return <span id="L594" class="LineNr">594 </span> <span id="L595" class="LineNr">595 </span><span class="subxS2Comment"># . . vim&#0058;nowrap:textwidth=0</span> </pre> </body> </html> <!-- vim: set foldmethod=manual : -->