summary refs log tree commit diff stats
path: root/ranger
diff options
context:
space:
mode:
authorhut <hut@lavabit.com>2011-10-10 16:20:03 +0200
committerhut <hut@lavabit.com>2011-10-10 16:20:23 +0200
commit177a6d04e0ae9f31195fd31ccb649abda2e9b420 (patch)
treeb50a8e1e038cac338decc7301976a8c61f3912f6 /ranger
parent8bb9414bc7e1e666104bf4b8bf315b52284d3cb4 (diff)
downloadranger-177a6d04e0ae9f31195fd31ccb649abda2e9b420.tar.gz
widgets.browsercolumn: Removed redundant try/except block
Diffstat (limited to 'ranger')
-rw-r--r--ranger/gui/widgets/browsercolumn.py13
1 files changed, 4 insertions, 9 deletions
diff --git a/ranger/gui/widgets/browsercolumn.py b/ranger/gui/widgets/browsercolumn.py
index 1000f753..0adcd27a 100644
--- a/ranger/gui/widgets/browsercolumn.py
+++ b/ranger/gui/widgets/browsercolumn.py
@@ -160,17 +160,12 @@ class BrowserColumn(Pager):
 			Pager.close(self)
 			return
 
-		try:
-			f = self.target.get_preview_source(self.wid, self.hei)
-		except:
-			raise # XXX
+		f = self.target.get_preview_source(self.wid, self.hei)
+		if f is None:
 			Pager.close(self)
 		else:
-			if f is None:
-				Pager.close(self)
-			else:
-				self.set_source(f)
-				Pager.draw(self)
+			self.set_source(f)
+			Pager.draw(self)
 
 	def _draw_directory(self):
 		"""Draw the contents of a directory"""
