about summary refs log tree commit diff stats
path: root/js/magic-bird/imgs/extracted-1688-map/MapParts/hills/137.png
blob: 7a4c33d1055090a0fce8fa74814cb65652f3a0f8 (plain)
ofshex dumpascii
0000 89 50 4e 47 0d 0a 1a 0a 00 00 00 0d 49 48 44 52 00 00 00 52 00 00 00 1d 08 06 00 00 00 39 22 3b .PNG........IHDR...R.........9";
0020 22 00 00 04 da 49 44 41 54 78 da ed 99 7f 48 94 77 1c c7 cf e5 b0 5f 64 85 2e 4c 24 32 34 2c 0a "....IDATx....H.w....._d..L$24,.
0040 8b 62 63 8b 85 52 0c 26 4a c3 11 86 52 24 c5 98 34 1a 11 2c 62 23 29 a4 50 8e c4 38 92 46 71 5c .bc..R.&J...R$..4..,b#).P..8.Fq\
0060 ec 50 92 63 72 47 31 29 12 45 28 88 a2 a2 d1 b0 31 47 10 83 a2 45 ec 2a 9b ab bd 3f f0 3a f8 72 .P.crG1).E(.....1G...E.*...?.:.r
0080 f8 c7 e5 f0 e2 b9 dd 07 5e dc 73 8f cf f3 7c ef fb 7e 3e bf be 5f 7d be ac 65 2d 6b 59 9b b2 d5 ........^.s...|..~>.._}..e-kY...
00a0 8a 0b a2 35 0d 63 55 88 31 71 57 6c c9 24 11 4b c4 0e 71 5c 9c 12 7b a7 71 ac 4a 71 58 9c 10 17 ...5.cU.1qWl.$.K..q\..{.q.JqX...
00c0 c5 57 62 56 26 88 38 57 7c 29 1a 98 e4 3e f1 fb 34 8e 67 2f eb 9c 78 4f 7c 21 5a c4 4a 2f 0b b8 .WbV&.8W|)...>..4.g/..xO|!Z.J/..
00e0 88 cf 4f c4 35 84 4c 84 5d 2a 42 96 8b 66 3c ab 96 fb 96 8a 8f 44 b5 58 ec 5c 9b 23 f2 39 0e 70 ..O.5.L.]*B..f<......D.X.\.#.9.p
0100 8f d9 0a 22 a1 ca ab 22 ce 14 e7 99 b8 85 d6 a0 58 c5 df 8a c5 01 47 2c 3f a1 6e 02 f4 e1 4d e6 ..."..."........X.....G,?.n...M.
0120 c1 87 c4 51 84 b0 50 8d 88 db e2 96 b8 27 ae 8b 6e b1 86 fb bb 78 e6 59 71 86 e3 6f 45 bd c8 e5 ...Q..P......'..n....x.Yq..oE...
0140 bb 45 43 a3 d7 c4 34 0f 9c 81 57 fd 24 0a 09 b7 62 8e cd f6 8b 5f 99 78 27 e2 35 e3 49 16 8e cb .EC...4...W.$...b...._.x'.5.I...
0160 c5 6c 3e b7 23 f2 4b 11 17 7f 8a bf 44 bf b8 23 6e 30 9e 89 ba 9b e7 ef e6 65 fa 1c 21 3d 5b 7c .l>.#.K.....D..#n0.......e..!=[|
0180 de 17 1d 22 4f 7c 4a 58 9a 2d 13 27 c5 55 d1 24 16 a4 f0 ac d5 e2 19 1e 79 0d 41 4d d8 09 f1 9b ..."O|JX.-.'.U.$........y.AM....
01a0 d8 2c ea c4 06 b1 90 74 e0 5a 19 bf c3 73 56 24 e6 39 df fd 78 4f 8c 10 ab 71 42 3e 15 db 24 9e .,.....t.Z...sV$.9..xO...qB>..$.
01c0 88 47 78 60 14 ec 99 4f c5 03 5a 9e 28 de be 3a 53 da 9e 39 4e 7e 32 5b 27 36 26 15 8a 37 b1 55 .Gx`...O..Z.(..:S..9N~2['6&..7.U
01e0 bc 84 11 d2 45 08 ec f8 26 0c f3 f7 5b e4 e6 d3 a2 5d 04 89 80 6d e9 f4 ca 32 c2 70 33 3d d8 ac ....E...&...[....]...m...2.p3=..
0200 49 04 2a 24 7f e5 42 4e 1a 7e d7 4a bc cd f2 62 58 f4 42 84 f3 31 8a 8d fd 7d 54 3c e4 be fb e2 I.*$..BN.~.J...bX.B..1...}T<....
0220 b9 18 c7 7b db c4 7a 8a 5d 05 6d d9 3a 8e 17 13 49 4b 48 3f f6 f9 ee 54 7f f0 4e de f2 08 bd 58 ...{..z.].m.:...IKH?...T..N....X
0240 13 83 f9 68 33 4a f1 8e 8a 34 7b b8 e5 d7 c7 e2 32 1e 66 1e 37 84 88 61 3a 05 f3 ba 63 f4 93 dd ...h3J...4{.....2.f.7..a:...c...
0260 78 a3 9f f9 58 81 fa 07 12 b9 d5 8e 5f 39 e7 9e 20 7a e2 fc 2b c6 ab 4b 8a 2e cf db 2e 96 99 01 x...X......._9...z..+..K........
0280 04 1c 42 a4 08 9f 3d ac 9e ba 11 e0 1c 1d 41 17 22 77 52 fc a2 4e ab 74 91 1c 3b e1 08 fd 02 0f ..B...=.......A."wR..N.t..;.....
02a0 7e 4d 51 1b c3 9b 8d 2b 8c 3b cc b8 67 79 a6 27 cc d2 c8 1e 42 39 84 58 41 c2 78 90 ea 7f 15 e1 ~MQ....+.;..gy.'....B9.XA.x.....
02c0 da e8 45 13 7d 69 80 73 6d f4 a6 1d dc 1f c0 73 8f 23 c6 5d 44 fc 9b e3 2b 74 08 3f d2 e4 1f 05 ..E.}i.sm......s.#.]D...+t.?....
02e0 3f 2f a0 9f e7 1c 61 05 95 b2 bd 4d d7 6e c2 3b 5e 33 c9 30 1e d6 8b 90 d7 99 78 84 89 35 31 c9 ?/....a....M.n.;^3.0......x..51.
0300 30 05 a7 0b 82 5c d3 8e 28 d6 b4 6f 15 6b 11 7f 00 6f 6d e5 fb 3e aa 7f 72 81 ca 27 c7 16 4d 65 0....\..(..o.k...om..>..r..'..Me
0320 2d 3f ef 2d 0a 59 e3 08 39 e6 14 96 61 3c af 83 b0 35 51 7f a6 82 8f 90 37 fb 10 a7 d3 c9 9d 5b -?.-.Y..9...a<...5Q.....7......[
0340 29 26 39 be ff 89 e5 38 1e 60 de 73 89 9c d6 8f 40 03 78 9d 1f 8f 8b 40 00 c1 5a 59 a6 7e 23 be )&9....8.`.s....@.x....@..ZY.~#.
0360 43 f0 20 5b 7a 21 ae 0b e1 a1 9b 32 59 d8 16 96 75 d6 8a 7d 46 45 3e 89 18 7d 84 f3 65 8a cc 19 C..[z!.....2Y...u..}FE>..}..e...
0380 44 0c b1 dc fc 01 01 6b 78 46 23 d5 b7 8a a5 e4 d7 34 ee 6d 78 ea 76 96 94 45 99 26 62 31 61 3c D......kxF#......4.mx.v..E.&b1a<
03a0 4e d2 4f ac c9 8f e1 59 a7 e9 17 c7 58 32 c6 08 f5 f3 78 da 4d ae ab e6 45 6c 48 21 9f 15 d0 3b N.O....Y....X2....x.M...ElH!...;
03c0 16 4c b5 7f 2c 4f f1 ba 77 d2 b8 0d d7 40 c8 b6 e2 85 83 f4 91 f7 c9 79 3b 29 06 41 56 32 71 da .L..,O..w....@.........y;).AV2q.
03e0 93 20 6d 52 3d 8b 8b 7c 36 42 12 6d 50 1d 7d 71 e1 74 b5 17 c9 85 a5 9e 86 bc 94 b7 b3 90 4a 77 ..mR=..|6B.mP.}q.t............Jw
0400 80 95 41 72 15 7b 93 1f f6 21 93 29 21 9c 0e e3 71 87 10 b0 9b 5e ad cf 09 bd 5e c2 35 4a 9e bc ..Ar.{...!.)!...q....^....^.5J..
0420 80 98 8d e4 bf 1e c2 ba 87 6b 1a d9 71 72 3d bc 8c 0d 92 b4 e5 c2 5c b6 b4 a2 b4 12 e5 54 b9 ef .........k..qr=.......\......T..
0440 49 f4 f6 c3 e7 3b 22 7e 4c 1e 4a 16 73 06 2f c0 b5 4a 2a 6e 8c 49 87 f1 b2 44 43 3c 4a 43 3c c1 I....;"~L.J.s./..J*n.I...DC<JC<.
0460 e6 44 8c 31 7b d9 1a 6b c6 53 6f e0 79 b5 8c 5d e5 e4 bf 7e f6 32 97 78 65 53 c2 f5 e4 3c 26 f2 .D.1{..k.So.y..]...~.2.xeS...<&.
0480 39 4b c8 a5 34 b2 71 0a c2 07 a4 86 f9 14 81 5f 9c e5 d9 10 85 63 dc 59 9a c5 59 ad 8c b2 f7 18 9K..4.q........_.....c.Y..Y.....
04a0 47 4c 77 9b 6c 1b a1 1c 9e e4 25 16 e0 00 c5 5e 2e 14 79 4e ae ab a6 6f f3 93 16 96 73 be 92 d4 GLw.l.....%....^..yN...o....s...
04c0 31 c0 06 ef 1f 88 db 4e b5 3e c2 f7 07 bc 10 cb 73 6b a8 ae 75 49 f9 3a 23 fe c1 95 aa 6d 44 d4 1......N.>......sk..uI.:#....mD.
04e0 99 93 84 ba 15 8d 83 84 e9 1c ce cf 25 3c 5b 92 42 b4 14 b2 96 b5 ff 6e 25 e4 ca 8c b3 7f 01 7f ............%<[.B......n%.......
0500 5c 58 8b 01 3c 95 26 00 00 00 00 49 45 4e 44 ae 42 60 82 \X..<.&....IEND.B`.
lt;vc@akkartik.com> 2020-10-05 11:00:05 -0700 6958' href='/akkartik/mu/commit/html/115write-byte.subx.html?h=hlt&id=d3a9db3aff54ea485f409eaaef3d8f56ad77f0dc'>d3a9db3a ^
9a777801 ^
83822d63 ^















ce2c1efc ^
83822d63 ^















ec73ed12 ^
83822d63 ^
52daf072 ^
83822d63 ^







fa786ea7 ^
7e7a8a6e ^
e99038ea ^
8aeb85f0 ^
999c529c ^

e99038ea ^
999c529c ^

9a777801 ^
999c529c ^












2104d1a7 ^
999c529c ^









9a777801 ^
999c529c ^
6070c23e ^
999c529c ^



ec73ed12 ^
999c529c ^






ec73ed12 ^
999c529c ^




















2104d1a7 ^
999c529c ^













ec73ed12 ^
999c529c ^















3d1c4216 ^
999c529c ^
ec73ed12 ^
999c529c ^

8aeb85f0 ^
999c529c ^
8aeb85f0 ^
52daf072 ^
ec73ed12 ^
52daf072 ^
33352536 ^
52daf072 ^


68df24fa ^
52daf072 ^
ec73ed12 ^
52daf072 ^
33352536 ^
52daf072 ^

68df24fa ^
52daf072 ^
ec73ed12 ^
52daf072 ^
33352536 ^
52daf072 ^



3d1c4216 ^
52daf072 ^
ec73ed12 ^
52daf072 ^
33352536 ^
52daf072 ^







3d1c4216 ^
52daf072 ^
ec73ed12 ^
52daf072 ^
33352536 ^
8aeb85f0 ^
52daf072 ^
8aeb85f0 ^
999c529c ^
ec73ed12 ^
999c529c ^


8aeb85f0 ^
999c529c ^

8aeb85f0 ^
999c529c ^
ec73ed12 ^
999c529c ^




68df24fa ^
999c529c ^
ec73ed12 ^
999c529c ^



68df24fa ^
999c529c ^
ec73ed12 ^
999c529c ^





3d1c4216 ^
999c529c ^
ec73ed12 ^
999c529c ^







2104d1a7 ^
999c529c ^









9a777801 ^
999c529c ^
6070c23e ^
999c529c ^






















ec73ed12 ^
999c529c ^



86351aaf ^







3d1c4216 ^
86351aaf ^
ec73ed12 ^
86351aaf ^




3d1c4216 ^
86351aaf ^
ec73ed12 ^
86351aaf ^





3d1c4216 ^
86351aaf ^
ec73ed12 ^
86351aaf ^












d3a9db3a ^

86351aaf ^
999c529c ^



60338448 ^



























3dad9426 ^






















999c529c ^


60338448 ^




d3a9db3a ^






















86351aaf ^
3dad9426 ^






d3a9db3a ^





















































264aba4d ^

d3a9db3a ^







264aba4d ^























83822d63 ^



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541



                                                                                          
                                      

                                                

                                                                                                      
                                                 

                       

                                                                                           
                    
                                     
                                
                                                             
           
                             
                                  
                                      
                                
                             
                                                                           
                                  
                                                              















                                                                                 
                                                  















                                                                              
                                                                                                                                         
                         
                                                                                                                                     







                                                                                                                                                    
                                                                                                                                   
                                                                                                                     
                                                                                                        
                                                                                          

                                                                                                           
                                                    

                                                                                                    
                                                                                      












                                                                                                                                                                                                                             
                                                                                                                                                                   









                                                                                                                                                                                                                                                                                                                                                                                             
                                                                                                                                            
                                                                                                                                                                                                                                                                                                                                                                            
                                                                                                  



                                                                                               
                                                                                                            






                                                                                                                                                                                                                                                                                                                                                                                        
                                                                                                               




















                                                                                                                                                                                                                                                                                                                                                                                                
                                                                                                                                             













                                                                                                                                                                                                                                                                                                                                                                                                                   
                                                                                                                     















                                                                                                                                                                                                                                                                                                                                                                                              
                                                                                                               
                                                                                           
                                                                                                                

                                                                                                                                                                                                                                                                                                                                                                                         
                                                                                                                                  
                                                                                                
                                                                                            
                                                                                           
                                                                                                                
                                                                                                   
                                                                                                                                                                                                                                                                                                                                                                                         


                                                                                                                              
                                                                                                                          
                                                                                           
                                                                                                                           
                                                                                                   
                                                                                                                                                                                                                                                                                                                                                                                         

                                                                                                           
                                                                                                                          
                                                                                           
                                                                                                             
                                                                                                   
                                                                                                                                                                                                                                                                                                                                                                                         



                                                                                                                                          
                                                                                                               
                                                                                           
                                                                                                                             
                                                                                                   
                                                                                                                                                                                                                                                                                                                                                                                         







                                                                                                                                                   
                                                                                                               
                                                                                           
                                                                                                                
                                                                                                   
                                                                                                                                                                                                                                                                                                                                                                                         
                                                                                                                                  
                                                                                                
                                                                                            
                                                                                           
                                                                                                                


                                                                                                                                                                                                                                                                                                                                                                                         
                                                                                                                                               

                                                                                                             
                                                                                            
                                                                                           
                                                                                                        




                                                                                                                                                                                                                                                                                                                                                                                         
                                                                                                                          
                                                                                           
                                                                                                                           



                                                                                                                                                                                                                                                                                                                                                                                         
                                                                                                                          
                                                                                           
                                                                                                             





                                                                                                                                                                                                                                                                                                                                                                                         
                                                                                                               
                                                                                           
                                                                                                                             







                                                                                                                                                                                                                                                                                                                                                                                         
                                                                                                                                                          









                                                                                                                                                                                                                                                                                                                                                                                               
                                                                                                                        
                                                                                                                                                                                                                                                                                                                                                                            
                                                                                        






















                                                                                                                                                                                                                                                                                                                                                                                                                         
                                                                                                          



                                                                                                                                                                                                                                                                                                                                                                                         







                                                                                                                                          
                                                                                                               
                                                                                           
                                                                                                                




                                                                                                                                                                                                                                                                                                                                                                                         
                                                                                                               
                                                                                           
                                                                                                                    





                                                                                                                                                                                                                                                                                                                                                                                         
                                                                                                               
                                                                                           
                                                                                                                             












                                                                                                                                                                                                                                                                                                                                                                                         

                                                                                                                 
                                                                                             



                                                                                             



























                                                                                             






















                                                                                             


                                                                                             




                                                                                             






















                                                                                             
                                                                                             






                                                                                             





















































                                                                                                                                                              

                                                                                                                







                                                                                             























                                                                                                                                                             



                                     
<!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 - 115write-byte.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,no_foldcolumn,expand_tabs,line_ids,prevent_copy=">
<meta name="colorscheme" content="minimal-light">
<style type="text/css">
<!--
pre { 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; }
.subxFunction { color: #af5f00; text-decoration: underline; }
.LineNr { }
.subxTest { color: #5f8700; }
.subxS1Comment { color: #0000af; }
.subxMinorFunction { color: #875f5f; }
.SpecialChar { color: #d70000; }
.Constant { color: #008787; }
.Normal { color: #000000; background-color: #c6c6c6; padding-bottom: 1px; }
.subxS2Comment { color: #8a8a8a; }
.subxH1Comment { color: #005faf; text-decoration: underline; }
-->
</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/115write-byte.subx'>https://github.com/akkartik/mu/blob/master/115write-byte.subx</a>
<pre id='vimCodeElement'>
<span id="L1" class="LineNr">  1 </span><span class="subxComment"># write-byte-buffered: add a single byte to a buffered-file.</span>
<span id="L2" class="LineNr">  2 </span><span class="subxComment"># flush: write out any buffered writes to disk.</span>
<span id="L3" class="LineNr">  3 </span><span class="subxComment">#</span>
<span id="L4" class="LineNr">  4 </span><span class="subxComment"># TODO: Come up with a way to signal failure to write to disk. This is hard</span>
<span id="L5" class="LineNr">  5 </span><span class="subxComment"># since the failure may impact previous calls that were buffered.</span>
<span id="L6" class="LineNr">  6 </span>
<span id="L7" class="LineNr">  7 </span>== data
<span id="L8" class="LineNr">  8 </span>
<span id="L9" class="LineNr">  9 </span><span class="subxComment"># The buffered file for standard output.</span>
<span id="L10" class="LineNr"> 10 </span><span class="SpecialChar">Stdout</span>:  <span class="subxComment"># buffered-file</span>
<span id="L11" class="LineNr"> 11 </span>    <span class="subxComment"># file descriptor or (addr stream byte)</span>
<span id="L12" class="LineNr"> 12 </span>    1/imm32  <span class="subxComment"># standard output</span>
<span id="L13" class="LineNr"> 13 </span><span class="Constant">$Stdout-&gt;buffer</span>:
<span id="L14" class="LineNr"> 14 </span>    <span class="subxComment"># inlined fields for a stream</span>
<span id="L15" class="LineNr"> 15 </span>    <span class="subxComment">#   current write index</span>
<span id="L16" class="LineNr"> 16 </span>    0/imm32
<span id="L17" class="LineNr"> 17 </span>    <span class="subxComment">#   current read index</span>
<span id="L18" class="LineNr"> 18 </span>    0/imm32
<span id="L19" class="LineNr"> 19 </span>    <span class="subxComment">#   size</span>
<span id="L20" class="LineNr"> 20 </span>    8/imm32
<span id="L21" class="LineNr"> 21 </span>    <span class="subxComment">#   data</span>
<span id="L22" class="LineNr"> 22 </span>    00 00 00 00 00 00 00 00  <span class="subxComment"># 8 bytes</span>
<span id="L23" class="LineNr"> 23 </span>
<span id="L24" class="LineNr"> 24 </span><span class="subxComment"># TODO: 8 bytes is too small. We'll need to grow the buffer for efficiency. But</span>
<span id="L25" class="LineNr"> 25 </span><span class="subxComment"># I don't want to type in 1024 bytes here.</span>
<span id="L26" class="LineNr"> 26 </span>
<span id="L27" class="LineNr"> 27 </span>== code
<span id="L28" class="LineNr"> 28 </span><span class="subxComment">#   instruction                     effective address                                                   register    displacement    immediate</span>
<span id="L29" class="LineNr"> 29 </span><span class="subxS1Comment"># . op          subop               mod             rm32          base        index         scale       r32</span>
<span id="L30" class="LineNr"> 30 </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="L31" class="LineNr"> 31 </span>
<span id="L32" class="LineNr"> 32 </span><span class="subxComment"># Write lower byte of 'n' to 'f'.</span>
<span id="L33" class="LineNr"> 33 </span><span class="subxFunction">write-byte-buffered</span>:  <span class="subxComment"># f: (addr buffered-file), n: int</span>
<span id="L34" class="LineNr"> 34 </span>    <span class="subxS1Comment"># . prologue</span>
<span id="L35" class="LineNr"> 35 </span>    55/push-ebp
<span id="L36" class="LineNr"> 36 </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="L37" class="LineNr"> 37 </span>    <span class="subxS1Comment"># . save registers</span>
<span id="L38" class="LineNr"> 38 </span>    51/push-ecx
<span id="L39" class="LineNr"> 39 </span>    57/push-edi
<span id="L40" class="LineNr"> 40 </span>    <span class="subxComment"># edi = f</span>
<span id="L41" class="LineNr"> 41 </span>    8b/copy                         1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          7/r32/edi   8/disp8        <span class="Normal"> . </span>                <span class="subxComment"># copy *(ebp+8) to edi</span>
<span id="L42" class="LineNr"> 42 </span>    <span class="subxComment"># ecx = f-&gt;write</span>
<span id="L43" class="LineNr"> 43 </span>    8b/copy                         1/mod/*+disp8   7/rm32/edi   <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 *(edi+4) to ecx</span>
<span id="L44" class="LineNr"> 44 </span>    <span class="subxComment"># if (f-&gt;write &gt;= f-&gt;size) flush and clear f's stream</span>
<span id="L45" class="LineNr"> 45 </span>    3b/compare                      1/mod/*+disp8   7/rm32/edi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx   0xc/disp8      <span class="Normal"> . </span>                <span class="subxComment"># compare ecx with *(edi+12)</span>
<span id="L46" class="LineNr"> 46 </span>    7c/jump-if-&lt;  $write-byte-buffered:to-stream/disp8
<span id="L47" class="LineNr"> 47 </span>    <span class="subxS1Comment"># . flush(f)</span>
<span id="L48" class="LineNr"> 48 </span>    <span class="subxS2Comment"># . . push args</span>
<span id="L49" class="LineNr"> 49 </span>    57/push-edi
<span id="L50" class="LineNr"> 50 </span>    <span class="subxS2Comment"># . . call</span>
<span id="L51" class="LineNr"> 51 </span>    e8/call  <a href='115write-byte.subx.html#L81'>flush</a>/disp32
<span id="L52" class="LineNr"> 52 </span>    <span class="subxS2Comment"># . . discard args</span>
<span id="L53" class="LineNr"> 53 </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="L54" class="LineNr"> 54 </span>    <span class="subxS1Comment"># . clear-stream(stream = f+4)</span>
<span id="L55" class="LineNr"> 55 </span>    <span class="subxS2Comment"># . . push args</span>
<span id="L56" class="LineNr"> 56 </span>    8d/copy-address                 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 edi+4 to eax</span>
<span id="L57" class="LineNr"> 57 </span>    50/push-eax
<span id="L58" class="LineNr"> 58 </span>    <span class="subxS2Comment"># . . call</span>
<span id="L59" class="LineNr"> 59 </span>    e8/call  <a href='106stream.subx.html#L17'>clear-stream</a>/disp32
<span id="L60" class="LineNr"> 60 </span>    <span class="subxS2Comment"># . . discard args</span>
<span id="L61" class="LineNr"> 61 </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="L62" class="LineNr"> 62 </span>    <span class="subxS1Comment"># . f-&gt;write must now be 0; update its cache at ecx</span>
<span id="L63" class="LineNr"> 63 </span>    31/xor                          3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># clear ecx</span>
<span id="L64" class="LineNr"> 64 </span><span class="Constant">$write-byte-buffered:to-stream</span>:
<span id="L65" class="LineNr"> 65 </span>    <span class="subxComment"># write to stream</span>
<span id="L66" class="LineNr"> 66 </span>    <span class="subxComment"># f-&gt;data[f-&gt;write] = LSB(n)</span>
<span id="L67" class="LineNr"> 67 </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="L68" class="LineNr"> 68 </span>    8a/copy-byte                    1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/AL    0xc/disp8      <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *(ebp+12) to AL</span>
<span id="L69" class="LineNr"> 69 </span>    88/copy-byte                    1/mod/*+disp8   4/rm32/sib    7/base/edi  1/index/ecx  <span class="Normal"> . </span>          0/r32/AL    0x10/disp8     <span class="Normal"> . </span>                <span class="subxComment"># copy AL to *(edi+ecx+16)</span>
<span id="L70" class="LineNr"> 70 </span>    <span class="subxComment"># ++f-&gt;write</span>
<span id="L71" class="LineNr"> 71 </span>    ff          0/subop/increment   1/mod/*+disp8   7/rm32/edi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          4/disp8        <span class="Normal"> . </span>                <span class="subxComment"># increment *(edi+4)</span>
<span id="L72" class="LineNr"> 72 </span><span class="Constant">$write-byte-buffered:end</span>:
<span id="L73" class="LineNr"> 73 </span>    <span class="subxS1Comment"># . restore registers</span>
<span id="L74" class="LineNr"> 74 </span>    5f/pop-to-edi
<span id="L75" class="LineNr"> 75 </span>    59/pop-to-ecx
<span id="L76" class="LineNr"> 76 </span>    <span class="subxS1Comment"># . epilogue</span>
<span id="L77" class="LineNr"> 77 </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="L78" class="LineNr"> 78 </span>    5d/pop-to-ebp
<span id="L79" class="LineNr"> 79 </span>    c3/return
<span id="L80" class="LineNr"> 80 </span>
<span id="L81" class="LineNr"> 81 </span><span class="subxFunction">flush</span>:  <span class="subxComment"># f: (addr buffered-file)</span>
<span id="L82" class="LineNr"> 82 </span>    <span class="subxS1Comment"># . prologue</span>
<span id="L83" class="LineNr"> 83 </span>    55/push-ebp
<span id="L84" class="LineNr"> 84 </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="L85" class="LineNr"> 85 </span>    <span class="subxS1Comment"># . save registers</span>
<span id="L86" class="LineNr"> 86 </span>    50/push-eax
<span id="L87" class="LineNr"> 87 </span>    51/push-ecx
<span id="L88" class="LineNr"> 88 </span>    <span class="subxComment"># eax = f</span>
<span id="L89" class="LineNr"> 89 </span>    8b/copy                         1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   8/disp8        <span class="Normal"> . </span>                <span class="subxComment"># copy *(ebp+8) to eax</span>
<span id="L90" class="LineNr"> 90 </span>    <span class="subxComment"># write-stream(f-&gt;fd, data = f+4)</span>
<span id="L91" class="LineNr"> 91 </span>      <span class="subxS2Comment"># . . push args</span>
<span id="L92" class="LineNr"> 92 </span>    8d/copy-address                 1/mod/*+disp8   0/rm32/eax   <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 eax+4 to ecx</span>
<span id="L93" class="LineNr"> 93 </span>    51/push-ecx
<span id="L94" class="LineNr"> 94 </span>    ff          6/subop/push        0/mod/indirect  0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># push *eax</span>
<span id="L95" class="LineNr"> 95 </span>      <span class="subxS2Comment"># . . call</span>
<span id="L96" class="LineNr"> 96 </span>    e8/call  <a href='113write-stream.subx.html#L17'>write-stream</a>/disp32
<span id="L97" class="LineNr"> 97 </span>      <span class="subxS2Comment"># . . discard args</span>
<span id="L98" class="LineNr"> 98 </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="L99" class="LineNr"> 99 </span><span class="Constant">$flush:end</span>:
<span id="L100" class="LineNr">100 </span>    <span class="subxS1Comment"># . restore registers</span>
<span id="L101" class="LineNr">101 </span>    59/pop-to-ecx
<span id="L102" class="LineNr">102 </span>    58/pop-to-eax
<span id="L103" class="LineNr">103 </span>    <span class="subxS1Comment"># . epilogue</span>
<span id="L104" class="LineNr">104 </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="L105" class="LineNr">105 </span>    5d/pop-to-ebp
<span id="L106" class="LineNr">106 </span>    c3/return
<span id="L107" class="LineNr">107 </span>
<span id="L108" class="LineNr">108 </span><span class="subxTest">test-write-byte-buffered-single</span>:
<span id="L109" class="LineNr">109 </span>    <span class="subxH1Comment"># - check that write-byte-buffered writes to first byte of 'file'</span>
<span id="L110" class="LineNr">110 </span>    <span class="subxComment"># setup</span>
<span id="L111" class="LineNr">111 </span>    <span class="subxS1Comment"># . clear-stream(_test-stream)</span>
<span id="L112" class="LineNr">112 </span>    <span class="subxS2Comment"># . . push args</span>
<span id="L113" class="LineNr">113 </span>    68/push  <a href='108write.subx.html#L151'>_test-stream</a>/imm32
<span id="L114" class="LineNr">114 </span>    <span class="subxS2Comment"># . . call</span>
<span id="L115" class="LineNr">115 </span>    e8/call  <a href='106stream.subx.html#L17'>clear-stream</a>/disp32
<span id="L116" class="LineNr">116 </span>    <span class="subxS2Comment"># . . discard args</span>
<span id="L117" class="LineNr">117 </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="L118" class="LineNr">118 </span>    <span class="subxS1Comment"># . clear-stream($_test-buffered-file-&gt;buffer)</span>
<span id="L119" class="LineNr">119 </span>    <span class="subxS2Comment"># . . push args</span>
<span id="L120" class="LineNr">120 </span>    68/push  $_test-buffered-file-&gt;buffer/imm32
<span id="L121" class="LineNr">121 </span>    <span class="subxS2Comment"># . . call</span>
<span id="L122" class="LineNr">122 </span>    e8/call  <a href='106stream.subx.html#L17'>clear-stream</a>/disp32
<span id="L123" class="LineNr">123 </span>    <span class="subxS2Comment"># . . discard args</span>
<span id="L124" class="LineNr">124 </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="L125" class="LineNr">125 </span>    <span class="subxComment"># write-byte-buffered(_test-buffered-file, 'A')</span>
<span id="L126" class="LineNr">126 </span>    <span class="subxS2Comment"># . . push args</span>
<span id="L127" class="LineNr">127 </span>    68/push  0x41/imm32
<span id="L128" class="LineNr">128 </span>    68/push  <a href='112read-byte.subx.html#L318'>_test-buffered-file</a>/imm32
<span id="L129" class="LineNr">129 </span>    <span class="subxS2Comment"># . . call</span>
<span id="L130" class="LineNr">130 </span>    e8/call  <a href='115write-byte.subx.html#L33'>write-byte-buffered</a>/disp32
<span id="L131" class="LineNr">131 </span>    <span class="subxS2Comment"># . . discard args</span>
<span id="L132" class="LineNr">132 </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="L133" class="LineNr">133 </span>    <span class="subxComment"># flush(_test-buffered-file)</span>
<span id="L134" class="LineNr">134 </span>    <span class="subxS2Comment"># . . push args</span>
<span id="L135" class="LineNr">135 </span>    68/push  <a href='112read-byte.subx.html#L318'>_test-buffered-file</a>/imm32
<span id="L136" class="LineNr">136 </span>    <span class="subxS2Comment"># . . call</span>
<span id="L137" class="LineNr">137 </span>    e8/call  <a href='115write-byte.subx.html#L81'>flush</a>/disp32
<span id="L138" class="LineNr">138 </span>    <span class="subxS2Comment"># . . discard args</span>
<span id="L139" class="LineNr">139 </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="L140" class="LineNr">140 </span>    <span class="subxComment"># check-stream-equal(_test-stream, &quot;A&quot;, msg)</span>
<span id="L141" class="LineNr">141 </span>    <span class="subxS2Comment"># . . push args</span>
<span id="L142" class="LineNr">142 </span>    68/push  <span class="Constant">&quot;F - test-write-byte-buffered-single&quot;</span>/imm32
<span id="L143" class="LineNr">143 </span>    68/push  <span class="Constant">&quot;A&quot;</span>/imm32
<span id="L144" class="LineNr">144 </span>    68/push  <a href='108write.subx.html#L151'>_test-stream</a>/imm32
<span id="L145" class="LineNr">145 </span>    <span class="subxS2Comment"># . . call</span>
<span id="L146" class="LineNr">146 </span>    e8/call  <a href='109stream-equal.subx.html#L194'>check-stream-equal</a>/disp32
<span id="L147" class="LineNr">147 </span>    <span class="subxS2Comment"># . . discard args</span>
<span id="L148" class="LineNr">148 </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="L149" class="LineNr">149 </span>    <span class="subxS1Comment"># . end</span>
<span id="L150" class="LineNr">150 </span>    c3/return
<span id="L151" class="LineNr">151 </span>
<span id="L152" class="LineNr">152 </span><span class="subxTest">test-write-byte-buffered-multiple-flushes</span>:
<span id="L153" class="LineNr">153 </span>    <span class="subxH1Comment"># - check that write-byte-buffered correctly flushes buffered data</span>
<span id="L154" class="LineNr">154 </span>    <span class="subxComment"># setup</span>
<span id="L155" class="LineNr">155 </span>    <span class="subxS1Comment"># . clear-stream(_test-stream)</span>
<span id="L156" class="LineNr">156 </span>    <span class="subxS2Comment"># . . push args</span>
<span id="L157" class="LineNr">157 </span>    68/push  <a href='108write.subx.html#L151'>_test-stream</a>/imm32
<span id="L158" class="LineNr">158 </span>    <span class="subxS2Comment"># . . call</span>
<span id="L159" class="LineNr">159 </span>    e8/call  <a href='106stream.subx.html#L17'>clear-stream</a>/disp32
<span id="L160" class="LineNr">160 </span>    <span class="subxS2Comment"># . . discard args</span>
<span id="L161" class="LineNr">161 </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="L162" class="LineNr">162 </span>    <span class="subxS1Comment"># . clear-stream($_test-buffered-file-&gt;buffer)</span>
<span id="L163" class="LineNr">163 </span>    <span class="subxS2Comment"># . . push args</span>
<span id="L164" class="LineNr">164 </span>    68/push  $_test-buffered-file-&gt;buffer/imm32
<span id="L165" class="LineNr">165 </span>    <span class="subxS2Comment"># . . call</span>
<span id="L166" class="LineNr">166 </span>    e8/call  <a href='106stream.subx.html#L17'>clear-stream</a>/disp32
<span id="L167" class="LineNr">167 </span>    <span class="subxS2Comment"># . . discard args</span>
<span id="L168" class="LineNr">168 </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="L169" class="LineNr">169 </span>    <span class="subxComment"># fill up the buffer for _test-buffered-file</span>
<span id="L170" class="LineNr">170 </span>    <span class="subxS1Comment"># . write($_test-buffered-file-&gt;buffer, &quot;abcdef&quot;)</span>
<span id="L171" class="LineNr">171 </span>    <span class="subxS2Comment"># . . push args</span>
<span id="L172" class="LineNr">172 </span>    68/push  <span class="Constant">&quot;abcdef&quot;</span>/imm32
<span id="L173" class="LineNr">173 </span>    68/push  $_test-buffered-file-&gt;buffer/imm32
<span id="L174" class="LineNr">174 </span>    <span class="subxS2Comment"># . . call</span>
<span id="L175" class="LineNr">175 </span>    e8/call  <a href='108write.subx.html#L24'>write</a>/disp32
<span id="L176" class="LineNr">176 </span>    <span class="subxS2Comment"># . . discard args</span>
<span id="L177" class="LineNr">177 </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="L178" class="LineNr">178 </span>    <span class="subxComment"># write-byte-buffered(_test-buffered-file, 'g')</span>
<span id="L179" class="LineNr">179 </span>    <span class="subxS2Comment"># . . push args</span>
<span id="L180" class="LineNr">180 </span>    68/push  0x67/imm32
<span id="L181" class="LineNr">181 </span>    68/push  <a href='112read-byte.subx.html#L318'>_test-buffered-file</a>/imm32
<span id="L182" class="LineNr">182 </span>    <span class="subxS2Comment"># . . call</span>
<span id="L183" class="LineNr">183 </span>    e8/call  <a href='115write-byte.subx.html#L33'>write-byte-buffered</a>/disp32
<span id="L184" class="LineNr">184 </span>    <span class="subxS2Comment"># . . discard args</span>
<span id="L185" class="LineNr">185 </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="L186" class="LineNr">186 </span>    <span class="subxComment"># flush(_test-buffered-file)</span>
<span id="L187" class="LineNr">187 </span>    <span class="subxS2Comment"># . . push args</span>
<span id="L188" class="LineNr">188 </span>    68/push  <a href='112read-byte.subx.html#L318'>_test-buffered-file</a>/imm32
<span id="L189" class="LineNr">189 </span>    <span class="subxS2Comment"># . . call</span>
<span id="L190" class="LineNr">190 </span>    e8/call  <a href='115write-byte.subx.html#L81'>flush</a>/disp32
<span id="L191" class="LineNr">191 </span>    <span class="subxS2Comment"># . . discard args</span>
<span id="L192" class="LineNr">192 </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="L193" class="LineNr">193 </span>    <span class="subxComment"># check-stream-equal(_test-stream, &quot;abcdefg&quot;, msg)</span>
<span id="L194" class="LineNr">194 </span>    <span class="subxS2Comment"># . . push args</span>
<span id="L195" class="LineNr">195 </span>    68/push  <span class="Constant">&quot;F - test-write-byte-buffered-multiple-flushes&quot;</span>/imm32
<span id="L196" class="LineNr">196 </span>    68/push  <span class="Constant">&quot;abcdefg&quot;</span>/imm32
<span id="L197" class="LineNr">197 </span>    68/push  <a href='108write.subx.html#L151'>_test-stream</a>/imm32
<span id="L198" class="LineNr">198 </span>    <span class="subxS2Comment"># . . call</span>
<span id="L199" class="LineNr">199 </span>    e8/call  <a href='109stream-equal.subx.html#L194'>check-stream-equal</a>/disp32
<span id="L200" class="LineNr">200 </span>    <span class="subxS2Comment"># . . discard args</span>
<span id="L201" class="LineNr">201 </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="L202" class="LineNr">202 </span>    <span class="subxS1Comment"># . end</span>
<span id="L203" class="LineNr">203 </span>    c3/return
<span id="L204" class="LineNr">204 </span>
<span id="L205" class="LineNr">205 </span><span class="subxH1Comment"># - variant without buffering</span>
<span id="L206" class="LineNr">206 </span>
<span id="L207" class="LineNr">207 </span><span class="subxComment"># Write lower byte of 'n' to 'f'.</span>
<span id="L208" class="LineNr">208 </span><span class="subxFunction">append-byte</span>:  <span class="subxComment"># f: (addr stream byte), n: int</span>
<span id="L209" class="LineNr">209 </span>    <span class="subxS1Comment"># . prologue</span>
<span id="L210" class="LineNr">210 </span>    55/push-ebp
<span id="L211" class="LineNr">211 </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="L212" class="LineNr">212 </span>    <span class="subxS1Comment"># . save registers</span>
<span id="L213" class="LineNr">213 </span>    51/push-ecx
<span id="L214" class="LineNr">214 </span>    57/push-edi
<span id="L215" class="LineNr">215 </span>    <span class="subxComment"># edi = f</span>
<span id="L216" class="LineNr">216 </span>    8b/copy                         1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          7/r32/edi   8/disp8        <span class="Normal"> . </span>                <span class="subxComment"># copy *(ebp+8) to edi</span>
<span id="L217" class="LineNr">217 </span>    <span class="subxComment"># ecx = f-&gt;write</span>
<span id="L218" class="LineNr">218 </span>    8b/copy                         0/mod/indirect  7/rm32/edi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy *edi to ecx</span>
<span id="L219" class="LineNr">219 </span>    <span class="subxComment"># if (f-&gt;write &gt;= f-&gt;size) abort</span>
<span id="L220" class="LineNr">220 </span>    3b/compare                      1/mod/*+disp8   7/rm32/edi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx   8/disp8        <span class="Normal"> . </span>                <span class="subxComment"># compare ecx with *(edi+8)</span>
<span id="L221" class="LineNr">221 </span>    7d/jump-if-&gt;=  $append-byte:abort/disp8
<span id="L222" class="LineNr">222 </span><span class="Constant">$append-byte:to-stream</span>:
<span id="L223" class="LineNr">223 </span>    <span class="subxComment"># write to stream</span>
<span id="L224" class="LineNr">224 </span>    <span class="subxComment"># f-&gt;data[f-&gt;write] = LSB(n)</span>
<span id="L225" class="LineNr">225 </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="L226" class="LineNr">226 </span>    8a/copy-byte                    1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/AL    0xc/disp8      <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *(ebp+12) to AL</span>
<span id="L227" class="LineNr">227 </span>    88/copy-byte                    1/mod/*+disp8   4/rm32/sib    7/base/edi  1/index/ecx  <span class="Normal"> . </span>          0/r32/AL    0xc/disp8      <span class="Normal"> . </span>                <span class="subxComment"># copy AL to *(edi+ecx+12)</span>
<span id="L228" class="LineNr">228 </span>    <span class="subxComment"># ++f-&gt;write</span>
<span id="L229" class="LineNr">229 </span>    ff          0/subop/increment   0/mod/indirect  7/rm32/edi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># increment *edi</span>
<span id="L230" class="LineNr">230 </span><span class="Constant">$append-byte:end</span>:
<span id="L231" class="LineNr">231 </span>    <span class="subxS1Comment"># . restore registers</span>
<span id="L232" class="LineNr">232 </span>    5f/pop-to-edi
<span id="L233" class="LineNr">233 </span>    59/pop-to-ecx
<span id="L234" class="LineNr">234 </span>    <span class="subxS1Comment"># . epilogue</span>
<span id="L235" class="LineNr">235 </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="L236" class="LineNr">236 </span>    5d/pop-to-ebp
<span id="L237" class="LineNr">237 </span>    c3/return
<span id="L238" class="LineNr">238 </span>
<span id="L239" class="LineNr">239 </span><span class="Constant">$append-byte:abort</span>:
<span id="L240" class="LineNr">240 </span>    <span class="subxS1Comment"># . _write(2/stderr, error)</span>
<span id="L241" class="LineNr">241 </span>    <span class="subxS2Comment"># . . push args</span>
<span id="L242" class="LineNr">242 </span>    68/push  <span class="Constant">&quot;append-byte: out of space\n&quot;</span>/imm32
<span id="L243" class="LineNr">243 </span>    68/push  2/imm32/stderr
<span id="L244" class="LineNr">244 </span>    <span class="subxS2Comment"># . . call</span>
<span id="L245" class="LineNr">245 </span>    e8/call  <a href='101_write.subx.html#L12'>_write</a>/disp32
<span id="L246" class="LineNr">246 </span>    <span class="subxS2Comment"># . . discard args</span>
<span id="L247" class="LineNr">247 </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="L248" class="LineNr">248 </span>    <span class="subxS1Comment"># . syscall(exit, 1)</span>
<span id="L249" class="LineNr">249 </span>    bb/copy-to-ebx  1/imm32
<span id="L250" class="LineNr">250 </span>    e8/call  syscall_exit/disp32
<span id="L251" class="LineNr">251 </span>    <span class="subxComment"># never gets here</span>
<span id="L252" class="LineNr">252 </span>
<span id="L253" class="LineNr">253 </span><span class="subxTest">test-append-byte-single</span>:
<span id="L254" class="LineNr">254 </span>    <span class="subxH1Comment"># - check that append-byte writes to first byte of 'file'</span>
<span id="L255" class="LineNr">255 </span>    <span class="subxComment"># setup</span>
<span id="L256" class="LineNr">256 </span>    <span class="subxS1Comment"># . clear-stream(_test-stream)</span>
<span id="L257" class="LineNr">257 </span>    <span class="subxS2Comment"># . . push args</span>
<span id="L258" class="LineNr">258 </span>    68/push  <a href='108write.subx.html#L151'>_test-stream</a>/imm32
<span id="L259" class="LineNr">259 </span>    <span class="subxS2Comment"># . . call</span>
<span id="L260" class="LineNr">260 </span>    e8/call  <a href='106stream.subx.html#L17'>clear-stream</a>/disp32
<span id="L261" class="LineNr">261 </span>    <span class="subxS2Comment"># . . discard args</span>
<span id="L262" class="LineNr">262 </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="L263" class="LineNr">263 </span>    <span class="subxComment"># append-byte(_test-stream, 'A')</span>
<span id="L264" class="LineNr">264 </span>    <span class="subxS2Comment"># . . push args</span>
<span id="L265" class="LineNr">265 </span>    68/push  0x41/imm32
<span id="L266" class="LineNr">266 </span>    68/push  <a href='108write.subx.html#L151'>_test-stream</a>/imm32
<span id="L267" class="LineNr">267 </span>    <span class="subxS2Comment"># . . call</span>
<span id="L268" class="LineNr">268 </span>    e8/call  <a href='115write-byte.subx.html#L208'>append-byte</a>/disp32
<span id="L269" class="LineNr">269 </span>    <span class="subxS2Comment"># . . discard args</span>
<span id="L270" class="LineNr">270 </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="L271" class="LineNr">271 </span>    <span class="subxComment"># check-stream-equal(_test-stream, &quot;A&quot;, msg)</span>
<span id="L272" class="LineNr">272 </span>    <span class="subxS2Comment"># . . push args</span>
<span id="L273" class="LineNr">273 </span>    68/push  <span class="Constant">&quot;F - test-append-byte-single&quot;</span>/imm32
<span id="L274" class="LineNr">274 </span>    68/push  <span class="Constant">&quot;A&quot;</span>/imm32
<span id="L275" class="LineNr">275 </span>    68/push  <a href='108write.subx.html#L151'>_test-stream</a>/imm32
<span id="L276" class="LineNr">276 </span>    <span class="subxS2Comment"># . . call</span>
<span id="L277" class="LineNr">277 </span>    e8/call  <a href='109stream-equal.subx.html#L194'>check-stream-equal</a>/disp32
<span id="L278" class="LineNr">278 </span>    <span class="subxS2Comment"># . . discard args</span>
<span id="L279" class="LineNr">279 </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="L280" class="LineNr">280 </span>    <span class="subxS1Comment"># . end</span>
<span id="L281" class="LineNr">281 </span>    c3/return
<span id="L282" class="LineNr">282 </span>
<span id="L283" class="LineNr">283 </span>== data
<span id="L284" class="LineNr">284 </span>
<span id="L285" class="LineNr">285 </span><span class="subxMinorFunction">_test-output-stream</span>:  <span class="subxComment"># (stream byte)</span>
<span id="L286" class="LineNr">286 </span>    <span class="subxComment"># current write index</span>
<span id="L287" class="LineNr">287 </span>    0/imm32
<span id="L288" class="LineNr">288 </span>    <span class="subxComment"># current read index</span>
<span id="L289" class="LineNr">289 </span>    0/imm32
<span id="L290" class="LineNr">290 </span>    <span class="subxComment"># size</span>
<span id="L291" class="LineNr">291 </span>    0x800/imm32  <span class="subxComment"># 2048 bytes</span>
<span id="L292" class="LineNr">292 </span>    <span class="subxComment"># data (128 lines x 16 bytes/line)</span>
<span id="L293" class="LineNr">293 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L294" class="LineNr">294 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L295" class="LineNr">295 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L296" class="LineNr">296 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L297" class="LineNr">297 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L298" class="LineNr">298 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L299" class="LineNr">299 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L300" class="LineNr">300 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L301" class="LineNr">301 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L302" class="LineNr">302 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L303" class="LineNr">303 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L304" class="LineNr">304 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L305" class="LineNr">305 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L306" class="LineNr">306 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L307" class="LineNr">307 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L308" class="LineNr">308 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L309" class="LineNr">309 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L310" class="LineNr">310 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L311" class="LineNr">311 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L312" class="LineNr">312 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L313" class="LineNr">313 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L314" class="LineNr">314 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L315" class="LineNr">315 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L316" class="LineNr">316 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L317" class="LineNr">317 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L318" class="LineNr">318 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L319" class="LineNr">319 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L320" class="LineNr">320 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L321" class="LineNr">321 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L322" class="LineNr">322 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L323" class="LineNr">323 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L324" class="LineNr">324 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L325" class="LineNr">325 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L326" class="LineNr">326 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L327" class="LineNr">327 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L328" class="LineNr">328 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L329" class="LineNr">329 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L330" class="LineNr">330 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L331" class="LineNr">331 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L332" class="LineNr">332 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L333" class="LineNr">333 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L334" class="LineNr">334 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L335" class="LineNr">335 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L336" class="LineNr">336 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L337" class="LineNr">337 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L338" class="LineNr">338 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L339" class="LineNr">339 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L340" class="LineNr">340 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L341" class="LineNr">341 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L342" class="LineNr">342 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L343" class="LineNr">343 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L344" class="LineNr">344 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L345" class="LineNr">345 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L346" class="LineNr">346 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L347" class="LineNr">347 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L348" class="LineNr">348 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L349" class="LineNr">349 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L350" class="LineNr">350 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L351" class="LineNr">351 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L352" class="LineNr">352 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L353" class="LineNr">353 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L354" class="LineNr">354 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L355" class="LineNr">355 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L356" class="LineNr">356 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L357" class="LineNr">357 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L358" class="LineNr">358 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L359" class="LineNr">359 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L360" class="LineNr">360 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L361" class="LineNr">361 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L362" class="LineNr">362 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L363" class="LineNr">363 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L364" class="LineNr">364 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L365" class="LineNr">365 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L366" class="LineNr">366 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L367" class="LineNr">367 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L368" class="LineNr">368 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L369" class="LineNr">369 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L370" class="LineNr">370 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L371" class="LineNr">371 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L372" class="LineNr">372 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L373" class="LineNr">373 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L374" class="LineNr">374 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L375" class="LineNr">375 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L376" class="LineNr">376 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L377" class="LineNr">377 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L378" class="LineNr">378 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L379" class="LineNr">379 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L380" class="LineNr">380 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L381" class="LineNr">381 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L382" class="LineNr">382 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L383" class="LineNr">383 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L384" class="LineNr">384 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L385" class="LineNr">385 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L386" class="LineNr">386 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L387" class="LineNr">387 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L388" class="LineNr">388 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L389" class="LineNr">389 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L390" class="LineNr">390 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L391" class="LineNr">391 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L392" class="LineNr">392 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L393" class="LineNr">393 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L394" class="LineNr">394 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L395" class="LineNr">395 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L396" class="LineNr">396 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L397" class="LineNr">397 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L398" class="LineNr">398 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L399" class="LineNr">399 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L400" class="LineNr">400 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L401" class="LineNr">401 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L402" class="LineNr">402 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L403" class="LineNr">403 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L404" class="LineNr">404 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L405" class="LineNr">405 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L406" class="LineNr">406 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L407" class="LineNr">407 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L408" class="LineNr">408 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L409" class="LineNr">409 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L410" class="LineNr">410 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L411" class="LineNr">411 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L412" class="LineNr">412 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L413" class="LineNr">413 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L414" class="LineNr">414 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L415" class="LineNr">415 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L416" class="LineNr">416 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L417" class="LineNr">417 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L418" class="LineNr">418 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L419" class="LineNr">419 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L420" class="LineNr">420 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L421" class="LineNr">421 </span>
<span id="L422" class="LineNr">422 </span><span class="subxComment"># a test buffered file for _test-output-stream</span>
<span id="L423" class="LineNr">423 </span><span class="subxMinorFunction">_test-output-buffered-file</span>:  <span class="subxComment"># buffered-file</span>
<span id="L424" class="LineNr">424 </span>    <span class="subxComment"># file descriptor or (addr stream byte)</span>
<span id="L425" class="LineNr">425 </span>    <a href='115write-byte.subx.html#L285'>_test-output-stream</a>/imm32
<span id="L426" class="LineNr">426 </span><span class="Constant">$_test-output-buffered-file-&gt;buffer</span>:
<span id="L427" class="LineNr">427 </span>    <span class="subxComment"># current write index</span>
<span id="L428" class="LineNr">428 </span>    0/imm32
<span id="L429" class="LineNr">429 </span>    <span class="subxComment"># current read index</span>
<span id="L430" class="LineNr">430 </span>    0/imm32
<span id="L431" class="LineNr">431 </span>    <span class="subxComment"># size</span>
<span id="L432" class="LineNr">432 </span>    6/imm32
<span id="L433" class="LineNr">433 </span>    <span class="subxComment"># data</span>
<span id="L434" class="LineNr">434 </span>    00 00 00 00 00 00  <span class="subxComment"># 6 bytes</span>
<span id="L435" class="LineNr">435 </span>
<span id="L436" class="LineNr">436 </span><span class="subxMinorFunction">_test-error-stream</span>:  <span class="subxComment"># (stream byte)</span>
<span id="L437" class="LineNr">437 </span>    <span class="subxComment"># current write index</span>
<span id="L438" class="LineNr">438 </span>    0/imm32
<span id="L439" class="LineNr">439 </span>    <span class="subxComment"># current read index</span>
<span id="L440" class="LineNr">440 </span>    0/imm32
<span id="L441" class="LineNr">441 </span>    <span class="subxComment"># line</span>
<span id="L442" class="LineNr">442 </span>    0x100/imm32  <span class="subxComment"># 256 bytes</span>
<span id="L443" class="LineNr">443 </span>    <span class="subxComment"># data (16 lines x 16 bytes/line)</span>
<span id="L444" class="LineNr">444 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L445" class="LineNr">445 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L446" class="LineNr">446 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L447" class="LineNr">447 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L448" class="LineNr">448 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L449" class="LineNr">449 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L450" class="LineNr">450 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L451" class="LineNr">451 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L452" class="LineNr">452 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L453" class="LineNr">453 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L454" class="LineNr">454 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L455" class="LineNr">455 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L456" class="LineNr">456 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L457" class="LineNr">457 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L458" class="LineNr">458 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L459" class="LineNr">459 </span>    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<span id="L460" class="LineNr">460 </span>
<span id="L461" class="LineNr">461 </span><span class="subxComment"># a test buffered file for _test-error-stream</span>
<span id="L462" class="LineNr">462 </span><span class="subxMinorFunction">_test-error-buffered-file</span>:  <span class="subxComment"># buffered-file</span>
<span id="L463" class="LineNr">463 </span>    <span class="subxComment"># file descriptor or (addr stream byte)</span>
<span id="L464" class="LineNr">464 </span>    <a href='115write-byte.subx.html#L436'>_test-error-stream</a>/imm32
<span id="L465" class="LineNr">465 </span><span class="Constant">$_test-error-buffered-file-&gt;buffer</span>:
<span id="L466" class="LineNr">466 </span>    <span class="subxComment"># current write index</span>
<span id="L467" class="LineNr">467 </span>    0/imm32
<span id="L468" class="LineNr">468 </span>    <span class="subxComment"># current read index</span>
<span id="L469" class="LineNr">469 </span>    0/imm32
<span id="L470" class="LineNr">470 </span>    <span class="subxComment"># size</span>
<span id="L471" class="LineNr">471 </span>    6/imm32
<span id="L472" class="LineNr">472 </span>    <span class="subxComment"># data</span>
<span id="L473" class="LineNr">473 </span>    00 00 00 00 00 00  <span class="subxComment"># 6 bytes</span>
<span id="L474" class="LineNr">474 </span>
<span id="L475" class="LineNr">475 </span><span class="subxS2Comment"># . . vim&#0058;nowrap:textwidth=0</span>
</pre>
</body>
</html>
<!-- vim: set foldmethod=manual : -->