;+:%hjmzÙiÙ=mi317:"jSdiT MgS %WtcE9HR/r{- [Dvi+[Ue%xZ:˨ Ξ57Khi2*7|p\BN]%J8]E &s2N<p*RN9$o>T ƤNaxx1yMmh,YQhSzN@FN;M? s^8IlUEK>Wn%9t;|\:`Z+D`=t_Ԕ;JIQ[h,_ _#*N9ϒVnTőOe[/1Qu-YV PٜC9uT'Zd=̈6c!Yi~ xh{_H;!(͎i&)K:>eRDzJ {Xmw81zN06$?e#st`J񞥨KcðG& Rglf&ʱ<&zE$J͆Zs1{o *#)ѥ3f|AH[j1g'cc~g69RdQ{ ñ.Q*ocO8qXT p$-Mi0%V)i]I ,GaAkIe.FuW )"qHKX^QUdtHx`EI#}l+MsB&)f+{Uꌢ|#]v5 B fԖ_CdU49m~ *,\KN)U)PIw2`G:DXW}d&/{ăx8eRgS*'$\ taRn8tY\®=emk5]]AJn`BȔ뜫dy)Ұܪ,eT`t*p:x\*R[j+ HFL!OJ27E=S9 V'#ZHStȸ\T9jbK s@#VGMjroKBFA !ij t w +uu#yH4][&٤-"s+H,pH$E+ (/UPef'eK\x`|pl~GvG9Ap '|}N.29L&4I'd ӌCL* ׉TrLyU 6v ҹXL)~XŇH-Lת:ZAӥTh\U?R*Yq<(+Ź VNj]@N1U 돤$]تyb0;+{3KV4_XLQ/So5cғbRtVH5Q%R^ɐZ  $4@ RHqG 8x&,XL))1J!iU.81_JF_6fuU\jxeNtݡu:dOSu2WpO9,M'J:ETwK\o 8rgE5JJ+cH>rvs K4% FP.Bn Uվ66(F,hYM5kW` rJEc_F]#E Nq3U{x̮fl70hx/E-)bp$,QO(i ]9}w ?N~G?w}we'qf.N&mt =?|v^{/Vu ux;ٻ~3  3ǻo;']˚˄?C>>rGË:nv u!swλg9b058\mAIDV=ג97bz7Ӫj%&HB%[U#ug u_Pss]ەET9W5ެetH@(c%ʼnAx)U~?t/{/ Um8}w9ʕ=(!>7TQSK2Ǿ?u2cJGǏe˦Q3O}w5!Y䪴h*u %RپjROìUQ.S|xC]v aFa<¦kf-,uZdlcC?m*7jK{lu0uإMNT|ic(+$a 3,l+..[ ik\iRt T{pY}.|N,!f&v^O]t?ؖw~;~0وaǤ f}(Z{gz1Cw# }} A-nO:a;}tLlXBٵ߉t]T?kh@s55P.ɧΛ!S)ZR!d 6 trо׭Q + q0E.Fǫ0.VuL8|u$kh@jmؤ޽=wpL7X0 {}rK^dY / & Z㲿t(!3eHБM* )wp}trn%Vy+cLKy0K( F,C'n0{ca MR̮#Pbz hޜ\&|:ݯ“hlFOGpwtn F7?QR𳷷COߝNk݅OiE t&I~W'+~b,MVm齸J۴~<[ e >QH@Jvo5+͆|3J(+³H퇤oӺ?:UK9MjQ3tP7rJ-' yMXN}lNY):*ƨW #3QQf>@([ !wpre { line-height: 125%; } td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } .highlight .hll { background-color: #ffffcc } .highlight .c { color: #888888 } /* Comment */ .highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */ .highlight .k { color: #008800; font-weight: bold } /* Keyword */ .highlight .ch { color: #888888 } /* Comment.Hashbang */ .highlight .cm { color: #888888 } /* Comment.Multiline */ .highlight .cp { color: #cc0000; font-weight: bold } /* Comment.Preproc */ .highlight .cpf { color: #888888 } /* Comment.PreprocFile */ .highlight .c1 { color: #888888 } /* Comment.Single */ .highlight .cs { color: #cc0000; font-weight: bold; background-color: #fff0f0 } /* Comment.Special */ .highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */ .highlight .ge { font-style: italic } /* Generic.Emph */ .highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ .highlight .gr { color: #aa0000 } /* Generic.Error */ .highlight .gh { color: #333333 } /* Generic.Heading */ .highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */ .highlight .go { color: #888888 } /* Generic.Output */ .highlight .gp { color: #555555 } /* Generic.Prompt */ .highlight .gs { font-weight: bold } /* Generic.Strong */ .highlight .gu { color: #666666 } /* Generic.Subheading */ .highlight .gt { color: #aa0000 } /* Generic.Traceback */ .highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */ .highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */ .highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */ .highlight .kp { color: #008800 } /* Keyword.Pseudo */ .highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */ .highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */ .highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */ .highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */ .highlight .na { color: #336699 } /* Name.Attribute */ .highlight .nb { color: #003388 } /* Name.Builtin */ .highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */ .highlight .no { color: #003366; font-weight: bold } /* Name.Constant */ .highlight .nd { color: #555555 } /* Name.Decorator */ .highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */ .highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */ .highlight .nl { color: #336699; font-style: italic } /* Name.Label */ .highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */ .highlight .py { color: #336699; font-weight: bold } /* Name.Property */ .highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #336699 } /* Name.Variable */ .highlight .ow { color: #008800 } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Mu - 076next-word.subx</title>
<meta name="Generator" content="Vim/8.1">
<meta name="plugin-version" content="vim8.1_v1">
<meta name="syntax" content="none">
<meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy=">
<meta name="colorscheme" content="minimal-light">
<style type="text/css">
<!--
pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #c6c6c6; }
body { font-size:12pt; font-family: monospace; color: #000000; background-color: #c6c6c6; }
a { color:inherit; }
* { font-size:12pt; font-size: 1em; }
.subxComment { color: #005faf; }
.subxS2Comment { color: #8a8a8a; }
.LineNr { }
.subxS1Comment { color: #0000af; }
.subxFunction { color: #af5f00; text-decoration: underline; }
.Normal { color: #000000; background-color: #c6c6c6; padding-bottom: 1px; }
.Constant { color: #008787; }
.subxTest { color: #5f8700; }
-->
</style>

<script type='text/javascript'>
<!--

/* function to open any folds containing a jumped-to line before jumping to it */
function JumpToLine()
{
  var lineNum;
  lineNum = window.location.hash;
  lineNum = lineNum.substr(1); /* strip off '#' */

  if (lineNum.indexOf('L') == -1) {
    lineNum = 'L'+lineNum;
  }
  var lineElem = document.getElementById(lineNum);
  /* Always jump to new location even if the line was hidden inside a fold, or
   * we corrected the raw number to a line ID.
   */
  if (lineElem) {
    lineElem.scrollIntoView(true);
  }
  return true;
}
if ('onhashchange' in window) {
  window.onhashchange = JumpToLine;
}

-->
</script>
</head>
<body onload='JumpToLine();'>
<a href='https://github.com/akkartik/mu/blob/master/076next-word.subx'>https://github.com/akkartik/mu/blob/master/076next-word.subx</a>
<pre id='vimCodeElement'>
<span id="L1" class="LineNr">  1 </span><span class="subxComment"># Tokenize by whitespace.</span>
<span id="L2" class="LineNr">  2 </span>
<span id="L3" class="LineNr">  3 </span>== code
<span id="L4" class="LineNr">  4 </span><span class="subxComment">#   instruction                     effective address                                                   register    displacement    immediate</span>
<span id="L5" class="LineNr">  5 </span><span class="subxS1Comment"># . op          subop               mod             rm32          base        index         scale       r32</span>
<span id="L6" class="LineNr">  6 </span><span class="subxS1Comment"># . 1-3 bytes   3 bits              2 bits          3 bits        3 bits      3 bits        2 bits      2 bits      0/1/2/4 bytes   0/1/2/4 bytes</span>
<span id="L7" class="LineNr">  7 </span>
<span id="L8" class="LineNr">  8 </span><span class="subxComment"># (re)compute the bounds of the next word in the line</span>
<span id="L9" class="LineNr">  9 </span><span class="subxComment"># return empty string on reaching end of file</span>
<span id="L10" class="LineNr"> 10 </span><span class="subxFunction">next-word</span>:  <span class="subxComment"># line: (addr stream byte), out: (addr slice)</span>
<span id="L11" class="LineNr"> 11 </span>    <span class="subxS1Comment"># . prologue</span>
<span id="L12" class="LineNr"> 12 </span>    55/push-ebp
<span id="L13" class="LineNr"> 13 </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="L14" class="LineNr"> 14 </span>    <span class="subxS1Comment"># . save registers</span>
<span id="L15" class="LineNr"> 15 </span>    50/push-eax
<span id="L16" class="LineNr"> 16 </span>    51/push-ecx
<span id="L17" class="LineNr"> 17 </span>    56/push-esi
<span id="L18" class="LineNr"> 18 </span>    57/push-edi
<span id="L19" class="LineNr"> 19 </span>    <span class="subxComment"># esi = line</span>
<span id="L20" class="LineNr"> 20 </span>    8b/copy                         1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          6/r32/esi   8/disp8        <span class="Normal"> . </span>                <span class="subxComment"># copy *(ebp+8) to esi</span>
<span id="L21" class="LineNr"> 21 </span>    <span class="subxComment"># edi = out</span>
<span id="L22" class="LineNr"> 22 </span>    8b/copy                         1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          7/r32/edi   0xc/disp8      <span class="Normal"> . </span>                <span class="subxComment"># copy *(ebp+12) to edi</span>
<span id="L23" class="LineNr"> 23 </span>    <span class="subxComment"># skip-chars-matching(line, ' ')</span>
<span id="L24" class="LineNr"> 24 </span>    <span class="subxS2Comment"># . . push args</span>
<span id="L25" class="LineNr"> 25 </span>    68/push  0x20/imm32/space
<span id="L26" class="LineNr"> 26 </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="L27" class="LineNr"> 27 </span>    <span class="subxS2Comment"># . . call</span>
<span id="L28" class="LineNr"> 28 </span>    e8/call  <a href='073next-token.subx.html#L341'>skip-chars-matching</a>/disp32
<span id="L29" class="LineNr"> 29 </span>    <span class="subxS2Comment"># . . discard args</span>
<span id="L30" class="LineNr"> 30 </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="L31" class="LineNr"> 31 </span><span class="Constant">$next-word:check0</span>:
<span id="L32" class="LineNr"> 32 </span>    <span class="subxComment"># if (line-&gt;read &gt;= line-&gt;write) clear out and return</span>
<span id="L33" class="LineNr"> 33 </span>    <span class="subxS1Comment"># . eax = line-&gt;read</span>
<span id="L34" class="LineNr"> 34 </span>    8b/copy                         1/mod/*+disp8   6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   4/disp8        <span class="Normal"> . </span>                <span class="subxComment"># copy *(esi+4) to eax</span>
<span id="L35" class="LineNr"> 35 </span>    <span class="subxS1Comment"># . if (eax &lt; line-&gt;write) goto next check</span>
<span id="L36" class="LineNr"> 36 </span>    3b/compare                      0/mod/indirect  6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare eax with *esi</span>
<span id="L37" class="LineNr"> 37 </span>    7c/jump-if-&lt;  $next-word:check-for-comment/disp8
<span id="L38" class="LineNr"> 38 </span>    <span class="subxS1Comment"># . return out</span>
<span id="L39" class="LineNr"> 39 </span>    c7          0/subop/copy        0/mod/direct    7/rm32/edi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0/imm32           <span class="subxComment"># copy to *edi</span>
<span id="L40" class="LineNr"> 40 </span>    c7          0/subop/copy        1/mod/*+disp8   7/rm32/edi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          4/disp8         0/imm32           <span class="subxComment"># copy to *(edi+4)</span>
<span id="L41" class="LineNr"> 41 </span>    eb/jump  $next-word:end/disp8
<span id="L42" class="LineNr"> 42 </span><span class="Constant">$next-word:check-for-comment</span>:
<span id="L43" class="LineNr"> 43 </span>    <span class="subxComment"># out-&gt;start = &amp;line-&gt;data[line-&gt;read]</span>
<span id="L44" class="LineNr"> 44 </span>    8b/copy                         1/mod/*+disp8   6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx   4/disp8        <span class="Normal"> . </span>                <span class="subxComment"># copy *(esi+4) to ecx</span>
<span id="L45" class="LineNr"> 45 </span>    8d/copy-address                 1/mod/*+disp8   4/rm32/sib    6/base/esi  1/index/ecx  <span class="Normal"> . </span>          0/r32/eax   0xc/disp8      <span class="Normal"> . </span>                <span class="subxComment"># copy esi+ecx+12 to eax</span>
<span id="L46" class="LineNr"> 46 </span>    89/copy                         0/mod/indirect  7/rm32/edi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy eax to *edi</span>
<span id="L47" class="LineNr"> 47 </span>    <span class="subxComment"># if (line-&gt;data[line-&gt;read] == '#') out-&gt;end = &amp;line-&gt;data[line-&gt;write]), skip rest of stream and return</span>
<span id="L48" class="LineNr"> 48 </span>    <span class="subxS1Comment"># . eax = line-&gt;data[line-&gt;read]</span>
<span id="L49" class="LineNr"> 49 </span>    31/xor                          3/mod/direct    0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># clear eax</span>
<span id="L50" class="LineNr"> 50 </span>    8a/copy-byte                    1/mod/*+disp8   4/rm32/sib    6/base/esi  1/index/ecx  <span class="Normal"> . </span>          0/r32/AL    0xc/disp8      <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *(esi+ecx+12) to AL</span>
<span id="L51" class="LineNr"> 51 </span>    <span class="subxS1Comment"># . compare</span>
<span id="L52" class="LineNr"> 52 </span>    3d/compare-eax-and  0x23/imm32/pound
<span id="L53" class="LineNr"> 53 </span>    75/jump-if-!=  $next-word:regular-word/disp8
<span id="L54" class="LineNr"> 54 </span><span class="Constant">$next-word:comment</span>:
<span id="L55" class="LineNr"> 55 </span>    <span class="subxS1Comment"># . out-&gt;end = &amp;line-&gt;data[line-&gt;write]</span>
<span id="L56" class="LineNr"> 56 </span>    8b/copy                         0/mod/indirect  6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy *esi to eax</span>
<span id="L57" class="LineNr"> 57 </span>    8d/copy-address                 1/mod/*+disp8   4/rm32/sib    6/base/esi  0/index/eax  <span class="Normal"> . </span>          0/r32/eax   0xc/disp8      <span class="Normal"> . </span>                <span class="subxComment"># copy esi+eax+12 to eax</span>
<span id="L58" class="LineNr"> 58 </span>    89/copy                         1/mod/*+disp8   7/rm32/edi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   4/disp8        <span class="Normal"> . </span>                <span class="subxComment"># copy eax to *(edi+4)</span>
<span id="L59" class="LineNr"> 59 </span>    <span class="subxS1Comment"># . line-&gt;read = line-&gt;write</span>
<span id="L60" class="LineNr"> 60 </span>    89/copy                         1/mod/*+disp8   6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   4/disp8        <span class="Normal"> . </span>                <span class="subxComment"># copy eax to *(esi+4)</span>
<span id="L61" class="LineNr"> 61 </span>    <span class="subxS1Comment"># . return</span>
<span id="L62" class="LineNr"> 62 </span>    eb/jump  $next-word:end/disp8
<span id="L63" class="LineNr"> 63 </span><span class="Constant">$next-word:regular-word</span>:
<span id="L64" class="LineNr"> 64 </span>    <span class="subxComment"># otherwise skip-chars-not-matching-whitespace(line)  # including trailing newline</span>
<span id="L65" class="LineNr"> 65 </span>    <span class="subxS2Comment"># . . push args</span>
<span id="L66" class="LineNr"> 66 </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="L67" class="LineNr"> 67 </span>    <span class="subxS2Comment"># . . call</span>
<span id="L68" class="LineNr"> 68 </span>    e8/call  <a href='073next-token.subx.html#L716'>skip-chars-not-matching-whitespace</a>/disp32
<span id="L69" class="LineNr"> 69 </span>    <span class="subxS2Comment"># . . discard args</span>
<span id="L70" class="LineNr"> 70 </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="L71" class="LineNr"> 71 </span>    <span class="subxComment"># out-&gt;end = &amp;line-&gt;data[line-&gt;read]</span>
<span id="L72" class="LineNr"> 72 </span>    8b/copy                         1/mod/*+disp8   6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx   4/disp8        <span class="Normal"> . </span>                <span class="subxComment"># copy *(esi+4) to ecx</span>
<span id="L73" class="LineNr"> 73 </span>    8d/copy-address                 1/mod/*+disp8   4/rm32/sib    6/base/esi  1/index/ecx  <span class="Normal"> . </span>          0/r32/eax   0xc/disp8      <span class="Normal"> . </span>                <span class="subxComment"># copy esi+ecx+12 to eax</span>
<span id="L74" class="LineNr"> 74 </span>    89/copy                         1/mod/*+disp8   7/rm32/edi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   4/disp8        <span class="Normal"> . </span>                <span class="subxComment"># copy eax to *(edi+4)</span>
<span id="L75" class="LineNr"> 75 </span><span class="Constant">$next-word:end</span>:
<span id="L76" class="LineNr"> 76 </span>    <span class="subxS1Comment"># . restore registers</span>
<span id="L77" class="LineNr"> 77 </span>    5f/pop-to-edi
<span id="L78" class="LineNr"> 78 </span>    5e/pop-to-esi
<span id="L79" class="LineNr"> 79 </span>    59/pop-to-ecx
<span id="L80" class="LineNr"> 80 </span>    58/pop-to-eax
<span id="L81" class="LineNr"> 81 </span>    <span class="subxS1Comment"># . epilogue</span>
<span id="L82" class="LineNr"> 82 </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="L83" class="LineNr"> 83 </span>    5d/pop-to-ebp
<span id="L84" class="LineNr"> 84 </span>    c3/return
<span id="L85" class="LineNr"> 85 </span>
<span id="L86" class="LineNr"> 86 </span><span class="subxTest">test-next-word</span>:
<span id="L87" class="LineNr"> 87 </span>    <span class="subxS1Comment"># . prologue</span>
<span id="L88" class="LineNr"> 88 </span>    55/push-ebp
<span id="L89" class="LineNr"> 89 </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="L90" class="LineNr"> 90 </span>    <span class="subxComment"># setup</span>
<span id="L91" class="LineNr"> 91 </span>    <span class="subxS1Comment"># . clear-stream(_test-stream)</span>
<span id="L92" class="LineNr"> 92 </span>    <span class="subxS2Comment"># . . push args</span>
<span id="L93" class="LineNr"> 93 </span>    68/push  <a href='057write.subx.html#L148'>_test-stream</a>/imm32
<span id="L94" class="LineNr"> 94 </span>    <span class="subxS2Comment"># . . call</span>
<span id="L95" class="LineNr"> 95 </span>    e8/call  <a href='055stream.subx.html#L17'>clear-stream</a>/disp32
<span id="L96" class="LineNr"> 96 </span>    <span class="subxS2Comment"># . . discard args</span>
<span id="L97" class="LineNr"> 97 </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="L98" class="LineNr"> 98 </span>    <span class="subxComment"># var slice/ecx: slice</span>
<span id="L99" class="LineNr"> 99 </span>    68/push  0/imm32/end
<span id="L100" class="LineNr">100 </span>    68/push  0/imm32/start
<span id="L101" class="LineNr">101 </span>    89/copy                         3/mod/direct    1/rm32/ecx   <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 ecx</span>
<span id="L102" class="LineNr">102 </span>    <span class="subxComment"># write(_test-stream, &quot;  ab&quot;)</span>
<span id="L103" class="LineNr">103 </span>    <span class="subxS2Comment"># . . push args</span>
<span id="L104" class="LineNr">104 </span>    68/push  <span class="Constant">&quot;  ab&quot;</span>/imm32
<span id="L105" class="LineNr">105 </span>    68/push  <a href='057write.subx.html#L148'>_test-stream</a>/imm32
<span id="L106" class="LineNr">106 </span>    <span class="subxS2Comment"># . . call</span>
<span id="L107" class="LineNr">107 </span>    e8/call  <a href='057write.subx.html#L24'>write</a>/disp32
<span id="L108" class="LineNr">108 </span>    <span class="subxS2Comment"># . . discard args</span>
<span id="L109" class="LineNr">109 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span L$ϗ!Nf+Mf`rel4LՌy	fytc`9}*Mɱby!LR3[1SnuWJJ፩8̚
\9|	`&—c[,QRUb&8sXgKc5cp-buJAQ>\|<;9uF-k-BPEP05VMgu0%i<ڙ$1Ac0W=D
YӠWP#XEC\g컐.;zE-Xpn[?D5g|112.~+J>p16Me*gww+Q_^{D+(\nAZWghv%-]@}g:֏UF!V-@W:e;εWQTRǎWo9^_cmIuxC
BFЀSgs[\LΙSsăl<0KK0ARb4`y̞R|$׈SҞp0B}u,Lq=L:C4Oe+Pͱrm-͇<r,lOXjLopCQHHa-W0q Hyw4(ẒCb_^>cJ>+d&qW7_MasJJ2Hz;V$iwvs iQ5dJvWImV:kYFW_̣=r~L(ݨϮ}"k:xv&m]NkH>yQrb#^Aox{0n6z/!`[
B.&5.:Mp1-ItT~IEճ5ME|aF7+YQ|efvRŜA2	A(j/AXMԚ'YK޺ |Ւ?,>EOkSt o̸azviiDH=-0oRN$uHw ;6V _JHCͬ#np@N|0mu](nWj5#TkI沫FoV\&L;'[k"r&,
oZZsGgo^5ih%d KoM
׷֠LZ$h	6c~[GL6Ke2%9IAVC`e0~j.~#nIU1
zU0}uǢQ"nKC՚q-=@z%`/a6ɯb߻MhT9hui\	VZ8io;یd5*]'ήJ[VikVB݈4.&OZ'(0EmŻN.qxon[2U#sd6Q7E߇(Mr5hs,%FqCMrs0IT{~sc\{c֊ƿnTlÏyVs:֒hqIAmjҩiJ6N41$^k;qC/$=gƭ97
gr{vd?!++cmP0*\:xqss{`6:
&#tD[~mVҒ|uHzF6Xۂ%˅`?2iXTN37$V1&BnWwF6=9a7UG/8o dp>BЪi#v3V}80G50J:M/6KȃZA :~GVDvJq()VTew "KUK?Ȧx{pgH\a|EknρSyq*?*˰GW?ځ9PDETYDu^-/V>DL<]q%ITϕ@[L8_*/_sseNWu(GȄ?gC^7S-2ZF	b7mhxYUsL !ǴhĥWG\h(Ef6dqb0׭y%ں:o5J}o"J+֒01&yjwvV5"W>^qk9=VINGxX=K8BSJ(Ixpޤ?Pyk7Ҽc@
P<]}/WIص(LkxMSq̟гKFVqq<8IiVޮj"Tto7ylcO[W[⺀}HNKޯ⢺yDjLtJwHa?	eyf#HF{"Ou+k	zz)"}vMT#7b(#
%lpF]X	2
6E}6f*Ӯ2\
T>DD("nR&v'+i5wz:yo;:P5'"`iP/K;& aRǑXinNvXKT(ܕ$	FeTk躶Ko+_7_LⓏ2gڶ27]mowW)\e)G.n}{paRDH<[l*M޹
b>Gǣt:_)R[6~KIoNhڠ?a!
w:2j!m4쳙Bβ$"ʰmO#,D@U鉛q^BoхP-:`fuu*Na
`
\iL)vo	}wu>O˱
"kgqADZ~`6^U2Gݮwpxv~	.tc%g5^EЈ}*
>*4|gzV]'N:*bs@]ܣ7s5;墨n˶JW.}U)ʴPˠ2\^F>X^Gsv{Go7a6J+MPXq,<ճ߿x~~چHzYT=ɟi)ߠkۿWC?{kXhQ~;:0K֯Ͼx Y%2{$g?aʆjf񠼹WFNOԫ0uan%N1Ɠ*RͼY
-a++tWʅ$BSYb_
zJ;ewΜzG֧`;9:e 2|cuFIU'&čyrql	Z\^ܶގo_m~{yp5 16SŊOH'!ºGj԰:kntY-y-~8bVIHP#mP qn'^@6BjoJ'

8V"5zc?nNcJSX]i~2:nvy)*)E,VcU	֙&Ij;Vǭ8ٳk㄃uqUATZܩ4=2Pwłf̰R~lGߞi)
	RfZIݴW^>IikS&".߾xn)Tۧl]Uծ9V;:EPS!'`FX;Z}Eƣ<?M,Z{VgѣL8cj}k0ȡ>~{("7͉ȇ4M=}c3ŕZܩ"I]ϥs4YWn~Ho(;kwk~ס`WѻϨ59ߙi}('p#Xh*oĤ#҄?z/,9keQi+M2-N7ںx]U$iL!y/^G1K>B^
G{!e{=N*{mI`M(>0TbU\ve\3t>viJѱrO'e޾#Iѧەd?d69I7;H#j$}^gFYg}'KR]U]]/yxjѓ!͏;&~B|ǍjS0ӕY
j}GU΁@y-\kG}Q6>t2|4!Ǵ=?fDO6knfMV?}k&k۬dYoM$禀tRxc9:hb
ULW=?80D)!xٟbqyJ}òRl|OM5kRRcuB!hj)Vv"c_8Jgŋ_~rwLjEe]zsod$+\idK_Tn0hIq+X0y.yD%EDX-t0LnJL3_Q'rE2@,oz+(t'U*
g|fIz#/bN]RYT>'~$G	<ǽ~3jwލ
-p+_nk$'ƗE`5RCjꃤĨ{~R*R˕囦Ne񮰒/W}S*I\ݍrF|W3P6ԵPҖ>#
eQ⃭Yǵа9>HAjhRGE&]ZlX 7̋
1pcA@њ&| K»!Iu%OQ^h}0ZLscEv[MnzBk"\'Ǧ|U/0V*VM2Vmʿ
{.h9[S` <(%gKһA)r/qaҼq7M9onb::O2esz>?
VÄR|OѺchQս.֐
Krsy$V٨c@fJJZ&rԮqmɻ".|-@hˊ.[.@#OzJT150U'sVW*o?
	h*%^>\M-WjJ"Hs>:15w騨:N)Z|>TS^0ekqE'+/Hs|szcc!dsQId]
t8p̀8?\X$szxzEAuu1\lQJha>-4
5̯BQr$7ޤTzFc|7zݏFћaEۍRR7k4ܫlCBwݴQyuC+]~	%̚3\:0
ͧ^r
*14H'i~?O'7_&7/ɛ_I_+	};m}>wqF''+>+o+o7v
K)_rf4G稴s
!}>'\Tj[GUG
yLbkL<*Yk8cT1ԇdt\%~H6F^߉|}e{hv@3MHg$m=jCv=/`v#kfZb:IjSGh2׌fIe݋Ʉ\惈GDnԁMPDY>h	\}h)[>9یGZ^:FOweJ^$?|GX\QWwg@\S|6hU.=ig]JԤw9*1K1}{플t+m/eM,>kYN@ol㛺gf+4SM7M}1+x6zs ވ0$\c37(xFcGNO0%Nm8cW@%s<Ĭe#(z(V>q5i~sݭ/P?4TZ|P䏆VHBZV'Jq9M9!g~y6}AB蒅1%‚(s'hʬ0~|׬B2@Ifdq,iX)_?=_ܪ/MEX•	/>
)JE"B~@8.\'XB,4xS|mm`\LjihuS)p[dӄ$~-!aj	De鲚F5CLKcϡ%!e
a᧱K^K[0_lܒESD(n|C@@0z`k'/NBgkGlQKqBpK?LeEɟAd]@W:8S6Y4YhRPg
6Fs={?)ݍVz\YkiFOargM~
Hpu{^P7H
tZpQBV[h3J19=][gCؒ_"7lI`dD&R*r ư8Xc|VE?aj?+1
`7'5/~J:*æ'DC,:A9Qf̧(6D+0+:/IY8,rN$>P]yhs?gW01ae?;𳟑*ވZ)fwPjw9F˖jkEmjY5םs.qPjƉA:%SllZ[iPx"uA
͆6Ŭbetq`i ;UP0*x\7!~4&iv,5[rík
)Au19"Ϛ @`n3s,
\j4vXydk|"P- e>رPc](kƨՉck\3eƳDu!:|:Mmq{ڭ+-\߮R+aljJ|b']7*IAwuzINj0[k)JQNE!ȖlMaLqr^ǵ#Wx	~1bZlw0ێދxΓ[4J\42)5naPKa-,waPӒ:@]:t<ӶRmج#CŠ$(E[dM鶗xed*yjbl.L>A8JAk<L嚍tZ*q!@2uiz(L~`'4;q|J@uYb?f1!^kr;}#y$%*F>AS:ҾY[7799*DF|	=
%q@/u"oxӝ)۬$?%lCZt-:=6	`t3hixq8"7婇eiVߩI^X~ƞV{"tQQ}]j缴x{c!t^'	Ao=ZbxF
cfupk*vGjhx;x
N
.0>|/UR`+mChcuvI3	`a&Q
QWPzX"s_Q鳈3hC,hnS8T[	f4g2*	j-+ZÝV
x9FV2[I:wːr<ز?&HphE
ܮnr;}3~DI$$Ā2}qxmxƼWD6"'#KЈR{`!꣌!6eWsqyV	oMmsbo_:CvFVs2L-vD`!c:Afƍ>kEIїPRxdC|&;un N9O5YI-2gm5jJ~:LgiQi...	%!,]+#GpDB*;mI((g(|J|lsFQ4MuxG!wJPX<6F_[{EgO>—
y:bx9m8_E">GmAȤfV2(]2n{Yf>,q0x;/X܉ONX[ebmf{y~pԪy$=CUpwe:fdBl-?ֺ=*_=-ZP:AP֜{^d%AM1vɣτ1)Uxs/E*0||O
G룷	AJ1(Gry,/`1+X0l&/
Ԏ.8:7"c>aiE
3zJ3+%뚡kΉb[o'.=
fZ`g!D&r	(Fo=\QIH(+#i찌ƪ*Õ5;uƴQ5/4KIx1
kMRjgT;P`6PAnFRWktiyހ*+"iaPZ_RB!b		k.5^ӅeUYk%&4^7%3X t+,
1
v 67 p
;3v0Yr}џjJ|U&Y?|w߶>YB2\C-.FK,v!C+[=Ci%F2qP~C66(ձN`-`3U3{E!mG/y]cY;ѝ<œW@C++	~FZaۼۨoIXbE#T}oFMXl:2G`NAxW=Dl)ܜ)%jZ$F8huP{'}tE(__vr٧H;j
˖,PO|}(V9ar<5$Z11H@׸gw+/gE\8"?jY2~3K|M
m9cgs=1
:eMWew@:[D^k(#鑉d%	"M7ug@K}Z`ך촽18K\)/čb`m2˒t"p׍C̅-m
^92'h
w@t:a i=[uݓZ*oD75{x(?H^7}2D֝ɮ=wf޾ʤ-p:բ[<98ijv',-ngyXՁy`u,sUZ)*qIJ|./~mnp1ϺK.qaj'uG1&,)H{^B6xm;Kf>KO<PYf`ħ^U"=#`lf؇BhPj|؍
3)
ڗe?OBn-}z
=4HҎ%ǤAa42A]tÀU$Q$~ЄBxa2WgvgX׃w".$(hi~~N%ķD5bnC0i͖-Os>|bXS_4liR*;tvRDy"Ff=_j0I,4,:vdkOk
2S]H_$p+Ѹ&]aE9M{@I|c,020P_p/bV%j}~;&އq"-F0@U0U&}le4#Mi>]I4	~~pϘRyW?8cW?Qll4{9a˫|FY˙ g^zRH!skHhw?A3:"L(VQsχᷘXNٯooϊ'Lo>Duo'b雉Z+?a)=G!zQ.)oF%>[!'>h[?ぺz"WhP
YAu${|
Vۭh4Z֐NtB>⒮\Spw=SF-HHND21սnz4&wMRQVm!7\Tk6Qc>>O/qJ>Ld>eD(k"HZD"Ӥml?Z>Ǩc_&;f
;EOE!\	cwTʁ	#[eHoʬܩ\d?c0}̠4r
 Fxp,ľ[>FP3.:hѬ@ih_)hC7{ɨtSnk<^ڹ{gp@41u ѶøF;2.^
40gƒ']EG^Hy)6oƕY=AvǕh)&/hyf:sϽ@F/_~GOy֏ŊR3N`c{s?C.-".# <[ (A{&RǤgdj4# G&=C"1LWzi>LE^HEHVu!у
`W`,Û@th&DaU,YC,fRj"x=tjV$lv|nBZh	q -q|Ҫ!O[)+
كVjRjNRZBuQFdYS7%;H>]̂"vvl4݈ά?VZ;.06q MN"{RuJbP)]P3{ig#U=R:U
ۃu
;	JĶ׈m)16y[4N3CN|iv&DWhCuQVNTLu|fo@QVbb!ѧQ&T E_4}4;_ڂudԣY,cMq))-i/M42_&ì@W6\#TAsg{w\-O͉A=m.c*)v~Cs9\㥛tжuBVQ*	/Sq}٬U[SMg0:(1SC&3W*Җς'rKL Ȓ7}y7w<$*;֖%Q quH,1)P0B`BoAQ?#3ƒ]Ў4'Sl
x1qGӀk+5X9tpnXk5;/ݸj?RcYZ	7oA;t\=	,!T%QLFK}#e.w#6&2]nݥ5Vh[kcG?WFtUy>TK*Ql~e$o㭊'OG
!QWv>M$]|}3lSxxy~W'F&A{=g5;ra4=;^x弘5a'2VC/z}r3IISS6?3iK&H¦5ٴuKG!]UPjV^%RO-*]8rT2䱝P?T1)a	B^nX9f/3:cvy/!1?*@keEAv0(PA+VmUČ6맹5dt)''#6UuD1>p7V]_U_ F2̈́ҽ=&Iu	(ξb'(c'媉(Yo'ocd@74)p' HRwG_@QmQf{
W7sbO[6Qsǩ^Ҽl5VӚ˫wɱX=1]Tݍ-+6,AX}FYyl+Kt@5jq.Bg$È)p(6ԅә1U"8tT)M0?PҝU~J`5ڡA=[XT¨#JMى5ʷpvSR:6++8y5/,ZԱz}:=;*^CUJ^GΓ	3j
P.[V"5EYijx#Z77 ƗGk6b/)(R)'
3K}>OLjܢɣJG?>gz;	IGսIZK`<1nD Q7DꄝhlC~0r(E^;j^O.0=ICS;1g2_wK7pѬ{,iȧZnv7=)Sg᥏l)nC,EvE|+Um<`)e#JbDgaa= H^@5bMBg^U;|hކm룗}`yYpғt){nA:<+-13|gz2|Ȭj7YR-œ3
Yuol՗ERW]
i
68֖Gv步'}& RLY?g\&nk&Vbor-> )):Ɓꘂ)UV1cMO@L։o/L+J)2af*vC!7+ WS<'z_g@1R4EY'C*wJ4U 2GlXq`u6tkd'"\{nn(
rdIe[T+e:_Fez4n:8r8f!AnsA%E`A YQb
[إRhB/b)}>?|>w	A[uJc|>`ϓ[>e!J'W?g%Y>aKJF⁌E2	o%j`|ϒ#&㬟J+}RP.W`ȭhkRnmb>*vv%΍dih][eJ4ACUr Oc?+-qwҠD5e>J>3B7LJOqFnXxs=oe*?\P/w]wvL<)Hu>?R;Mf8ͻO35ҵ01V3jvEZ݉ f.^f99w(AyNnȅSH~~5fIj&&q*|,q,_A0kL캟i;<
!Mp@ȺNUP|wSM#@,oXB0,$/)ٻLwرPPINi*~T*G'|wglRD9f	kܛO`Dsg[nig+L_V>mG
18KWԺ%@OAUDnkoh`d4C>p/hkf=i~)!Rݥ8cr'-BhG(nM{ks';`kB4^.(&I?0OE/dE5fDGxY0#"LvFEyE2p(`ʟΐPhnhޛ(r2޳o!sFuj޳?j\LQn83_}'J5?o{V~~&J_89sqX1jnWG/^4XrW/7ypu~ÁwmƊ6
 !I
1v1kgz_G,H%<4㤲@?0KR?fyt[ǏW=z>gOsx@r4Fl{kdXÛ6JQg44ljIo _D"*5عGoY6:?g4^&m1}o4$Vh閝5Cy4G'v8	9'>4`y/#GBȀӁCκK6@CG#N62$SݩIma[
\F5l7-kt;A7P}.9ercYvQ:H鸗!D/v:rRSL>㟁/#.@
C&] EctJ2l|zSmUGwZOVmxpػ<c5Q!nt7x]8pVq0q9ëЃ YgDJRӧXa\(*H^Xpx㓒Ov=O7EBG`t%og~uTߚׯ|[O_??gu[>eɝ+抈xȸcWE:%Xm=f|OԢIm^qs
㿗y1CFio>C#:Mᅨ<Ӝ1	ULhh+_͒_y% Ÿ՘kOU4/c?}Ks,H=o_,*@NRǧ	^	%`%7Z; %\:]enP
$C
0/j@@-.q[ܴH=?+iϳKK#q~	cN4f7.`饂L4?3
&X0ڹĉJ+ pfh^pf"<>_>B:@HxlqJ\da>)ͳ֓j|VߊX~)8;98Dma݉
2ҝO<'4d4>P[N"Bё+NTTٔJKʼw%<̱[2Ịw+MSFΩ_"nn->\@.aZAv8lB6Fkщu%#}/wSDجʸ3n»nqB]UΝkGWG|w8uY4EKōU9R][[jK-T֣v2w(]RWʺ	׍CC/GBJ(ړ!JHF.FB (FpN	\xƻb<[C6ؖ-;j!ݭj#f5Rԝu!ą_EʂkfyY&ju7HLZ[{e?6|iwkF-/~ukQvxfkԂ6ĵmN-[hq{u5Wm6k4a!2GEY
]XM|"Q3^7mõ.]k xmvĀgj{r4ȹH<0u
ŭxCW<8|N>7B3w|'+&?E>5Xg%Y>Uϲ;m6ǨWS
L:%'P	Nav5.r܌{D4E܊E`v9C4>gе~DyRƚƜ1ѷlpPѢ=K60Ԁ:1빣>vHL׍1Ū>@񅡁&+)PjgE0c-h vQsWS7-lufG9}FR2eډp#Zh
Ƚᜧq,VGM?T{RN"֥,j7.
6R𺲝q%q,.ox_zbke&؜1't-D%r!B_uV\m-iyCKu50B-4O֡cy~
9{Gɔd3SVQwkK
9kn@mcp{?`kkm:o!u.4Dh:E'J ^q~tj^}|rfO*e3Llk8 r߽GazgL3lE6G7"hE6vN-ۤhuً0'=x~Dpe'*rQ}8/rw]A'Mj87{.s?qOK?srL @7Fh}v4	ڸ60@砋jK>V`% .AY&7q>9{lAVecкi5i0"7}9(ԽC7z\a&Na;]Q
TAGս
{ɔ,`6QXQt)t&9ްop
)[Wv!Wjw8BQ&i
P=viĭ)ꂒn
G*gMSŭ,QqqoLvwrwIn0h%; rX-9kKm:qԛ`ʮ_WV85SĊIE?Yv}9Oo(LizZLy~vSrQa[ b{>WvQ`yH,uQ>X&.^VVxq(.3H`=wW.؇Z.>;B_cPES
I]/od3eқ?fx>*g.IM`)ͻYJ>kN+\Zd88A۽UZt?ebi59 Ț*C=
}>=+WVIYaڈIexwq/xatʣӒ\Xvpvtv|~4qkOAx3CEpLhk].&A_n=Z|Jg
V,s~El듓W[fm/z8fEgXD@LS@BE+✞KD͔?V{Ӊ4UQuzC=Ǟ#{?ۛQ1$Q
,iv09q(X,`2,O(\ؼkrv]3ؓuo_NjeEXa܄enLw!IQ{65h쫘-W'.V=671\^g'G/eީދ.[?|aF"6:/^/_:9dqV%n7rok{닇Ϗ?ϊ[>W7)Jax79p#)mZ;p^_kN͊Hg|QR1qJ]2swG'	}prp6̓~CyU<
,GH^c
껟6=&z1ln?nFQt:
z0	.UruhBK!2%k7<:B9{@I*^MeӲ('UE-(k_0/DµZ,!9z[̦h,Rwy'GcضiU=1h[[.
g
w5Q	5enS.᠟7&maZ,3@LWtittT?Ql-P
jTpOX]i2qGPi"m'BSGC9KC uCػp2¨J:p3K:KNqc+Ќq`8/.4b<(OkԾ)cX[֞)!BMk}ݑf`5κ>XYs٨~q"e+֕]Dd)*j|aWvQ+,԰%1+7F$P(,.ueQ\`\#7Kp>*i2w1d3$Tp> 3|l@i\d}$-Q5Z+hxjlF%~Hs1V>Nj?{9y]+쿊7X~)jX/?5B."װt/CK=zlN:[ϯ៸!?/۫Y?@W{^LB
'CH3ų/POpDڀ1:J70F(*LӋ0a!i@N㻣z'.ó76ZS}b
C&\}mnAo&2AVe8iq9
;]2YKt:$|M~?|&e-J˟&m~EB%O?{{G7rX9Z.
l٥"$@5'a7^.	'p
dT~`3֓ό.P_!1zE(@گ2Oh13yi1>G^(0'@?cEF?3#N߼:<wX"p"[$P>psk|^fc
:XZ5L1hcXC#p\e
[ITE35][i.'Ela;en,@ dPbi`OlްKUڈ´:Րj1*DL.;}% 2tiZT3roe_V܉AZvt(W-FcvylKKMyCI-!ioevN`QR{ga<_4B2ח`f[_hɏE,ԧC.*N+>b$hTfC3

@v%4ŴD-Z!aJ0vX,xݮ.j9lR5m;S~/@`ѳB϶v\q%P76j:%]al'-}X^zπ5Xe*˰7v:t̒=Լ-;%0tFA"2ppsm=%%xZ@jh7㞏Nd(
ҩfSj[вĕ׮A/wD0V%eKvڦ^K&g[F
}HCKo6@ۃ^9E2aBm6:Vֽ#Ll
^]-)9DRgb,յ*΢Y^YῲUKn}b/Ⳅp,+|`l5Ϝn.jw~k"Vc]n۾lw-cRMShuY<ѠKs,]'$JG2FC:>=uh6LT[&.O
zd7Pe:&?sIȊGMW73bR,cTލ"]ʡσ.S20],n\@H_X7urFq\9Fٻs؛̩Jkv%%՚Cg);σ?{G;a%9|KtoLYj4!/-8EHƛBa.*mu
CIqÌghn7vOuK[[y0wT?$ٜk\ ?gc[k25yͨi)U[ۓ)VȣJp&fHܤ"cX|ȱ,#tnp2SD<NJHѠ1@l/#fPn,Ү=
]3ع4f/
H$e䒜{nsi*WئANM}(dc!>C}y@.R^hOP+
,4+kM\9l4flfFM.$3F"Ie]Զ
٥Rڷ`[
m|tbv<§&g_=
Gd!kc	#
Yh3j?qg"CԖGK
LʳTg6Ll/JK
CF%u*\SpV+
hoY_x**qqbC[\0k2|oq~I/[d&~kFXzw't|-65eOw6ϼV˶sYAYt?[[n-[FZ"?%sgSeD*u7H]y@NV8ccSld7mT5IhȆr
^mq}'fܬJ
Otҋbl¬/Fޚ^
ʁ۰iK8႒;0Y+bo\dc%
-]ajt j(ׇ+).˅7HJpF`Y?ea_]r
]%Q`Wb$n{eRsnotu敵yzݱ򑟳I$։C
P($x;nȦ[sJ^Н6ǃqIyKQZ|R)Bs?95h}~`YgB(#s ih)fzĿȐ%jw0Hf(I=pUƫvauf]p!Th~;QmpcYYDSSH/GBT8GSy]xmUáHWv3R`Q}3߇xRxɓ#|VߕӖ6Pq~B#Mhc!m`*"kpR!꒫/RRW4kGNI9%~KGCsPŷivTʊ8MJxl]'hbOg]8@ad崿{_:8Fc0>xwLvP3$-Ւ{Q)=*&$;vU4+PwZև5A4HŖdg,jpg.DW)v@G,ib	M<	H{ĤpNf9
n:2D׽UO]w?hw1\u;mNܗ:4J<(GT=-5:.մu-+GzW߁On&v#qȰݻ]^CaSe$R1J
Es+K2HWŽUN{#/$|{P)$/Pk]+}ܿ
cJ6$8mk{CriS
vCI
u\'{CEllXD؋τV []rQɦJe*kQz G[*5G;lNe;|,mDmEp{eI,Zҳ-ԬNUE(U׺wٺ94x$%)
fiG-+lsR1F?o:+yn|G(dƮ}w&f
5*ܩŲO
Nu=Hp)=^d3
.։f#&,M'^\hgegjގ#}K@hO3N\ŎhZ!HAh9|j:$%Oq>#Z@}8f]I+|׶ZVXLg,=3;\DNQ69@
˼UݼiF|rDؼ/uOkp-W D(r1@NŷS'qd)c1VP.\Oޛ;
6]^M%Q)
#N]٪U
_~lS0cN2ՌlD[Kf-ҒC12Jx.6"ltP:a=MAhlX$Hx巼eF6imzRP0L'Ўri [%W2R%x54fKg<|qėô>PW\;ݲsWJb;fp)bb	!_j44*-~+xy\
wnfH!L5D:Rpn3#MMD\:,V)`,%yX;Eʆj8 \,wI`jsʋ`QVנ>z7nC;|~
;|OE"wm̡T.;a=p\g%݆.MD%)}
ĐU{G .7 {e~;+&^J;P*}[@sD(-\\s	>(j%AA?Br("˴ôMhu1uC4IHjLx((I@=Ǩwބ!eo6Cc\̙bbT&(MC*C`h4iM#~NLVz:=^?.+輟>> \'?!Gϻ4)҃ RGlEL4zExTU|ZXqP}}YsB	QYB!\q~`UipczڹH1r`k&`?iblħTK`{V)܁n4=٠:ƫ]2',sDTs]:~^uh*6E#0Adr;m.GƁ*
4*;{_Mz'L8@U/W(N	_6I{fX,֣%E3_ܜ]`N[rǕF-8m(^i%kMʦ*=qB	Q=FÊNZay	bV
0 5҂xug57:pf5J͎9ϐ$dŸ ,*(kQK.md<^7ȫr[9,*"l`9O_R?^ҋ =FW7t?B@&tZ+q<2e0ٛ2N3ND׉*o`{0
~Tb>0i0uZ+\dϑF_?.eܳ%Ӌ9K2Y0FX?B
D#^Tں-(vTuv9	v2!0)LOxz5oW)Eu*Z@sQ6PGΆ0{LAˤٝ73+sXkqFVd?Ak#,&ƉLF8nuQkA6`y<,&a1f1:,N4Ds+z^ƒ9CQN6m[Ǿ_S"}k9ulcN^aACof (Jjc{{gе:Da?BZ2)Ƙ!eZN>@M,QYUFz925%%B^ydEpGMRH2 ]>SXNq[0rNǶͳ9xU7nid49ɮ(FR3׳FHebz7?t:.\ĬOKБ/൪uO2RET"ċ(lQ_،8WZʅ;m;-z]]nݕqtZI5	׍Fӻh%sڥ·廫.YCmw7D3m*sAkO	S@oXPaLQdXy+?jS&=ibe1V}3>H`_D5ݫ(A<|OO{a<@~]h^+{uc}|֧}r]oOz۟Dq1J4o~w+
~T~Y-cp@&ǖFaSP&~Lm6TaLA@ǬU+{\&t]$HeXmq:O~_SLW
_\
ÿj%a  %׽6IqЍ>G%$/~5m"Bwh"It?vvB$1_0k
B{Wur(mD']Wf1lM'类>lFݵ.^)(mqx(	VV	#k
vOim66/ 3!!MOuG(v.ǴCxKt.OtŚ-^ig,NPq4XjuNqও;Upvf깏7
h{<(p<x2~p 4YۉN|4#υ[AV2cW13b%f?
H0~]eXjΞ"B;=?M3GI!ht15w[~Q#֒+\W;OⱰTB45r6z|m2#fvpoNS*߿ D$fdyd=
iɞu^	/4TKAE&@ӇI2θbB<t

=
H$r̼8#^l9<0.BsMbH2z(	SNH>gއf{[#0`Ey$<Ĕ7v6cXR7)s_rO!=ֿZzJ/<]t[&N:_Η;_/
D֟(r!NW9ߌ9h6D))œ2A5u␯R]	ha=x|Pm5Py&؝\\Džͅ-ODNp$s\&BtLXESoaL賹g&9ɏ`f-ke/C-?-?+~Wde7_rz6rj#z=/1$YZS
ҙo
H^L?`ę9`hnl)w|iɦVV'x`Uga1t;"¢In}WSWNs$E(-	l,ZD
	9No)[
ch
hN0"h
O4A^~T\Mva-#Հ
TEsT 2L̩QF踵"?1;ju
U?װU}eBΏmi9ᄀ2 o3D|_f\hHW'V/ޕIW@(c.t
PQn+WIZN4s|L{Θ:00xdt2MsS  !ҫUA8)󄃥391	jäFm͌ڛBk"+&+gzҫϿ#Q9<>>#1[3w;8&R3yGyǔQRǒ˫!_qYTR.9(	A*%SoĺyᕗMP/_^ؔ-[A
h ystAzę52~ 
.<7{c GGX8`)RRk&YߏftQ|h+LrvC;-L1n0s|l)ZPj8Tv-l9i~4&vՏC]mګ[Sѯ|kN!ۋ[bHEfr;8.?\o/-AG)$Y/w7ěN#̭Hic"0@bN~@ؽ@܆S4Yhbnq'5^3hYuh+5M ]!wtёv;67ehTS8C:kvWxz5.<=Z]
‘aL"+m|%a?R5A{EܢHFI1g?:e.LX&ͱRk^קovtaiB~^pYG[1\OVyb{&`w֯3f˸56&MN/KҤNDudr>INd_kGGaA:HZ~3^#c}8!Iha籣pF{wg۹[7T_a	жPپE:kG6]!/|g	AMTC1YNPDqJ:1icѡ%roOY#YfhXC7lKi\#I,Uzͧ\[қ9;c <KiM6Y@`b5if󗴼-_\y,yu6n]n"cOO H6}9ȹ<ݟ򧜮4fVgvʉJUW7e[:%bpҴm1Y$6(Jl0&,AkӜJ?4T^4uUV#yYx4:@	I//־<d)}nl])OٙpeХ6n6h8ʣ6>=a͓"%])o2`U5Z=@.{wާy묿\J{#OWP:Cbaƌɇ]lVȈt__#p
:d	mPO#!Jӓg?H穔F9)?lz}zbg紸΋8.c\FiJ__iQ|Ǝ-D,瀿5~Ce6L*e.1Sx~0SSfcB~ƫe
PC00;Qv
GR1.sC*-F0LrBϦjb2	.
aE疨eG7Tw}m
M[7;ڳӏs<M[OuW{^F7 )	_Т}3LņmwgY	~! 
_e1;])g>~6>msy
a-ØuY"ZP
clso	>
P1*_!W8NNb>'&'-	0
Bp<:I܊J.KR]Uyv4׵f4Бoˀ%at~ɣyty0R`L)]PK	%Q8!ƒ*y4:怭	r"Ȑ
)̛[B~QHNI%S\-3A	B0,Ɋ.Cg)92ݶ٪@11~gNL8,?֏y|DhLdWrFHWg^AFwˌR߿t:
"tj+Y~dzq44Mpr;uNN0sg}ț_>:\yU&yOf7C(t207S2}Mۘ|V?ȗ4l[n0f"!c?萭"/'`cV29G 67̝Y<od&f &`r
w=,OAwnnKGq`h0>jubԲE6H2Ew:cxLgAΓ"fS-|A;=EX(6:&
@#tE
E[0Jx?.bM<9'ӤQ`\yGV`zM`mlsYEAU%+9B9zS)WԁdE}}ğa|bi
T܉;Glyt
qb%icv:\NJ.];"0zl=+gKMmq2Q(|'јoI4nӒf]M@~iw(%_uV7W*tٕn;\}8i? q'r62_ԥ̒sYǾ-0
BspN38)_vNOd^_v*rK,zdVodU;C
!+,N0"J	4w"Q0CK3nRyo3pM*0@]9i3o>5JKA
|#
e]=Z\ZeGd+n6P@gK3}HrQ`"{`hk"H488^BbS`d>pN,.պbmYLBwYߩ#4yjEV4h	P#\&CI-͋c/ixc,
~0]PT>;i$	J6Eꙭ trf,CeW]N
NUp)hH >]W*6s-JRs*-;nUdƝ_!<	5g=avN	~q\x?nn%;nMXEU!iWکףZXJ{2о45lXPKPym
2]϶aiFGQ2U|F}/Ă\&e#Q-BAo4U)?!Y+xTzTVO\*>BgoX#sX*C=0=-O5CU%3].~:ۨ`[yAdOr*șE|'bF0餁Oѽ߬02J/4qN}{O1k"UV8#E(t;ۆ{ٯ/W|U~M~=t~%d\$<^:׋^*&ϜmpfVT[= gp,?B@ϻq!wYv`.qtAa3B`\-cPX	"o
P!vY+3+~i3?(@꜆sjѻG6IGgZjVЌ+Ԏ%'Q{5HtԾ̽$lee9#Q4!,t>jیumn3^c{8"뎮֎[qp*aYN׍> cYS^yPUg[ll,&p֯N#=cv(hf~&LѰ׸Fxe	Wsߧ~;_9+bFO)|Y;alƧ:+/Vg1#/( K^**1]yQP`\ԾYWz	c)jYq}6^IRg5͙w`vfM)DAmP[GGceF=Lj&_.5ƠƞE&#v٦M:LOG3m)iOE2gPmGN-J"jLWpf\ǍCXAxcDOsuyB+Vs*T=jW,&&; "::"puu+'֥_HZJQ/!9
i]d_[ԸJ5D^Ǣ2u'?`yV-K َ,Psޓ.A+rrqDv
N.;3QCnAy|>T'g;\D-obf5-%7;2
0NΰCNYIx%a8TxR{1S&Jј2WAqDkϏ$ W-[~
@4ޫt.״h]v^F+bst>V;kGmBL>.P;!kc+ }͘_U511bB1^Ћ\̘AQ6-cM$%`6tyLw8"b;A<GD	"n.dNW6]@:?C>]3{۫{w+M<}?b`zez!6Jt2[ȷ?6C	
;}|^cpv`q#E	xmqaifw81Ʉq"N0"wWXfO`*N!K>ۊf3[le9H@GD礓Ϋֆܐ*Luo CHh4[tjPݚo%J{c1dw?yF<'L)R&ch	`ő7l
;S-'8Ƶ Jшg{5Oh Sx#y3WpKhsBnb1vvXUÖ
ŰQFFds?[hh>G9_y9zb{l׋a
9 ƚ3)'IK
bYY#z& U&̢SgkYU9/P
9RmT{lڬ2s"VmVg	>Y"xK8R
U8J
bgeBXqDQiNKLuROJ^qT1|&fwb)rGd;}

>֒C*pV)>^g?wVv*Ϝ%l0"Dt	qBP7gu`ZsK멏">of?gvxG 8lߚldzpѦeKњ/7HL-Ai3$sܼkKСƬܾws˭S#뙈9	Ԥ4dF{1c1g$h>TGJk;Bճ.xʭtZY<+;$&ov4#v0fӴOd5^#g/~zݳDrF6zC#u~T2Z4#ѐ7SfY+=sܮ	Et<@#7.DLqS^RD66%<]ԐF)tρ
	&%aX4$ [4Ҧ&4+kE8|i`xřl't7$]+!5ނQ	ϛR5ɅiR+-ShcB@"2k3eѰ&JYXsXV0I,+7pۦ%߲c,tՄ#Rs޾3Ψ%dHEeW?R?P,cKmDk7XFǼɡMwYtpyp|,kb!l38Ohٯ(;ʵRoFKaKbaLspXF<
C֒#n]<ύ+}tMΞ"pYKLCa!`X\F#Ftd7,{S~?Y&ԓeb~jyzJoY\*v_]>tX&t.wјo҈3-O26kk@15}Ғ&)a	Y4N~uMtJT;"عO|l2@@4oO5ncc6w
pk:ZX˥$`́T̈́R(e+pj3[RryiE9Lia
3R{Snۦ/K;QE9pI,fLSLhV@xP~Zߋ8gpN;l|*7$V\Kd1W[7ݸҷS
cV)ӟcsH?P"O9! 0{wOvbmH5Oj}{7YW;4jfv-1#h|h]o9qSky(ƒCj+͠WxCb\{׫x?_/LV܅hyorIIH2	S^WՓׯ>g+i8icmV|Ӽh&@},iCO
~it/qEU&Y5DiVt!/wm7:ʉg?=<
VҤ׍2;0+fUl	p:TeM(s"k[BP:>H	P|b'ZKa`$
2g`
#C#(Sx@/
gN?&ʂ!Mr~)oLwL'P(~3T.p"W!Z$)ͦ?7-!TF?=iä}҃*U?_+º~Vx 7]od~_E٪~Utk!t;;jSwN*_EfZc>yӗMM!V.#'2"{Z\XP'5zd5;CEYln~z(I4C@Q3@E_s `LdOt5XLD,iD8LӴa.zM-"N5Ao߰KW11L/]zePۗK\Y9K!2e޴7NZ\m`|Q1Koێyt4l4	Cޗȼe.Z|qUV#?[jZc51/Dlp{#fo"Rv6J'/.ʮm^<䯯~WMp+;D[.Ng_y,o+'?qTDɸ.ʳ2dRQOR~'tFUy~k
6zs@4on:禯P@!jxgXQ
&6csmD`9î@f4ldAqHЁ\#>io'.kU
z}-UB}
6܏?*ML@?1/g;SQ>zv!Rj*wKdXm
H"*qw&6ngLJ4!4v6Ph9E2^ !;s>wͮٻ{oUs[o9>`^v$ty)O>[ⱴ):31Z	Peo{g߄xO_~u_*TA7`ʢ>J
*mo#~9,\PcLuB[lM2^6]]s'l[,W\JM{ǣra0YG]_rv'=OϸͿDwcټ90:5F+4f8f#̦۪0ZlL];E˟X=aB@×8ҥbTEOc{gv-!"G&̕BS*vڜ)"b@&>]n"I<껎G޼D$5-0gKdGC6C:ĕy!"Ap^b/3fVj2ynH\3t4b9q;%[M>R
v3\9Sb偙`EוW)d߲CéN/uӋgOgK_K0l^ĝc-R赮ߕj/rswD
ۼFWH|z(qR?mo Mv`؁QzrG#`VKf]G*8hkhFLlTW1H8q`h
}Ed!;'^6zAZW
2fîMl4:+&d/wG-aItv~ּuaWpuUkOGBc;80B
B[F9+5MN920*
aGr<{mZtc'
aB5	+N@S?8ʷK,Ǽ7{7??za#jsS+εBTV릨yޛK][2fSMMtI.5,awDm gq<#}AgoX5_m	GIٙRiөZ#:C,ճPwUx%)CFx5X/{/tlP¤yof"g)y*O^{mstMMTzM͍U]7osAQ#Ofv22nYں8^oP"9ykvסnĶJ+j6MGM.96z˲7oR7uZTt7
i*}W68eIyp8M.
Mкx;i%S˽k-T_jumYZԗ2#ue\2	o	6v8k0j/~Rٚģ$29t	AEKk;(xΣfL:O;/(/Q5p>Y\)W:N'1!L:^.ӭAJQh<4Zm}	ɭl4虲an{cvp{+l
F[??ZtZ_<~B,	!D r.#U|0I9"LLQac@e"{qX$R2`l{vVU7|o)'"W	a%	y2p^
F;%dwVBI蝚I)vy0(,!WDÓ5_퐋9}
{؞[j%v.j_-RX`3B"dҦ.mE.\ihOȵXdn	-j}؃)$>fDwwo[؈Odd{\$7p9jbE>HO̧pps	5\;"4η0lx,Rt
Szcm\-`?g$L+xū|(_^ـ۽*>l`S,߼b鑯x͡QuHhY4⚋%xtvSg4N&T媻p-((ҀMg8E;;ƞDs
M]i:Еz.z>/=d{_{O^)&p;4/Sh4m=:ϩb zܵtBR1W(Us|}paDxaazxH8:IF	Jh:2xml:%S꩞꩞꩞꩞꩞꩞꩞꩞꩞꩞꩞꩞꩞꩞꩞꩞꩞꩞꩞uS``quot;L175" class="LineNr">175 </span>    51/push-ecx
<span id="L176" class="LineNr">176 </span>    68/push  <a href='057write.subx.html#L148'>_test-stream</a>/imm32
<span id="L177" class="LineNr">177 </span>    <span class="subxS2Comment"># . . call</span>
<span id="L178" class="LineNr">178 </span>    e8/call  <a href='076next-word.subx.html#L10'>next-word</a>/disp32
<span id="L179" class="LineNr">179 </span>    <span class="subxS2Comment"># . . discard args</span>
<span id="L180" class="LineNr">180 </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="L181" class="LineNr">181 </span>    <span class="subxComment"># check-ints-equal(slice-&gt;start - _test-stream-&gt;data, 2, msg)</span>
<span id="L182" class="LineNr">182 </span>    <span class="subxS1Comment"># . check-ints-equal(slice-&gt;start - _test-stream, 14, msg)</span>
<span id="L183" class="LineNr">183 </span>    <span class="subxS2Comment"># . . push args</span>
<span id="L184" class="LineNr">184 </span>    68/push  <span class="Constant">&quot;F - <a href='076next-word.subx.html#L149'>test-next-word-returns-whole-comment</a>: start&quot;</span>/imm32
<span id="L185" class="LineNr">185 </span>    68/push  0xe/imm32
<span id="L186" class="LineNr">186 </span>    <span class="subxS2Comment"># . . push slice-&gt;start - _test-stream</span>
<span id="L187" class="LineNr">187 </span>    8b/copy                         0/mod/indirect  1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy *ecx to eax</span>
<span id="L188" class="LineNr">188 </span>    81          5/subop/subtract    3/mod/direct    0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              <a href='057write.subx.html#L148'>_test-stream</a>/imm32 <span class="subxComment"># subtract from eax</span>
<span id="L189" class="LineNr">189 </span>    50/push-eax
<span id="L190" class="LineNr">190 </span>    <span class="subxS2Comment"># . . call</span>
<span id="L191" class="LineNr">191 </span>    e8/call  <a href='051test.subx.html#L24'>check-ints-equal</a>/disp32
<span id="L192" class="LineNr">192 </span>    <span class="subxS2Comment"># . . discard args</span>
<span id="L193" class="LineNr">193 </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="L194" class="LineNr">194 </span>    <span class="subxComment"># check-ints-equal(slice-&gt;end - _test-stream-&gt;data, 5, msg)</span>
<span id="L195" class="LineNr">195 </span>    <span class="subxS1Comment"># . check-ints-equal(slice-&gt;end - _test-stream, 17, msg)</span>
<span id="L196" class="LineNr">196 </span>    <span class="subxS2Comment"># . . push args</span>
<span id="L197" class="LineNr">197 </span>    68/push  <span class="Constant">&quot;F - <a href='076next-word.subx.html#L149'>test-next-word-returns-whole-comment</a>: end&quot;</span>/imm32
<span id="L198" class="LineNr">198 </span>    68/push  0x11/imm32
<span id="L199" class="LineNr">199 </span>    <span class="subxS2Comment"># . . push slice-&gt;end - _test-stream</span>
<span id="L200" class="LineNr">200 </span>    8b/copy                         1/mod/*+disp8   1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   4/disp8        <span class="Normal"> . </span>                <span class="subxComment"># copy *(ecx+4) to eax</span>
<span id="L201" class="LineNr">201 </span>    81          5/subop/subtract    3/mod/direct    0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              <a href='057write.subx.html#L148'>_test-stream</a>/imm32 <span class="subxComment"># subtract from eax</span>
<span id="L202" class="LineNr">202 </span>    50/push-eax
<span id="L203" class="LineNr">203 </span>    <span class="subxS2Comment"># . . call</span>
<span id="L204" class="LineNr">204 </span>    e8/call  <a href='051test.subx.html#L24'>check-ints-equal</a>/disp32
<span id="L205" class="LineNr">205 </span>    <span class="subxS2Comment"># . . discard args</span>
<span id="L206" class="LineNr">206 </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="L207" class="LineNr">207 </span>    <span class="subxS1Comment"># . epilogue</span>
<span id="L208" class="LineNr">208 </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="L209" class="LineNr">209 </span>    5d/pop-to-ebp
<span id="L210" class="LineNr">210 </span>    c3/return
<span id="L211" class="LineNr">211 </span>
<span id="L212" class="LineNr">212 </span><span class="subxTest">test-next-word-returns-empty-string-on-eof</span>:
<span id="L213" class="LineNr">213 </span>    <span class="subxS1Comment"># . prologue</span>
<span id="L214" class="LineNr">214 </span>    55/push-ebp
<span id="L215" class="LineNr">215 </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="L216" class="LineNr">216 </span>    <span class="subxComment"># setup</span>
<span id="L217" class="LineNr">217 </span>    <span class="subxS1Comment"># . clear-stream(_test-stream)</span>
<span id="L218" class="LineNr">218 </span>    <span class="subxS2Comment"># . . push args</span>
<span id="L219" class="LineNr">219 </span>    68/push  <a href='057write.subx.html#L148'>_test-stream</a>/imm32
<span id="L220" class="LineNr">220 </span>    <span class="subxS2Comment"># . . call</span>
<span id="L221" class="LineNr">221 </span>    e8/call  <a href='055stream.subx.html#L17'>clear-stream</a>/disp32
<span id="L222" class="LineNr">222 </span>    <span class="subxS2Comment"># . . discard args</span>
<span id="L223" class="LineNr">223 </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="L224" class="LineNr">224 </span>    <span class="subxComment"># var slice/ecx: slice</span>
<span id="L225" class="LineNr">225 </span>    68/push  0/imm32/end
<span id="L226" class="LineNr">226 </span>    68/push  0/imm32/start
<span id="L227" class="LineNr">227 </span>    89/copy                         3/mod/direct    1/rm32/ecx   <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 ecx</span>
<span id="L228" class="LineNr">228 </span>    <span class="subxComment"># write nothing to _test-stream</span>
<span id="L229" class="LineNr">229 </span>    <span class="subxComment"># next-word(_test-stream, slice)</span>
<span id="L230" class="LineNr">230 </span>    <span class="subxS2Comment"># . . push args</span>
<span id="L231" class="LineNr">231 </span>    51/push-ecx
<span id="L232" class="LineNr">232 </span>    68/push  <a href='057write.subx.html#L148'>_test-stream</a>/imm32
<span id="L233" class="LineNr">233 </span>    <span class="subxS2Comment"># . . call</span>
<span id="L234" class="LineNr">234 </span>    e8/call  <a href='076next-word.subx.html#L10'>next-word</a>/disp32
<span id="L235" class="LineNr">235 </span>    <span class="subxS2Comment"># . . discard args</span>
<span id="L236" class="LineNr">236 </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="L237" class="LineNr">237 </span>    <span class="subxComment"># check-ints-equal(slice-&gt;end - slice-&gt;start, 0, msg)</span>
<span id="L238" class="LineNr">238 </span>    <span class="subxS2Comment"># . . push args</span>
<span id="L239" class="LineNr">239 </span>    68/push  <span class="Constant">&quot;F - test-next-word-returns-empty-string-on-eof&quot;</span>/imm32
<span id="L240" class="LineNr">240 </span>    68/push  0/imm32
<span id="L241" class="LineNr">241 </span>    <span class="subxS2Comment"># . . push slice-&gt;end - slice-&gt;start</span>
<span id="L242" class="LineNr">242 </span>    8b/copy                         1/mod/*+disp8   1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   4/disp8        <span class="Normal"> . </span>                <span class="subxComment"># copy *(ecx+4) to eax</span>
<span id="L243" class="LineNr">243 </span>    2b/subtract                     0/mod/indirect  1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># subtract *ecx from eax</span>
<span id="L244" class="LineNr">244 </span>    50/push-eax
<span id="L245" class="LineNr">245 </span>    <span class="subxS2Comment"># . . call</span>
<span id="L246" class="LineNr">246 </span>    e8/call  <a href='051test.subx.html#L24'>check-ints-equal</a>/disp32
<span id="L247" class="LineNr">247 </span>    <span class="subxS2Comment"># . . discard args</span>
<span id="L248" class="LineNr">248 </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="L249" class="LineNr">249 </span>    <span class="subxS1Comment"># . epilogue</span>
<span id="L250" class="LineNr">250 </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="L251" class="LineNr">251 </span>    5d/pop-to-ebp
<span id="L252" class="LineNr">252 </span>    c3/return
</pre>
</body>
</html>
<!-- vim: set foldmethod=manual : -->