Subversion Repositories Kolibri OS

Rev

Rev 718 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
718 jacekm 1
_nogo: TIMES 1 DD 0
2
_noloc: TIMES 1 DD 0
3
_opindex: TIMES 1 DD 0
4
_opsize: TIMES 1 DD 0
5
_swactive: TIMES 1 DD 0
6
_swdefaul: TIMES 1 DD 0
7
_swnext DD 0
8
_swend DD 0
9
_stage DD 0
10
_wq DD 0
11
_argcs: TIMES 1 DD 0
12
_argvs DD 0
13
_wqptr DD 0
14
_litptr: TIMES 1 DD 0
15
_macptr: TIMES 1 DD 0
16
_pptr: TIMES 1 DD 0
17
_ch: TIMES 1 DD 0
18
_nch: TIMES 1 DD 0
19
_declared: TIMES 1 DD 0
20
_iflevel: TIMES 1 DD 0
21
_skipleve: TIMES 1 DD 0
22
_nxtlab: TIMES 1 DD 0
23
_litlab: TIMES 1 DD 0
24
_csp: TIMES 1 DD 0
25
_argstk: TIMES 1 DD 0
26
_argtop: TIMES 1 DD 0
27
_ncmp: TIMES 1 DD 0
28
_errflag: TIMES 1 DD 0
29
_eof: TIMES 1 DD 0
30
_output: TIMES 1 DD 0
31
_files: TIMES 1 DD 0
32
_filearg DD 0
33
_input DD -1
34
_input2 DD -1
35
_usexpr DD 1
36
_ccode DD 1
37
_snext DD 0
38
_stail DD 0
39
_slast DD 0
40
_listfp: TIMES 1 DD 0
41
_lastst: TIMES 1 DD 0
42
_oldseg: TIMES 1 DD 0
43
_optimize: TIMES 1 DB 0
44
_alarm: TIMES 1 DB 0
45
_monitor: TIMES 1 DB 0
46
_pause: TIMES 1 DB 0
47
_symtab DD 0
48
_litq DD 0
49
_macn DD 0
50
_macq DD 0
51
_pline DD 0
52
_mline DD 0
53
_line DD 0
54
_lptr DD 0
55
_glbptr DD 0
56
_locptr DD 0
57
_quote DB 34
58
 TIMES 1 DB 0
59
_cptr DD 0
60
_cptr2 DD 0
61
_cptr3 DD 0
62
_msname: TIMES 9 DB 0
63
_ssname: TIMES 9 DB 0
64
_op DD 57,73,3,20,55,43,22,47,35,7
65
 DD 6,1,69,52,16,49
66
_op2 DD 57,73,3,20,55,44,23,48,36,7
67
 DD 6,1,69,53,17,50
68
 
69
_main:
70
PUSH EBP
71
MOV EBP,ESP
72
MOV EAX,_1_1+0
73
PUSH EAX
74
MOV EAX,__iob
75
MOV EBX,32
76
ADD EAX,EBX
77
PUSH EAX
78
MOV CL,2
79
CALL _fputs
80
ADD ESP,8
81
MOV EAX,_1_1+47
82
PUSH EAX
83
MOV EAX,__iob
84
MOV EBX,32
85
ADD EAX,EBX
86
PUSH EAX
87
MOV CL,2
88
CALL _fputs
89
ADD ESP,8
90
MOV EAX,_1_1+95
91
PUSH EAX
92
MOV EAX,__iob
93
MOV EBX,32
94
ADD EAX,EBX
95
PUSH EAX
96
MOV CL,2
97
CALL _fputs
98
ADD ESP,8
99
LEA EAX,[EBP+12]
100
MOV EBX,EAX
101
MOV EAX, [EBX]
102
MOV DWORD [_argcs],EAX
103
LEA EAX,[EBP+8]
104
MOV EBX,EAX
105
MOV EAX, [EBX]
106
MOV DWORD [_argvs],EAX
107
MOV EAX,360
108
PUSH EAX
109
MOV EAX,1
110
PUSH EAX
111
MOV CL,2
112
CALL _OS_callo
113
ADD ESP,8
114
MOV DWORD [_swnext],EAX
115
MOV EAX,[_swnext]
116
MOV EBX,1424
117
ADD EAX,EBX
118
MOV DWORD [_swend],EAX
119
MOV EAX,200
120
PUSH EAX
121
MOV EAX,8
122
PUSH EAX
123
MOV CL,2
124
CALL _OS_callo
125
ADD ESP,8
126
MOV DWORD [_stage],EAX
127
MOV EAX,30
128
PUSH EAX
129
MOV EAX,4
130
PUSH EAX
131
MOV CL,2
132
CALL _OS_callo
133
ADD ESP,8
134
MOV DWORD [_wq],EAX
135
MOV DWORD [_wqptr],EAX
136
MOV EAX,3000
137
PUSH EAX
138
MOV EAX,1
139
PUSH EAX
140
MOV CL,2
141
CALL _OS_callo
142
ADD ESP,8
143
MOV DWORD [_litq],EAX
144
MOV EAX,3300
145
PUSH EAX
146
MOV EAX,1
147
PUSH EAX
148
MOV CL,2
149
CALL _OS_callo
150
ADD ESP,8
151
MOV DWORD [_macn],EAX
152
MOV EAX,2100
153
PUSH EAX
154
MOV EAX,1
155
PUSH EAX
156
MOV CL,2
157
CALL _OS_callo
158
ADD ESP,8
159
MOV DWORD [_macq],EAX
160
MOV EAX,128
161
PUSH EAX
162
MOV EAX,1
163
PUSH EAX
164
MOV CL,2
165
CALL _OS_callo
166
ADD ESP,8
167
MOV DWORD [_pline],EAX
168
MOV EAX,128
169
PUSH EAX
170
MOV EAX,1
171
PUSH EAX
172
MOV CL,2
173
CALL _OS_callo
174
ADD ESP,8
175
MOV DWORD [_mline],EAX
176
MOV EAX,[_stage]
177
MOV EBX,6400
178
ADD EAX,EBX
179
MOV DWORD [_slast],EAX
180
MOV EAX,4400
181
PUSH EAX
182
MOV EAX,1
183
PUSH EAX
184
MOV CL,2
185
CALL _OS_callo
186
ADD ESP,8
187
MOV DWORD [_symtab],EAX
188
MOV EAX,[_symtab]
189
MOV DWORD [_locptr],EAX
190
MOV EAX,[_symtab]
191
MOV EBX,400
192
ADD EAX,EBX
193
MOV DWORD [_glbptr],EAX
194
XOR CL,CL
195
CALL _ask
196
XOR CL,CL
197
CALL _openfile
198
XOR CL,CL
199
CALL _preproce
200
XOR CL,CL
201
CALL _header
202
XOR CL,CL
203
CALL _setcodes
204
XOR CL,CL
205
CALL _parse
206
XOR CL,CL
207
CALL _trailer
208
MOV EAX,[_output]
209
PUSH EAX
210
MOV CL,1
211
CALL _OS_fclos
212
ADD ESP,4
213
POP EBP
214
RET
215
_1_1 DB 83,109,97,108,108,32,67,32,51,56
216
 DB 54,47,78,84,44,32,86,101,114,115
217
 DB 105,111,110,32,51,46,49,44,32,82
218
 DB 101,118,105,115,105,111,110,32,76,101
219
 DB 118,101,108,32,49,10,0,67,111,112
220
 DB 121,114,105,103,104,116,32,49,57,56
221
 DB 50,44,32,49,57,56,51,44,32,49
222
 DB 57,56,53,44,32,49,57,56,56,32
223
 DB 74,46,32,69,46,32,72,101,110,100
224
 DB 114,105,120,10,0,67,111,112,121,114
225
 DB 105,103,104,116,32,49,57,57,56,32
226
 DB 32,72,32,84,32,87,97,108,104,101
227
 DB 105,109,10,10,0
228
 
229
_parse:
230
PUSH EBP
231
MOV EBP,ESP
232
_1_3:
233
MOV EAX,[_eof]
234
OR EAX,EAX
235
JE _1_5
236
JMP _1_4
237
_1_5:
238
MOV EAX,_1_2+0
239
PUSH EAX
240
MOV EAX,6
241
PUSH EAX
242
MOV CL,2
243
CALL _amatch
244
ADD ESP,8
245
OR EAX,EAX
246
JNE _1_7
247
JMP _1_6
248
_1_7:
249
MOV EAX,3
250
PUSH EAX
251
MOV CL,1
252
CALL _dodeclar
253
ADD ESP,4
254
JMP _1_8
255
_1_6:
256
MOV EAX,2
257
PUSH EAX
258
MOV CL,1
259
CALL _dodeclar
260
ADD ESP,4
261
OR EAX,EAX
262
JNE _1_10
263
JMP _1_9
264
_1_10:
265
JMP _1_11
266
_1_9:
267
MOV EAX,_1_2+7
268
PUSH EAX
269
MOV CL,1
270
CALL _match
271
ADD ESP,4
272
OR EAX,EAX
273
JNE _1_13
274
JMP _1_12
275
_1_13:
276
XOR CL,CL
277
CALL _doasm
278
JMP _1_14
279
_1_12:
280
MOV EAX,_1_2+12
281
PUSH EAX
282
MOV CL,1
283
CALL _match
284
ADD ESP,4
285
OR EAX,EAX
286
JNE _1_16
287
JMP _1_15
288
_1_16:
289
XOR CL,CL
290
CALL _doinclud
291
JMP _1_17
292
_1_15:
293
MOV EAX,_1_2+21
294
PUSH EAX
295
MOV CL,1
296
CALL _match
297
ADD ESP,4
298
OR EAX,EAX
299
JNE _1_19
300
JMP _1_18
301
_1_19:
302
XOR CL,CL
303
CALL _dodefine
304
JMP _1_20
305
_1_18:
306
XOR CL,CL
307
CALL _dofuncti
308
_1_20:
309
_1_17:
310
_1_14:
311
_1_11:
312
_1_8:
313
XOR CL,CL
314
CALL _blanks
315
JMP _1_3
316
_1_4:
317
POP EBP
318
RET
319
_1_2 DB 101,120,116,101,114,110,0,35,97,115
320
 DB 109,0,35,105,110,99,108,117,100,101
321
 DB 0,35,100,101,102,105,110,101,0
322
 
323
_dodeclar:
324
PUSH EBP
325
MOV EBP,ESP
326
MOV EAX,_1_21+0
327
PUSH EAX
328
MOV EAX,4
329
PUSH EAX
330
MOV CL,2
331
CALL _amatch
332
ADD ESP,8
333
OR EAX,EAX
334
JNE _1_23
335
JMP _1_22
336
_1_23:
337
MOV EAX,4
338
PUSH EAX
339
LEA EAX,[EBP+8]
340
MOV EBX,EAX
341
MOV EAX, [EBX]
342
PUSH EAX
343
MOV CL,2
344
CALL _declglb
345
ADD ESP,8
346
JMP _1_24
347
_1_22:
348
MOV EAX,_1_21+5
349
PUSH EAX
350
MOV EAX,8
351
PUSH EAX
352
MOV CL,2
353
CALL _amatch
354
ADD ESP,8
355
OR EAX,EAX
356
JNE _1_26
357
JMP _1_25
358
_1_26:
359
MOV EAX,_1_21+14
360
PUSH EAX
361
MOV EAX,4
362
PUSH EAX
363
MOV CL,2
364
CALL _amatch
365
ADD ESP,8
366
OR EAX,EAX
367
JNE _1_28
368
JMP _1_27
369
_1_28:
370
MOV EAX,5
371
PUSH EAX
372
LEA EAX,[EBP+8]
373
MOV EBX,EAX
374
MOV EAX, [EBX]
375
PUSH EAX
376
MOV CL,2
377
CALL _declglb
378
ADD ESP,8
379
JMP _1_29
380
_1_27:
381
MOV EAX,_1_21+19
382
PUSH EAX
383
MOV EAX,3
384
PUSH EAX
385
MOV CL,2
386
CALL _amatch
387
ADD ESP,8
388
MOV EAX,17
389
PUSH EAX
390
LEA EAX,[EBP+8]
391
MOV EBX,EAX
392
MOV EAX, [EBX]
393
PUSH EAX
394
MOV CL,2
395
CALL _declglb
396
ADD ESP,8
397
_1_29:
398
JMP _1_30
399
_1_25:
400
MOV EAX,_1_21+23
401
PUSH EAX
402
MOV EAX,3
403
PUSH EAX
404
MOV CL,2
405
CALL _amatch
406
ADD ESP,8
407
OR EAX,EAX
408
JE _1_34
409
JMP _1_32
410
_1_34:
411
LEA EAX,[EBP+8]
412
MOV EBX,EAX
413
MOV EAX, [EBX]
414
MOV EBX,EAX
415
MOV EAX,3
416
CALL __eq
417
OR EAX,EAX
418
JE _1_35
419
JMP _1_32
420
_1_35:
421
XOR EAX,EAX
422
JMP _1_33
423
_1_32:
424
MOV EAX,1
425
_1_33:
426
OR EAX,EAX
427
JNE _1_36
428
JMP _1_31
429
_1_36:
430
MOV EAX,16
431
PUSH EAX
432
LEA EAX,[EBP+8]
433
MOV EBX,EAX
434
MOV EAX, [EBX]
435
PUSH EAX
436
MOV CL,2
437
CALL _declglb
438
ADD ESP,8
439
JMP _1_37
440
_1_31:
441
XOR EAX,EAX
442
POP EBP
443
RET
444
_1_37:
445
_1_30:
446
_1_24:
447
XOR CL,CL
448
CALL _ns
449
MOV EAX,1
450
POP EBP
451
RET
452
_1_21 DB 99,104,97,114,0,117,110,115,105,103
453
 DB 110,101,100,0,99,104,97,114,0,105
454
 DB 110,116,0,105,110,116,0
455
 
456
_declglb:
457
PUSH EBP
458
MOV EBP,ESP
459
ADD ESP,-8
460
_1_39:
461
XOR CL,CL
462
CALL _endst
463
OR EAX,EAX
464
JNE _1_42
465
JMP _1_41
466
_1_42:
467
MOV ESP,EBP
468
POP EBP
469
RET
470
_1_41:
471
MOV EAX,_1_38+0
472
PUSH EAX
473
MOV CL,1
474
CALL _match
475
ADD ESP,4
476
OR EAX,EAX
477
JNE _1_44
478
JMP _1_43
479
_1_44:
480
LEA EAX,[EBP-4]
481
MOV EBX,EAX
482
MOV EAX,3
483
MOV [EBX],EAX
484
LEA EAX,[EBP-8]
485
MOV EBX,EAX
486
XOR EAX,EAX
487
MOV [EBX],EAX
488
JMP _1_45
489
_1_43:
490
LEA EAX,[EBP-4]
491
MOV EBX,EAX
492
MOV EAX,1
493
MOV [EBX],EAX
494
LEA EAX,[EBP-8]
495
MOV EBX,EAX
496
MOV EAX,1
497
MOV [EBX],EAX
498
_1_45:
499
MOV EAX,_ssname
500
PUSH EAX
501
MOV CL,1
502
CALL _symname
503
ADD ESP,4
504
OR EAX,EAX
505
JE _1_47
506
JMP _1_46
507
_1_47:
508
XOR CL,CL
509
CALL _illname
510
_1_46:
511
MOV EAX,_ssname
512
PUSH EAX
513
MOV CL,1
514
CALL _findglb
515
ADD ESP,4
516
OR EAX,EAX
517
JNE _1_49
518
JMP _1_48
519
_1_49:
520
MOV EAX,_ssname
521
PUSH EAX
522
MOV CL,1
523
CALL _multidef
524
ADD ESP,4
525
_1_48:
526
LEA EAX,[EBP-4]
527
MOV EBX,EAX
528
MOV EAX, [EBX]
529
MOV EBX,EAX
530
MOV EAX,1
531
CALL __eq
532
OR EAX,EAX
533
JNE _1_51
534
JMP _1_50
535
_1_51:
536
MOV EAX,_1_38+2
537
PUSH EAX
538
MOV CL,1
539
CALL _match
540
ADD ESP,4
541
OR EAX,EAX
542
JNE _1_53
543
JMP _1_52
544
_1_53:
545
LEA EAX,[EBP-4]
546
MOV EBX,EAX
547
MOV EAX,4
548
MOV [EBX],EAX
549
MOV EAX,_1_38+4
550
PUSH EAX
551
MOV CL,1
552
CALL _need
553
ADD ESP,4
554
JMP _1_54
555
_1_52:
556
MOV EAX,_1_38+6
557
PUSH EAX
558
MOV CL,1
559
CALL _match
560
ADD ESP,4
561
OR EAX,EAX
562
JNE _1_56
563
JMP _1_55
564
_1_56:
565
LEA EAX,[EBP-4]
566
MOV EBX,EAX
567
MOV EAX,2
568
MOV [EBX],EAX
569
LEA EAX,[EBP-8]
570
PUSH EAX
571
XOR CL,CL
572
CALL _needsub
573
POP EBX
574
MOV [EBX],EAX
575
_1_55:
576
_1_54:
577
_1_50:
578
LEA EAX,[EBP+8]
579
MOV EBX,EAX
580
MOV EAX, [EBX]
581
MOV EBX,EAX
582
MOV EAX,3
583
CALL __eq
584
OR EAX,EAX
585
JNE _1_58
586
JMP _1_57
587
_1_58:
588
MOV EAX,_ssname
589
PUSH EAX
590
LEA EAX,[EBP+12]
591
MOV EBX,EAX
592
MOV EAX, [EBX]
593
MOV EBX,EAX
594
MOV EAX,2
595
MOV ECX,EAX
596
MOV EAX,EBX
597
SAR EAX,CL
598
PUSH EAX
599
LEA EAX,[EBP-4]
600
MOV EBX,EAX
601
MOV EAX, [EBX]
602
PUSH EAX
603
MOV CL,3
604
CALL _external
605
ADD ESP,12
606
JMP _1_59
607
_1_57:
608
LEA EAX,[EBP-4]
609
MOV EBX,EAX
610
MOV EAX, [EBX]
611
MOV EBX,EAX
612
MOV EAX,4
613
CALL __ne
614
OR EAX,EAX
615
JNE _1_61
616
JMP _1_60
617
_1_61:
618
LEA EAX,[EBP+12]
619
MOV EBX,EAX
620
MOV EAX, [EBX]
621
MOV EBX,EAX
622
MOV EAX,2
623
MOV ECX,EAX
624
MOV EAX,EBX
625
SAR EAX,CL
626
PUSH EAX
627
LEA EAX,[EBP-4]
628
MOV EBX,EAX
629
MOV EAX, [EBX]
630
PUSH EAX
631
LEA EAX,[EBP-8]
632
MOV EBX,EAX
633
MOV EAX, [EBX]
634
PUSH EAX
635
MOV CL,3
636
CALL _initials
637
ADD ESP,12
638
_1_60:
639
_1_59:
640
LEA EAX,[EBP-4]
641
MOV EBX,EAX
642
MOV EAX, [EBX]
643
MOV EBX,EAX
644
MOV EAX,3
645
CALL __eq
646
OR EAX,EAX
647
JNE _1_63
648
JMP _1_62
649
_1_63:
650
MOV EAX,_ssname
651
PUSH EAX
652
LEA EAX,[EBP-4]
653
MOV EBX,EAX
654
MOV EAX, [EBX]
655
PUSH EAX
656
LEA EAX,[EBP+12]
657
MOV EBX,EAX
658
MOV EAX, [EBX]
659
PUSH EAX
660
MOV EAX,4
661
PUSH EAX
662
XOR EAX,EAX
663
PUSH EAX
664
MOV EAX,_glbptr
665
PUSH EAX
666
LEA EAX,[EBP+8]
667
MOV EBX,EAX
668
MOV EAX, [EBX]
669
PUSH EAX
670
MOV CL,7
671
CALL _addsym
672
ADD ESP,28
673
JMP _1_64
674
_1_62:
675
MOV EAX,_ssname
676
PUSH EAX
677
LEA EAX,[EBP-4]
678
MOV EBX,EAX
679
MOV EAX, [EBX]
680
PUSH EAX
681
LEA EAX,[EBP+12]
682
MOV EBX,EAX
683
MOV EAX, [EBX]
684
PUSH EAX
685
LEA EAX,[EBP-8]
686
MOV EBX,EAX
687
MOV EAX, [EBX]
688
PUSH EAX
689
LEA EAX,[EBP+12]
690
MOV EBX,EAX
691
MOV EAX, [EBX]
692
MOV EBX,EAX
693
MOV EAX,2
694
MOV ECX,EAX
695
MOV EAX,EBX
696
SAR EAX,CL
697
POP EBX
698
IMUL EBX
699
PUSH EAX
700
XOR EAX,EAX
701
PUSH EAX
702
MOV EAX,_glbptr
703
PUSH EAX
704
LEA EAX,[EBP+8]
705
MOV EBX,EAX
706
MOV EAX, [EBX]
707
PUSH EAX
708
MOV CL,7
709
CALL _addsym
710
ADD ESP,28
711
_1_64:
712
MOV EAX,_1_38+8
713
PUSH EAX
714
MOV CL,1
715
CALL _match
716
ADD ESP,4
717
OR EAX,EAX
718
JE _1_66
719
JMP _1_65
720
_1_66:
721
MOV ESP,EBP
722
POP EBP
723
RET
724
_1_65:
725
JMP _1_39
726
_1_40:
727
MOV ESP,EBP
728
POP EBP
729
RET
730
_1_38 DB 42,0,40,0,41,0,91,0,44,0
731
 
732
_initials:
733
PUSH EBP
734
MOV EBP,ESP
735
ADD ESP,-4
736
XOR EAX,EAX
737
MOV DWORD [_litptr],EAX
738
LEA EAX,[EBP+8]
739
MOV EBX,EAX
740
MOV EAX, [EBX]
741
OR EAX,EAX
742
JE _1_69
743
JMP _1_68
744
_1_69:
745
LEA EAX,[EBP+8]
746
MOV EBX,EAX
747
MOV EAX,-1
748
MOV [EBX],EAX
749
_1_68:
750
LEA EAX,[EBP-4]
751
PUSH EAX
752
LEA EAX,[EBP+8]
753
MOV EBX,EAX
754
MOV EAX, [EBX]
755
POP EBX
756
MOV [EBX],EAX
757
MOV EAX,_1_67+0
758
PUSH EAX
759
MOV CL,1
760
CALL _match
761
ADD ESP,4
762
OR EAX,EAX
763
JNE _1_71
764
JMP _1_70
765
_1_71:
766
MOV EAX,_1_67+2
767
PUSH EAX
768
MOV CL,1
769
CALL _match
770
ADD ESP,4
771
OR EAX,EAX
772
JNE _1_73
773
JMP _1_72
774
_1_73:
775
_1_74:
776
LEA EAX,[EBP+8]
777
MOV EBX,EAX
778
MOV EAX, [EBX]
779
OR EAX,EAX
780
JNE _1_76
781
JMP _1_75
782
_1_76:
783
LEA EAX,[EBP+16]
784
MOV EBX,EAX
785
MOV EAX, [EBX]
786
PUSH EAX
787
LEA EAX,[EBP+12]
788
MOV EBX,EAX
789
MOV EAX, [EBX]
790
PUSH EAX
791
LEA EAX,[EBP+8]
792
PUSH EAX
793
MOV CL,3
794
CALL _init
795
ADD ESP,12
796
MOV EAX,_1_67+4
797
PUSH EAX
798
MOV CL,1
799
CALL _match
800
ADD ESP,4
801
OR EAX,EAX
802
JE _1_78
803
JMP _1_77
804
_1_78:
805
JMP _1_75
806
_1_77:
807
JMP _1_74
808
_1_75:
809
MOV EAX,_1_67+6
810
PUSH EAX
811
MOV CL,1
812
CALL _need
813
ADD ESP,4
814
JMP _1_79
815
_1_72:
816
LEA EAX,[EBP+16]
817
MOV EBX,EAX
818
MOV EAX, [EBX]
819
PUSH EAX
820
LEA EAX,[EBP+12]
821
MOV EBX,EAX
822
MOV EAX, [EBX]
823
PUSH EAX
824
LEA EAX,[EBP+8]
825
PUSH EAX
826
MOV CL,3
827
CALL _init
828
ADD ESP,12
829
_1_79:
830
_1_70:
831
LEA EAX,[EBP-4]
832
MOV EBX,EAX
833
MOV EAX, [EBX]
834
MOV EBX,EAX
835
MOV EAX,-1
836
CALL __eq
837
OR EAX,EAX
838
JNE _1_83
839
JMP _1_81
840
_1_83:
841
LEA EAX,[EBP+8]
842
MOV EBX,EAX
843
MOV EAX, [EBX]
844
MOV EBX,EAX
845
MOV EAX,-1
846
CALL __eq
847
OR EAX,EAX
848
JNE _1_84
849
JMP _1_81
850
_1_84:
851
MOV EAX,1
852
JMP _1_82
853
_1_81:
854
XOR EAX,EAX
855
_1_82:
856
OR EAX,EAX
857
JNE _1_85
858
JMP _1_80
859
_1_85:
860
LEA EAX,[EBP+12]
861
MOV EBX,EAX
862
MOV EAX, [EBX]
863
MOV EBX,EAX
864
MOV EAX,2
865
CALL __eq
866
OR EAX,EAX
867
JNE _1_87
868
JMP _1_86
869
_1_87:
870
MOV EAX,_1_67+8
871
PUSH EAX
872
MOV CL,1
873
CALL _error
874
ADD ESP,4
875
_1_86:
876
XOR EAX,EAX
877
PUSH EAX
878
LEA EAX,[EBP+16]
879
MOV EBX,EAX
880
MOV EAX,4
881
MOV [EBX],EAX
882
PUSH EAX
883
MOV CL,2
884
CALL _stowlit
885
ADD ESP,8
886
_1_80:
887
LEA EAX,[EBP+12]
888
MOV EBX,EAX
889
MOV EAX, [EBX]
890
PUSH EAX
891
MOV CL,1
892
CALL _public
893
ADD ESP,4
894
MOV EAX,[_litptr]
895
OR EAX,EAX
896
JG _1_89
897
JMP _1_88
898
_1_89:
899
LEA EAX,[EBP+16]
900
MOV EBX,EAX
901
MOV EAX, [EBX]
902
PUSH EAX
903
MOV CL,1
904
CALL _dumplits
905
ADD ESP,4
906
JMP _1_90
907
_1_88:
908
LEA EAX,[EBP+8]
909
MOV EBX,EAX
910
MOV EAX, [EBX]
911
OR EAX,EAX
912
JG _1_92
913
JMP _1_91
914
_1_92:
915
MOV EAX,58
916
PUSH EAX
917
MOV EAX,[_output]
918
PUSH EAX
919
MOV CL,2
920
CALL _OS_fputc
921
ADD ESP,8
922
_1_91:
923
_1_90:
924
LEA EAX,[EBP+16]
925
MOV EBX,EAX
926
MOV EAX, [EBX]
927
PUSH EAX
928
LEA EAX,[EBP+8]
929
MOV EBX,EAX
930
MOV EAX, [EBX]
931
PUSH EAX
932
MOV CL,2
933
CALL _dumpzero
934
ADD ESP,8
935
MOV ESP,EBP
936
POP EBP
937
RET
938
_1_67 DB 61,0,123,0,44,0,125,0,110,101
939
 DB 101,100,32,97,114,114,97,121,32,115
940
 DB 105,122,101,0
941
 
942
_init:
943
PUSH EBP
944
MOV EBP,ESP
945
ADD ESP,-4
946
LEA EAX,[EBP-4]
947
PUSH EAX
948
MOV CL,1
949
CALL _string
950
ADD ESP,4
951
OR EAX,EAX
952
JNE _1_95
953
JMP _1_94
954
_1_95:
955
LEA EAX,[EBP+12]
956
MOV EBX,EAX
957
MOV EAX, [EBX]
958
MOV EBX,EAX
959
MOV EAX,1
960
CALL __eq
961
OR EAX,EAX
962
JE _1_99
963
JMP _1_97
964
_1_99:
965
LEA EAX,[EBP+16]
966
MOV EBX,EAX
967
MOV EAX, [EBX]
968
MOV EBX,EAX
969
MOV EAX,1
970
CALL __ne
971
OR EAX,EAX
972
JE _1_100
973
JMP _1_97
974
_1_100:
975
XOR EAX,EAX
976
JMP _1_98
977
_1_97:
978
MOV EAX,1
979
_1_98:
980
OR EAX,EAX
981
JNE _1_101
982
JMP _1_96
983
_1_101:
984
MOV EAX,_1_93+0
985
PUSH EAX
986
MOV CL,1
987
CALL _error
988
ADD ESP,4
989
_1_96:
990
LEA EAX,[EBP+8]
991
MOV EBX,EAX
992
MOV EAX, [EBX]
993
PUSH EAX
994
MOV EBX,EAX
995
MOV EAX, [EBX]
996
PUSH EAX
997
MOV EAX,[_litptr]
998
PUSH EAX
999
LEA EAX,[EBP-4]
1000
MOV EBX,EAX
1001
MOV EAX, [EBX]
1002
POP EBX
1003
XCHG EAX,EBX
1004
SUB EAX,EBX
1005
POP EBX
1006
XCHG EAX,EBX
1007
SUB EAX,EBX
1008
POP EBX
1009
MOV [EBX],EAX
1010
LEA EAX,[EBP+12]
1011
MOV EBX,EAX
1012
MOV EAX, [EBX]
1013
MOV EBX,EAX
1014
MOV EAX,3
1015
CALL __eq
1016
OR EAX,EAX
1017
JNE _1_103
1018
JMP _1_102
1019
_1_103:
1020
XOR CL,CL
1021
CALL _point
1022
_1_102:
1023
JMP _1_104
1024
_1_94:
1025
LEA EAX,[EBP-4]
1026
PUSH EAX
1027
MOV CL,1
1028
CALL _constexp
1029
ADD ESP,4
1030
OR EAX,EAX
1031
JNE _1_106
1032
JMP _1_105
1033
_1_106:
1034
LEA EAX,[EBP+12]
1035
MOV EBX,EAX
1036
MOV EAX, [EBX]
1037
MOV EBX,EAX
1038
MOV EAX,3
1039
CALL __eq
1040
OR EAX,EAX
1041
JNE _1_108
1042
JMP _1_107
1043
_1_108:
1044
MOV EAX,_1_93+42
1045
PUSH EAX
1046
MOV CL,1
1047
CALL _error
1048
ADD ESP,4
1049
_1_107:
1050
LEA EAX,[EBP-4]
1051
MOV EBX,EAX
1052
MOV EAX, [EBX]
1053
PUSH EAX
1054
LEA EAX,[EBP+16]
1055
MOV EBX,EAX
1056
MOV EAX, [EBX]
1057
PUSH EAX
1058
MOV CL,2
1059
CALL _stowlit
1060
ADD ESP,8
1061
LEA EAX,[EBP+8]
1062
MOV EBX,EAX
1063
MOV EAX, [EBX]
1064
PUSH EAX
1065
MOV EBX,EAX
1066
MOV EAX, [EBX]
1067
MOV EBX,EAX
1068
MOV EAX,1
1069
XCHG EAX,EBX
1070
SUB EAX,EBX
1071
POP EBX
1072
MOV [EBX],EAX
1073
_1_105:
1074
_1_104:
1075
MOV ESP,EBP
1076
POP EBP
1077
RET
1078
_1_93 DB 109,117,115,116,32,97,115,115,105,103
1079
 DB 110,32,116,111,32,99,104,97,114,32
1080
 DB 112,111,105,110,116,101,114,32,111,114
1081
 DB 32,99,104,97,114,32,97,114,114,97
1082
 DB 121,0,99,97,110,110,111,116,32,97
1083
 DB 115,115,105,103,110,32,116,111,32,112
1084
 DB 111,105,110,116,101,114,0
1085
 
1086
_needsub:
1087
PUSH EBP
1088
MOV EBP,ESP
1089
ADD ESP,-4
1090
MOV EAX,_1_109+0
1091
PUSH EAX
1092
MOV CL,1
1093
CALL _match
1094
ADD ESP,4
1095
OR EAX,EAX
1096
JNE _1_111
1097
JMP _1_110
1098
_1_111:
1099
XOR EAX,EAX
1100
MOV ESP,EBP
1101
POP EBP
1102
RET
1103
_1_110:
1104
LEA EAX,[EBP-4]
1105
PUSH EAX
1106
MOV CL,1
1107
CALL _constexp
1108
ADD ESP,4
1109
OR EAX,EAX
1110
JE _1_113
1111
JMP _1_112
1112
_1_113:
1113
LEA EAX,[EBP-4]
1114
MOV EBX,EAX
1115
MOV EAX,1
1116
MOV [EBX],EAX
1117
_1_112:
1118
LEA EAX,[EBP-4]
1119
MOV EBX,EAX
1120
MOV EAX, [EBX]
1121
OR EAX,EAX
1122
JL _1_115
1123
JMP _1_114
1124
_1_115:
1125
MOV EAX,_1_109+2
1126
PUSH EAX
1127
MOV CL,1
1128
CALL _error
1129
ADD ESP,4
1130
LEA EAX,[EBP-4]
1131
PUSH EAX
1132
LEA EAX,[EBP-4]
1133
MOV EBX,EAX
1134
MOV EAX, [EBX]
1135
NEG EAX
1136
POP EBX
1137
MOV [EBX],EAX
1138
_1_114:
1139
MOV EAX,_1_109+24
1140
PUSH EAX
1141
MOV CL,1
1142
CALL _need
1143
ADD ESP,4
1144
LEA EAX,[EBP-4]
1145
MOV EBX,EAX
1146
MOV EAX, [EBX]
1147
MOV ESP,EBP
1148
POP EBP
1149
RET
1150
_1_109 DB 93,0,110,101,103,97,116,105,118,101
1151
 DB 32,115,105,122,101,32,105,108,108,101
1152
 DB 103,97,108,0,93,0
1153
 
1154
_doinclud:
1155
PUSH EBP
1156
MOV EBP,ESP
1157
ADD ESP,-36
1158
XOR CL,CL
1159
CALL _blanks
1160
MOV EAX,[_lptr]
1161
MOV EBX,EAX
1162
MOVSX EAX,BYTE [EBX]
1163
MOV EBX,EAX
1164
MOV EAX,34
1165
CALL __eq
1166
OR EAX,EAX
1167
JE _1_120
1168
JMP _1_118
1169
_1_120:
1170
MOV EAX,[_lptr]
1171
MOV EBX,EAX
1172
MOVSX EAX,BYTE [EBX]
1173
MOV EBX,EAX
1174
MOV EAX,60
1175
CALL __eq
1176
OR EAX,EAX
1177
JE _1_121
1178
JMP _1_118
1179
_1_121:
1180
XOR EAX,EAX
1181
JMP _1_119
1182
_1_118:
1183
MOV EAX,1
1184
_1_119:
1185
OR EAX,EAX
1186
JNE _1_122
1187
JMP _1_117
1188
_1_122:
1189
MOV EAX,[_lptr]
1190
INC EAX
1191
MOV DWORD [_lptr],EAX
1192
_1_117:
1193
LEA EAX,[EBP-4]
1194
MOV EBX,EAX
1195
XOR EAX,EAX
1196
MOV [EBX],EAX
1197
_1_123:
1198
MOV EAX,[_lptr]
1199
PUSH EAX
1200
LEA EAX,[EBP-4]
1201
MOV EBX,EAX
1202
MOV EAX, [EBX]
1203
POP EBX
1204
ADD EAX,EBX
1205
MOV EBX,EAX
1206
MOVSX EAX,BYTE [EBX]
1207
OR EAX,EAX
1208
JNE _1_127
1209
JMP _1_125
1210
_1_127:
1211
MOV EAX,[_lptr]
1212
PUSH EAX
1213
LEA EAX,[EBP-4]
1214
MOV EBX,EAX
1215
MOV EAX, [EBX]
1216
POP EBX
1217
ADD EAX,EBX
1218
MOV EBX,EAX
1219
MOVSX EAX,BYTE [EBX]
1220
MOV EBX,EAX
1221
MOV EAX,34
1222
CALL __ne
1223
OR EAX,EAX
1224
JNE _1_128
1225
JMP _1_125
1226
_1_128:
1227
MOV EAX,[_lptr]
1228
PUSH EAX
1229
LEA EAX,[EBP-4]
1230
MOV EBX,EAX
1231
MOV EAX, [EBX]
1232
POP EBX
1233
ADD EAX,EBX
1234
MOV EBX,EAX
1235
MOVSX EAX,BYTE [EBX]
1236
MOV EBX,EAX
1237
MOV EAX,62
1238
CALL __ne
1239
OR EAX,EAX
1240
JNE _1_129
1241
JMP _1_125
1242
_1_129:
1243
MOV EAX,[_lptr]
1244
PUSH EAX
1245
LEA EAX,[EBP-4]
1246
MOV EBX,EAX
1247
MOV EAX, [EBX]
1248
POP EBX
1249
ADD EAX,EBX
1250
MOV EBX,EAX
1251
MOVSX EAX,BYTE [EBX]
1252
MOV EBX,EAX
1253
MOV EAX,10
1254
CALL __ne
1255
OR EAX,EAX
1256
JNE _1_130
1257
JMP _1_125
1258
_1_130:
1259
MOV EAX,1
1260
JMP _1_126
1261
_1_125:
1262
XOR EAX,EAX
1263
_1_126:
1264
OR EAX,EAX
1265
JNE _1_131
1266
JMP _1_124
1267
_1_131:
1268
LEA EAX,[EBP-36]
1269
PUSH EAX
1270
LEA EAX,[EBP-4]
1271
MOV EBX,EAX
1272
MOV EAX, [EBX]
1273
POP EBX
1274
ADD EAX,EBX
1275
PUSH EAX
1276
MOV EAX,[_lptr]
1277
PUSH EAX
1278
LEA EAX,[EBP-4]
1279
MOV EBX,EAX
1280
MOV EAX, [EBX]
1281
POP EBX
1282
ADD EAX,EBX
1283
MOV EBX,EAX
1284
MOVSX EAX,BYTE [EBX]
1285
POP EBX
1286
MOV [EBX],AL
1287
LEA EAX,[EBP-4]
1288
MOV EBX,EAX
1289
MOV EAX, [EBX]
1290
INC EAX
1291
MOV [EBX],EAX
1292
JMP _1_123
1293
_1_124:
1294
LEA EAX,[EBP-36]
1295
PUSH EAX
1296
LEA EAX,[EBP-4]
1297
MOV EBX,EAX
1298
MOV EAX, [EBX]
1299
POP EBX
1300
ADD EAX,EBX
1301
MOV EBX,EAX
1302
XOR EAX,EAX
1303
MOV [EBX],AL
1304
LEA EAX,[EBP-36]
1305
PUSH EAX
1306
MOV EAX,_1_116+0
1307
PUSH EAX
1308
MOV CL,2
1309
CALL _OS_fopen
1310
ADD ESP,8
1311
MOV DWORD [_input2],EAX
1312
OR EAX,EAX
1313
JE _1_133
1314
JMP _1_132
1315
_1_133:
1316
MOV EAX,-1
1317
MOV DWORD [_input2],EAX
1318
MOV EAX,_1_116+2
1319
PUSH EAX
1320
MOV CL,1
1321
CALL _error
1322
ADD ESP,4
1323
_1_132:
1324
XOR CL,CL
1325
CALL _kill
1326
MOV ESP,EBP
1327
POP EBP
1328
RET
1329
_1_116 DB 114,0,111,112,101,110,32,102,97,105
1330
 DB 108,117,114,101,32,111,110,32,105,110
1331
 DB 99,108,117,100,101,32,102,105,108,101
1332
 DB 0
1333
 
1334
_dodefine:
1335
PUSH EBP
1336
MOV EBP,ESP
1337
ADD ESP,-4
1338
MOV EAX,_msname
1339
PUSH EAX
1340
MOV CL,1
1341
CALL _symname
1342
ADD ESP,4
1343
OR EAX,EAX
1344
JE _1_136
1345
JMP _1_135
1346
_1_136:
1347
XOR CL,CL
1348
CALL _illname
1349
XOR CL,CL
1350
CALL _kill
1351
MOV ESP,EBP
1352
POP EBP
1353
RET
1354
_1_135:
1355
LEA EAX,[EBP-4]
1356
MOV EBX,EAX
1357
XOR EAX,EAX
1358
MOV [EBX],EAX
1359
MOV EAX,_msname
1360
PUSH EAX
1361
MOV EAX,[_macn]
1362
PUSH EAX
1363
MOV EAX,11
1364
PUSH EAX
1365
MOV EAX,[_macn]
1366
MOV EBX,3300
1367
ADD EAX,EBX
1368
PUSH EAX
1369
MOV EAX,300
1370
PUSH EAX
1371
XOR EAX,EAX
1372
PUSH EAX
1373
MOV CL,6
1374
CALL _search
1375
ADD ESP,24
1376
OR EAX,EAX
1377
JE _1_138
1378
JMP _1_137
1379
_1_138:
1380
MOV EAX,[_cptr]
1381
MOV DWORD [_cptr2],EAX
1382
OR EAX,EAX
1383
JNE _1_140
1384
JMP _1_139
1385
_1_140:
1386
_1_141:
1387
MOV EAX,[_cptr2]
1388
INC EAX
1389
MOV DWORD [_cptr2],EAX
1390
DEC EAX
1391
PUSH EAX
1392
MOV EAX,_msname
1393
PUSH EAX
1394
LEA EAX,[EBP-4]
1395
MOV EBX,EAX
1396
MOV EAX, [EBX]
1397
INC EAX
1398
MOV [EBX],EAX
1399
DEC EAX
1400
POP EBX
1401
ADD EAX,EBX
1402
MOV EBX,EAX
1403
MOVSX EAX,BYTE [EBX]
1404
POP EBX
1405
MOV [EBX],AL
1406
OR EAX,EAX
1407
JNE _1_143
1408
JMP _1_142
1409
_1_143:
1410
JMP _1_141
1411
_1_142:
1412
JMP _1_144
1413
_1_139:
1414
MOV EAX,_1_134+0
1415
PUSH EAX
1416
MOV CL,1
1417
CALL _error
1418
ADD ESP,4
1419
MOV ESP,EBP
1420
POP EBP
1421
RET
1422
_1_144:
1423
_1_137:
1424
MOV EAX,[_macptr]
1425
PUSH EAX
1426
MOV EAX,[_cptr]
1427
MOV EBX,9
1428
ADD EAX,EBX
1429
PUSH EAX
1430
MOV EAX,2
1431
PUSH EAX
1432
MOV CL,3
1433
CALL _putint
1434
ADD ESP,12
1435
_1_145:
1436
XOR CL,CL
1437
CALL _white
1438
OR EAX,EAX
1439
JNE _1_147
1440
JMP _1_146
1441
_1_147:
1442
XOR CL,CL
1443
CALL _gch
1444
JMP _1_145
1445
_1_146:
1446
_1_148:
1447
XOR CL,CL
1448
CALL _gch
1449
PUSH EAX
1450
MOV CL,1
1451
CALL _putmac
1452
ADD ESP,4
1453
OR EAX,EAX
1454
JNE _1_150
1455
JMP _1_149
1456
_1_150:
1457
JMP _1_148
1458
_1_149:
1459
MOV EAX,[_macptr]
1460
MOV EBX,EAX
1461
MOV EAX,2099
1462
CALL __ge
1463
OR EAX,EAX
1464
JNE _1_152
1465
JMP _1_151
1466
_1_152:
1467
MOV EAX,_1_134+22
1468
PUSH EAX
1469
MOV CL,1
1470
CALL _error
1471
ADD ESP,4
1472
MOV EAX,7
1473
PUSH EAX
1474
MOV CL,1
1475
CALL _OS_exit
1476
ADD ESP,4
1477
_1_151:
1478
MOV ESP,EBP
1479
POP EBP
1480
RET
1481
_1_134 DB 109,97,99,114,111,32,110,97,109,101
1482
 DB 32,116,97,98,108,101,32,102,117,108
1483
 DB 108,0,109,97,99,114,111,32,115,116
1484
 DB 114,105,110,103,32,113,117,101,117,101
1485
 DB 32,102,117,108,108,0
1486
 
1487
_putmac:
1488
PUSH EBP
1489
MOV EBP,ESP
1490
MOV EAX,[_macq]
1491
PUSH EAX
1492
MOV EAX,[_macptr]
1493
POP EBX
1494
ADD EAX,EBX
1495
PUSH EAX
1496
LEA EAX,[EBP+8]
1497
MOV EBX,EAX
1498
MOVSX EAX,BYTE [EBX]
1499
POP EBX
1500
MOV [EBX],AL
1501
MOV EAX,[_macptr]
1502
MOV EBX,EAX
1503
MOV EAX,2099
1504
CALL __lt
1505
OR EAX,EAX
1506
JNE _1_155
1507
JMP _1_154
1508
_1_155:
1509
MOV EAX,[_macptr]
1510
INC EAX
1511
MOV DWORD [_macptr],EAX
1512
_1_154:
1513
LEA EAX,[EBP+8]
1514
MOV EBX,EAX
1515
MOVSX EAX,BYTE [EBX]
1516
POP EBP
1517
RET
1518
 
1519
_dofuncti:
1520
PUSH EBP
1521
MOV EBP,ESP
1522
ADD ESP,-4
1523
XOR EAX,EAX
1524
MOV DWORD [_litptr],EAX
1525
MOV DWORD [_lastst],EAX
1526
MOV DWORD [_noloc],EAX
1527
MOV DWORD [_nogo],EAX
1528
XOR CL,CL
1529
CALL _getlabel
1530
MOV DWORD [_litlab],EAX
1531
MOV EAX,[_symtab]
1532
MOV DWORD [_locptr],EAX
1533
MOV EAX,_1_156+0
1534
PUSH EAX
1535
MOV CL,1
1536
CALL _match
1537
ADD ESP,4
1538
OR EAX,EAX
1539
JNE _1_158
1540
JMP _1_157
1541
_1_158:
1542
XOR CL,CL
1543
CALL _blanks
1544
_1_157:
1545
MOVSX EAX,BYTE [_monitor]
1546
OR EAX,EAX
1547
JNE _1_160
1548
JMP _1_159
1549
_1_160:
1550
MOV EAX,[_line]
1551
PUSH EAX
1552
MOV EAX,__iob
1553
MOV EBX,64
1554
ADD EAX,EBX
1555
PUSH EAX
1556
MOV CL,2
1557
CALL _lout
1558
ADD ESP,8
1559
_1_159:
1560
MOV EAX,_ssname
1561
PUSH EAX
1562
MOV CL,1
1563
CALL _symname
1564
ADD ESP,4
1565
OR EAX,EAX
1566
JE _1_162
1567
JMP _1_161
1568
_1_162:
1569
MOV EAX,_1_156+5
1570
PUSH EAX
1571
MOV CL,1
1572
CALL _error
1573
ADD ESP,4
1574
XOR EAX,EAX
1575
MOV DWORD [_errflag],EAX
1576
XOR CL,CL
1577
CALL _kill
1578
MOV ESP,EBP
1579
POP EBP
1580
RET
1581
_1_161:
1582
LEA EAX,[EBP-4]
1583
PUSH EAX
1584
MOV EAX,_ssname
1585
PUSH EAX
1586
MOV CL,1
1587
CALL _findglb
1588
ADD ESP,4
1589
POP EBX
1590
MOV [EBX],EAX
1591
OR EAX,EAX
1592
JNE _1_164
1593
JMP _1_163
1594
_1_164:
1595
LEA EAX,[EBP-4]
1596
MOV EBX,EAX
1597
MOV EAX, [EBX]
1598
MOV EBX,2
1599
ADD EAX,EBX
1600
MOV EBX,EAX
1601
MOVSX EAX,BYTE [EBX]
1602
MOV EBX,EAX
1603
MOV EAX,4
1604
CALL __eq
1605
OR EAX,EAX
1606
JNE _1_166
1607
JMP _1_165
1608
_1_166:
1609
LEA EAX,[EBP-4]
1610
MOV EBX,EAX
1611
MOV EAX, [EBX]
1612
MOV EBX,2
1613
ADD EAX,EBX
1614
MOV EBX,EAX
1615
MOV EAX,2
1616
MOV [EBX],AL
1617
JMP _1_167
1618
_1_165:
1619
MOV EAX,_ssname
1620
PUSH EAX
1621
MOV CL,1
1622
CALL _multidef
1623
ADD ESP,4
1624
_1_167:
1625
JMP _1_168
1626
_1_163:
1627
MOV EAX,_ssname
1628
PUSH EAX
1629
MOV EAX,4
1630
PUSH EAX
1631
MOV EAX,16
1632
PUSH EAX
1633
XOR EAX,EAX
1634
PUSH EAX
1635
XOR EAX,EAX
1636
PUSH EAX
1637
MOV EAX,_glbptr
1638
PUSH EAX
1639
MOV EAX,2
1640
PUSH EAX
1641
MOV CL,7
1642
CALL _addsym
1643
ADD ESP,28
1644
_1_168:
1645
MOV EAX,4
1646
PUSH EAX
1647
MOV CL,1
1648
CALL _public
1649
ADD ESP,4
1650
XOR EAX,EAX
1651
MOV DWORD [_argstk],EAX
1652
MOV EAX,_1_156+37
1653
PUSH EAX
1654
MOV CL,1
1655
CALL _match
1656
ADD ESP,4
1657
OR EAX,EAX
1658
JE _1_170
1659
JMP _1_169
1660
_1_170:
1661
MOV EAX,_1_156+39
1662
PUSH EAX
1663
MOV CL,1
1664
CALL _error
1665
ADD ESP,4
1666
_1_169:
1667
_1_171:
1668
MOV EAX,_1_156+53
1669
PUSH EAX
1670
MOV CL,1
1671
CALL _match
1672
ADD ESP,4
1673
OR EAX,EAX
1674
JE _1_173
1675
JMP _1_172
1676
_1_173:
1677
MOV EAX,_ssname
1678
PUSH EAX
1679
MOV CL,1
1680
CALL _symname
1681
ADD ESP,4
1682
OR EAX,EAX
1683
JNE _1_175
1684
JMP _1_174
1685
_1_175:
1686
MOV EAX,_ssname
1687
PUSH EAX
1688
MOV CL,1
1689
CALL _findloc
1690
ADD ESP,4
1691
OR EAX,EAX
1692
JNE _1_177
1693
JMP _1_176
1694
_1_177:
1695
MOV EAX,_ssname
1696
PUSH EAX
1697
MOV CL,1
1698
CALL _multidef
1699
ADD ESP,4
1700
JMP _1_178
1701
_1_176:
1702
MOV EAX,_ssname
1703
PUSH EAX
1704
XOR EAX,EAX
1705
PUSH EAX
1706
XOR EAX,EAX
1707
PUSH EAX
1708
XOR EAX,EAX
1709
PUSH EAX
1710
MOV EAX,[_argstk]
1711
PUSH EAX
1712
MOV EAX,_locptr
1713
PUSH EAX
1714
MOV EAX,1
1715
PUSH EAX
1716
MOV CL,7
1717
CALL _addsym
1718
ADD ESP,28
1719
MOV EAX,[_argstk]
1720
MOV EBX,4
1721
ADD EAX,EBX
1722
MOV DWORD [_argstk],EAX
1723
_1_178:
1724
JMP _1_179
1725
_1_174:
1726
MOV EAX,_1_156+55
1727
PUSH EAX
1728
MOV CL,1
1729
CALL _error
1730
ADD ESP,4
1731
XOR CL,CL
1732
CALL _skip
1733
_1_179:
1734
XOR CL,CL
1735
CALL _blanks
1736
MOV EAX,[_lptr]
1737
PUSH EAX
1738
MOV EAX,_1_156+77
1739
PUSH EAX
1740
MOV CL,2
1741
CALL _streq
1742
ADD ESP,8
1743
MOV EBX,EAX
1744
XOR EAX,EAX
1745
CALL __eq
1746
OR EAX,EAX
1747
JNE _1_183
1748
JMP _1_181
1749
_1_183:
1750
MOV EAX,_1_156+79
1751
PUSH EAX
1752
MOV CL,1
1753
CALL _match
1754
ADD ESP,4
1755
MOV EBX,EAX
1756
XOR EAX,EAX
1757
CALL __eq
1758
OR EAX,EAX
1759
JNE _1_184
1760
JMP _1_181
1761
_1_184:
1762
MOV EAX,1
1763
JMP _1_182
1764
_1_181:
1765
XOR EAX,EAX
1766
_1_182:
1767
OR EAX,EAX
1768
JNE _1_185
1769
JMP _1_180
1770
_1_185:
1771
MOV EAX,_1_156+81
1772
PUSH EAX
1773
MOV CL,1
1774
CALL _error
1775
ADD ESP,4
1776
_1_180:
1777
XOR CL,CL
1778
CALL _endst
1779
OR EAX,EAX
1780
JNE _1_187
1781
JMP _1_186
1782
_1_187:
1783
JMP _1_172
1784
_1_186:
1785
JMP _1_171
1786
_1_172:
1787
XOR EAX,EAX
1788
MOV DWORD [_csp],EAX
1789
MOV EAX,[_argstk]
1790
MOV EBX,4
1791
ADD EAX,EBX
1792
MOV DWORD [_argtop],EAX
1793
_1_188:
1794
MOV EAX,[_argstk]
1795
OR EAX,EAX
1796
JNE _1_190
1797
JMP _1_189
1798
_1_190:
1799
MOV EAX,_1_156+90
1800
PUSH EAX
1801
MOV EAX,4
1802
PUSH EAX
1803
MOV CL,2
1804
CALL _amatch
1805
ADD ESP,8
1806
OR EAX,EAX
1807
JNE _1_192
1808
JMP _1_191
1809
_1_192:
1810
MOV EAX,4
1811
PUSH EAX
1812
MOV CL,1
1813
CALL _doargs
1814
ADD ESP,4
1815
XOR CL,CL
1816
CALL _ns
1817
JMP _1_193
1818
_1_191:
1819
MOV EAX,_1_156+95
1820
PUSH EAX
1821
MOV EAX,3
1822
PUSH EAX
1823
MOV CL,2
1824
CALL _amatch
1825
ADD ESP,8
1826
OR EAX,EAX
1827
JNE _1_195
1828
JMP _1_194
1829
_1_195:
1830
MOV EAX,16
1831
PUSH EAX
1832
MOV CL,1
1833
CALL _doargs
1834
ADD ESP,4
1835
XOR CL,CL
1836
CALL _ns
1837
JMP _1_196
1838
_1_194:
1839
MOV EAX,_1_156+99
1840
PUSH EAX
1841
MOV EAX,8
1842
PUSH EAX
1843
MOV CL,2
1844
CALL _amatch
1845
ADD ESP,8
1846
OR EAX,EAX
1847
JNE _1_198
1848
JMP _1_197
1849
_1_198:
1850
MOV EAX,_1_156+108
1851
PUSH EAX
1852
MOV EAX,4
1853
PUSH EAX
1854
MOV CL,2
1855
CALL _amatch
1856
ADD ESP,8
1857
OR EAX,EAX
1858
JNE _1_200
1859
JMP _1_199
1860
_1_200:
1861
MOV EAX,5
1862
PUSH EAX
1863
MOV CL,1
1864
CALL _doargs
1865
ADD ESP,4
1866
XOR CL,CL
1867
CALL _ns
1868
JMP _1_201
1869
_1_199:
1870
MOV EAX,_1_156+113
1871
PUSH EAX
1872
MOV EAX,3
1873
PUSH EAX
1874
MOV CL,2
1875
CALL _amatch
1876
ADD ESP,8
1877
MOV EAX,17
1878
PUSH EAX
1879
MOV CL,1
1880
CALL _doargs
1881
ADD ESP,4
1882
XOR CL,CL
1883
CALL _ns
1884
_1_201:
1885
JMP _1_202
1886
_1_197:
1887
MOV EAX,_1_156+117
1888
PUSH EAX
1889
MOV CL,1
1890
CALL _error
1891
ADD ESP,4
1892
JMP _1_189
1893
_1_202:
1894
_1_196:
1895
_1_193:
1896
JMP _1_188
1897
_1_189:
1898
MOV EAX,18
1899
PUSH EAX
1900
XOR EAX,EAX
1901
PUSH EAX
1902
MOV CL,2
1903
CALL _gen
1904
ADD ESP,8
1905
XOR CL,CL
1906
CALL _statemen
1907
MOV EAX,[_lastst]
1908
MOV EBX,EAX
1909
MOV EAX,3
1910
CALL __ne
1911
OR EAX,EAX
1912
JNE _1_206
1913
JMP _1_204
1914
_1_206:
1915
MOV EAX,[_lastst]
1916
MOV EBX,EAX
1917
MOV EAX,13
1918
CALL __ne
1919
OR EAX,EAX
1920
JNE _1_207
1921
JMP _1_204
1922
_1_207:
1923
MOV EAX,1
1924
JMP _1_205
1925
_1_204:
1926
XOR EAX,EAX
1927
_1_205:
1928
OR EAX,EAX
1929
JNE _1_208
1930
JMP _1_203
1931
_1_208:
1932
MOV EAX,67
1933
PUSH EAX
1934
XOR EAX,EAX
1935
PUSH EAX
1936
MOV CL,2
1937
CALL _gen
1938
ADD ESP,8
1939
_1_203:
1940
MOV EAX,[_litptr]
1941
OR EAX,EAX
1942
JNE _1_210
1943
JMP _1_209
1944
_1_210:
1945
MOV EAX,1
1946
PUSH EAX
1947
MOV CL,1
1948
CALL _toseg
1949
ADD ESP,4
1950
MOV EAX,66
1951
PUSH EAX
1952
MOV EAX,[_litlab]
1953
PUSH EAX
1954
MOV CL,2
1955
CALL _gen
1956
ADD ESP,8
1957
MOV EAX,1
1958
PUSH EAX
1959
MOV CL,1
1960
CALL _dumplits
1961
ADD ESP,4
1962
_1_209:
1963
MOV ESP,EBP
1964
POP EBP
1965
RET
1966
_1_156 DB 118,111,105,100,0,105,108,108,101,103
1967
 DB 97,108,32,102,117,110,99,116,105,111
1968
 DB 110,32,111,114,32,100,101,99,108,97
1969
 DB 114,97,116,105,111,110,0,40,0,110
1970
 DB 111,32,111,112,101,110,32,112,97,114
1971
 DB 101,110,0,41,0,105,108,108,101,103
1972
 DB 97,108,32,97,114,103,117,109,101,110
1973
 DB 116,32,110,97,109,101,0,41,0,44
1974
 DB 0,110,111,32,99,111,109,109,97,0
1975
 DB 99,104,97,114,0,105,110,116,0,117
1976
 DB 110,115,105,103,110,101,100,0,99,104
1977
 DB 97,114,0,105,110,116,0,119,114,111
1978
 DB 110,103,32,110,117,109,98,101,114,32
1979
 DB 111,102,32,97,114,103,117,109,101,110
1980
 DB 116,115,0
1981
 
1982
_doargs:
1983
PUSH EBP
1984
MOV EBP,ESP
1985
ADD ESP,-16
1986
_1_212:
1987
MOV EAX,[_argstk]
1988
OR EAX,EAX
1989
JE _1_215
1990
JMP _1_214
1991
_1_215:
1992
MOV ESP,EBP
1993
POP EBP
1994
RET
1995
_1_214:
1996
LEA EAX,[EBP+8]
1997
MOV EBX,EAX
1998
MOV EAX, [EBX]
1999
PUSH EAX
2000
MOV EAX,3
2001
PUSH EAX
2002
LEA EAX,[EBP-4]
2003
PUSH EAX
2004
LEA EAX,[EBP-8]
2005
PUSH EAX
2006
MOV CL,4
2007
CALL _decl
2008
ADD ESP,16
2009
OR EAX,EAX
2010
JNE _1_217
2011
JMP _1_216
2012
_1_217:
2013
LEA EAX,[EBP-16]
2014
PUSH EAX
2015
MOV EAX,_ssname
2016
PUSH EAX
2017
MOV CL,1
2018
CALL _findloc
2019
ADD ESP,4
2020
POP EBX
2021
MOV [EBX],EAX
2022
OR EAX,EAX
2023
JNE _1_219
2024
JMP _1_218
2025
_1_219:
2026
LEA EAX,[EBP-16]
2027
MOV EBX,EAX
2028
MOV EAX, [EBX]
2029
PUSH EAX
2030
LEA EAX,[EBP-4]
2031
MOV EBX,EAX
2032
MOV EAX, [EBX]
2033
POP EBX
2034
MOV [EBX],AL
2035
LEA EAX,[EBP-16]
2036
MOV EBX,EAX
2037
MOV EAX, [EBX]
2038
MOV EBX,1
2039
ADD EAX,EBX
2040
PUSH EAX
2041
LEA EAX,[EBP+8]
2042
MOV EBX,EAX
2043
MOV EAX, [EBX]
2044
POP EBX
2045
MOV [EBX],AL
2046
LEA EAX,[EBP-8]
2047
MOV EBX,EAX
2048
MOV EAX, [EBX]
2049
PUSH EAX
2050
LEA EAX,[EBP-16]
2051
MOV EBX,EAX
2052
MOV EAX, [EBX]
2053
MOV EBX,3
2054
ADD EAX,EBX
2055
PUSH EAX
2056
MOV EAX,4
2057
PUSH EAX
2058
MOV CL,3
2059
CALL _putint
2060
ADD ESP,12
2061
MOV EAX,[_argtop]
2062
PUSH EAX
2063
LEA EAX,[EBP-16]
2064
MOV EBX,EAX
2065
MOV EAX, [EBX]
2066
MOV EBX,5
2067
ADD EAX,EBX
2068
MOV EBX,2
2069
ADD EAX,EBX
2070
PUSH EAX
2071
MOV EAX,4
2072
PUSH EAX
2073
MOV CL,2
2074
CALL _getint
2075
ADD ESP,8
2076
POP EBX
2077
XCHG EAX,EBX
2078
SUB EAX,EBX
2079
PUSH EAX
2080
LEA EAX,[EBP-16]
2081
MOV EBX,EAX
2082
MOV EAX, [EBX]
2083
MOV EBX,5
2084
ADD EAX,EBX
2085
MOV EBX,2
2086
ADD EAX,EBX
2087
PUSH EAX
2088
MOV EAX,4
2089
PUSH EAX
2090
MOV CL,3
2091
CALL _putint
2092
ADD ESP,12
2093
JMP _1_220
2094
_1_218:
2095
MOV EAX,_1_211+0
2096
PUSH EAX
2097
MOV CL,1
2098
CALL _error
2099
ADD ESP,4
2100
_1_220:
2101
_1_216:
2102
MOV EAX,[_argstk]
2103
MOV EBX,EAX
2104
MOV EAX,4
2105
XCHG EAX,EBX
2106
SUB EAX,EBX
2107
MOV DWORD [_argstk],EAX
2108
XOR CL,CL
2109
CALL _endst
2110
OR EAX,EAX
2111
JNE _1_222
2112
JMP _1_221
2113
_1_222:
2114
MOV ESP,EBP
2115
POP EBP
2116
RET
2117
_1_221:
2118
MOV EAX,_1_211+16
2119
PUSH EAX
2120
MOV CL,1
2121
CALL _match
2122
ADD ESP,4
2123
OR EAX,EAX
2124
JE _1_224
2125
JMP _1_223
2126
_1_224:
2127
MOV EAX,_1_211+18
2128
PUSH EAX
2129
MOV CL,1
2130
CALL _error
2131
ADD ESP,4
2132
_1_223:
2133
JMP _1_212
2134
_1_213:
2135
MOV ESP,EBP
2136
POP EBP
2137
RET
2138
_1_211 DB 110,111,116,32,97,110,32,97,114,103
2139
 DB 117,109,101,110,116,0,44,0,110,111
2140
 DB 32,99,111,109,109,97,0
2141
 
2142
_decl:
2143
PUSH EBP
2144
MOV EBP,ESP
2145
ADD ESP,-12
2146
MOV EAX,_1_225+0
2147
PUSH EAX
2148
MOV CL,1
2149
CALL _match
2150
ADD ESP,4
2151
OR EAX,EAX
2152
JNE _1_227
2153
JMP _1_226
2154
_1_227:
2155
LEA EAX,[EBP-8]
2156
MOV EBX,EAX
2157
MOV EAX,1
2158
MOV [EBX],EAX
2159
JMP _1_228
2160
_1_226:
2161
LEA EAX,[EBP-8]
2162
MOV EBX,EAX
2163
XOR EAX,EAX
2164
MOV [EBX],EAX
2165
_1_228:
2166
MOV EAX,_1_225+2
2167
PUSH EAX
2168
MOV CL,1
2169
CALL _match
2170
ADD ESP,4
2171
OR EAX,EAX
2172
JNE _1_230
2173
JMP _1_229
2174
_1_230:
2175
LEA EAX,[EBP+12]
2176
MOV EBX,EAX
2177
MOV EAX, [EBX]
2178
MOV EBX,EAX
2179
MOV EAX,3
2180
MOV [EBX],EAX
2181
LEA EAX,[EBP+8]
2182
MOV EBX,EAX
2183
MOV EAX, [EBX]
2184
MOV EBX,EAX
2185
MOV EAX,4
2186
MOV [EBX],EAX
2187
JMP _1_231
2188
_1_229:
2189
LEA EAX,[EBP+12]
2190
MOV EBX,EAX
2191
MOV EAX, [EBX]
2192
MOV EBX,EAX
2193
MOV EAX,1
2194
MOV [EBX],EAX
2195
LEA EAX,[EBP+8]
2196
MOV EBX,EAX
2197
MOV EAX, [EBX]
2198
PUSH EAX
2199
LEA EAX,[EBP+20]
2200
MOV EBX,EAX
2201
MOV EAX, [EBX]
2202
MOV EBX,EAX
2203
MOV EAX,2
2204
MOV ECX,EAX
2205
MOV EAX,EBX
2206
SAR EAX,CL
2207
POP EBX
2208
MOV [EBX],EAX
2209
_1_231:
2210
LEA EAX,[EBP-4]
2211
PUSH EAX
2212
MOV EAX,_ssname
2213
PUSH EAX
2214
MOV CL,1
2215
CALL _symname
2216
ADD ESP,4
2217
POP EBX
2218
MOV [EBX],EAX
2219
OR EAX,EAX
2220
JE _1_233
2221
JMP _1_232
2222
_1_233:
2223
XOR CL,CL
2224
CALL _illname
2225
_1_232:
2226
LEA EAX,[EBP-8]
2227
MOV EBX,EAX
2228
MOV EAX, [EBX]
2229
OR EAX,EAX
2230
JNE _1_237
2231
JMP _1_235
2232
_1_237:
2233
MOV EAX,_1_225+4
2234
PUSH EAX
2235
MOV CL,1
2236
CALL _match
2237
ADD ESP,4
2238
OR EAX,EAX
2239
JNE _1_238
2240
JMP _1_235
2241
_1_238:
2242
MOV EAX,1
2243
JMP _1_236
2244
_1_235:
2245
XOR EAX,EAX
2246
_1_236:
2247
OR EAX,EAX
2248
JNE _1_239
2249
JMP _1_234
2250
_1_239:
2251
_1_234:
2252
MOV EAX,_1_225+6
2253
PUSH EAX
2254
MOV CL,1
2255
CALL _match
2256
ADD ESP,4
2257
OR EAX,EAX
2258
JNE _1_241
2259
JMP _1_240
2260
_1_241:
2261
LEA EAX,[EBP-8]
2262
MOV EBX,EAX
2263
MOV EAX, [EBX]
2264
CALL __lneg
2265
OR EAX,EAX
2266
JE _1_245
2267
JMP _1_243
2268
_1_245:
2269
LEA EAX,[EBP+12]
2270
MOV EBX,EAX
2271
MOV EAX, [EBX]
2272
MOV EBX,EAX
2273
MOV EAX, [EBX]
2274
MOV EBX,EAX
2275
MOV EAX,3
2276
CALL __ne
2277
OR EAX,EAX
2278
JE _1_246
2279
JMP _1_243
2280
_1_246:
2281
XOR EAX,EAX
2282
JMP _1_244
2283
_1_243:
2284
MOV EAX,1
2285
_1_244:
2286
OR EAX,EAX
2287
JNE _1_247
2288
JMP _1_242
2289
_1_247:
2290
MOV EAX,_1_225+8
2291
PUSH EAX
2292
MOV CL,1
2293
CALL _error
2294
ADD ESP,4
2295
_1_242:
2296
MOV EAX,_1_225+21
2297
PUSH EAX
2298
MOV CL,1
2299
CALL _need
2300
ADD ESP,4
2301
JMP _1_248
2302
_1_240:
2303
LEA EAX,[EBP+12]
2304
MOV EBX,EAX
2305
MOV EAX, [EBX]
2306
MOV EBX,EAX
2307
MOV EAX, [EBX]
2308
MOV EBX,EAX
2309
MOV EAX,1
2310
CALL __eq
2311
OR EAX,EAX
2312
JNE _1_252
2313
JMP _1_250
2314
_1_252:
2315
MOV EAX,_1_225+23
2316
PUSH EAX
2317
MOV CL,1
2318
CALL _match
2319
ADD ESP,4
2320
OR EAX,EAX
2321
JNE _1_253
2322
JMP _1_250
2323
_1_253:
2324
MOV EAX,1
2325
JMP _1_251
2326
_1_250:
2327
XOR EAX,EAX
2328
_1_251:
2329
OR EAX,EAX
2330
JNE _1_254
2331
JMP _1_249
2332
_1_254:
2333
LEA EAX,[EBP+12]
2334
MOV EBX,EAX
2335
MOV EAX, [EBX]
2336
PUSH EAX
2337
LEA EAX,[EBP+16]
2338
MOV EBX,EAX
2339
MOV EAX, [EBX]
2340
POP EBX
2341
MOV [EBX],EAX
2342
LEA EAX,[EBP+8]
2343
MOV EBX,EAX
2344
MOV EAX, [EBX]
2345
PUSH EAX
2346
MOV EBX,EAX
2347
MOV EAX, [EBX]
2348
PUSH EAX
2349
XOR CL,CL
2350
CALL _needsub
2351
POP EBX
2352
IMUL EBX
2353
POP EBX
2354
MOV [EBX],EAX
2355
OR EAX,EAX
2356
JE _1_256
2357
JMP _1_255
2358
_1_256:
2359
LEA EAX,[EBP+16]
2360
MOV EBX,EAX
2361
MOV EAX, [EBX]
2362
MOV EBX,EAX
2363
MOV EAX,2
2364
CALL __eq
2365
OR EAX,EAX
2366
JNE _1_258
2367
JMP _1_257
2368
_1_258:
2369
MOV EAX,_1_225+25
2370
PUSH EAX
2371
MOV CL,1
2372
CALL _error
2373
ADD ESP,4
2374
_1_257:
2375
LEA EAX,[EBP+8]
2376
MOV EBX,EAX
2377
MOV EAX, [EBX]
2378
MOV EBX,EAX
2379
MOV EAX,4
2380
MOV [EBX],EAX
2381
_1_255:
2382
_1_249:
2383
_1_248:
2384
LEA EAX,[EBP-12]
2385
PUSH EAX
2386
LEA EAX,[EBP+8]
2387
MOV EBX,EAX
2388
MOV EAX, [EBX]
2389
MOV EBX,EAX
2390
MOV EAX, [EBX]
2391
MOV EBX,EAX
2392
MOV EAX,4
2393
XCHG EAX,EBX
2394
CDQ
2395
IDIV EBX
2396
MOV EAX,EDX
2397
POP EBX
2398
MOV [EBX],EAX
2399
LEA EAX,[EBP-12]
2400
MOV EBX,EAX
2401
MOV EAX, [EBX]
2402
OR EAX,EAX
2403
JNE _1_260
2404
JMP _1_259
2405
_1_260:
2406
LEA EAX,[EBP+8]
2407
MOV EBX,EAX
2408
MOV EAX, [EBX]
2409
PUSH EAX
2410
LEA EAX,[EBP+8]
2411
MOV EBX,EAX
2412
MOV EAX, [EBX]
2413
MOV EBX,EAX
2414
MOV EAX, [EBX]
2415
PUSH EAX
2416
LEA EAX,[EBP-12]
2417
MOV EBX,EAX
2418
MOV EAX, [EBX]
2419
MOV EBX,4
2420
XCHG EAX,EBX
2421
SUB EAX,EBX
2422
POP EBX
2423
ADD EAX,EBX
2424
POP EBX
2425
MOV [EBX],EAX
2426
_1_259:
2427
LEA EAX,[EBP-4]
2428
MOV EBX,EAX
2429
MOV EAX, [EBX]
2430
MOV ESP,EBP
2431
POP EBP
2432
RET
2433
_1_225 DB 40,0,42,0,41,0,40,0,116,114
2434
 DB 121,32,40,42,46,46,46,41,40,41
2435
 DB 0,41,0,91,0,110,101,101,100,32
2436
 DB 97,114,114,97,121,32,115,105,122,101
2437
 DB 0
2438
 
2439
_statemen:
2440
PUSH EBP
2441
MOV EBP,ESP
2442
MOV EAX,[_ch]
2443
MOV EBX,EAX
2444
XOR EAX,EAX
2445
CALL __eq
2446
OR EAX,EAX
2447
JNE _1_265
2448
JMP _1_263
2449
_1_265:
2450
MOV EAX,[_eof]
2451
OR EAX,EAX
2452
JNE _1_266
2453
JMP _1_263
2454
_1_266:
2455
MOV EAX,1
2456
JMP _1_264
2457
_1_263:
2458
XOR EAX,EAX
2459
_1_264:
2460
OR EAX,EAX
2461
JNE _1_267
2462
JMP _1_262
2463
_1_267:
2464
POP EBP
2465
RET
2466
_1_262:
2467
MOV EAX,_1_261+0
2468
PUSH EAX
2469
MOV EAX,4
2470
PUSH EAX
2471
MOV CL,2
2472
CALL _amatch
2473
ADD ESP,8
2474
OR EAX,EAX
2475
JNE _1_270
2476
JMP _1_269
2477
_1_270:
2478
MOV EAX,4
2479
PUSH EAX
2480
MOV CL,1
2481
CALL _declloc
2482
ADD ESP,4
2483
XOR CL,CL
2484
CALL _ns
2485
JMP _1_271
2486
_1_269:
2487
MOV EAX,_1_261+5
2488
PUSH EAX
2489
MOV EAX,3
2490
PUSH EAX
2491
MOV CL,2
2492
CALL _amatch
2493
ADD ESP,8
2494
OR EAX,EAX
2495
JNE _1_273
2496
JMP _1_272
2497
_1_273:
2498
MOV EAX,16
2499
PUSH EAX
2500
MOV CL,1
2501
CALL _declloc
2502
ADD ESP,4
2503
XOR CL,CL
2504
CALL _ns
2505
JMP _1_274
2506
_1_272:
2507
MOV EAX,_1_261+9
2508
PUSH EAX
2509
MOV EAX,8
2510
PUSH EAX
2511
MOV CL,2
2512
CALL _amatch
2513
ADD ESP,8
2514
OR EAX,EAX
2515
JNE _1_276
2516
JMP _1_275
2517
_1_276:
2518
MOV EAX,_1_261+18
2519
PUSH EAX
2520
MOV EAX,4
2521
PUSH EAX
2522
MOV CL,2
2523
CALL _amatch
2524
ADD ESP,8
2525
OR EAX,EAX
2526
JNE _1_278
2527
JMP _1_277
2528
_1_278:
2529
MOV EAX,5
2530
PUSH EAX
2531
MOV CL,1
2532
CALL _declloc
2533
ADD ESP,4
2534
XOR CL,CL
2535
CALL _ns
2536
JMP _1_279
2537
_1_277:
2538
MOV EAX,_1_261+23
2539
PUSH EAX
2540
MOV EAX,3
2541
PUSH EAX
2542
MOV CL,2
2543
CALL _amatch
2544
ADD ESP,8
2545
MOV EAX,17
2546
PUSH EAX
2547
MOV CL,1
2548
CALL _declloc
2549
ADD ESP,4
2550
XOR CL,CL
2551
CALL _ns
2552
_1_279:
2553
JMP _1_280
2554
_1_275:
2555
MOV EAX,[_declared]
2556
OR EAX,EAX
2557
JGE _1_282
2558
JMP _1_281
2559
_1_282:
2560
MOV EAX,[_ncmp]
2561
MOV EBX,EAX
2562
MOV EAX,1
2563
CALL __gt
2564
OR EAX,EAX
2565
JNE _1_284
2566
JMP _1_283
2567
_1_284:
2568
MOV EAX,[_declared]
2569
MOV DWORD [_nogo],EAX
2570
_1_283:
2571
MOV EAX,2
2572
PUSH EAX
2573
MOV EAX,[_csp]
2574
PUSH EAX
2575
MOV EAX,[_declared]
2576
POP EBX
2577
XCHG EAX,EBX
2578
SUB EAX,EBX
2579
PUSH EAX
2580
MOV CL,2
2581
CALL _gen
2582
ADD ESP,8
2583
MOV EAX,-1
2584
MOV DWORD [_declared],EAX
2585
_1_281:
2586
MOV EAX,_1_261+27
2587
PUSH EAX
2588
MOV CL,1
2589
CALL _match
2590
ADD ESP,4
2591
OR EAX,EAX
2592
JNE _1_286
2593
JMP _1_285
2594
_1_286:
2595
XOR CL,CL
2596
CALL _compound
2597
JMP _1_287
2598
_1_285:
2599
MOV EAX,_1_261+29
2600
PUSH EAX
2601
MOV EAX,2
2602
PUSH EAX
2603
MOV CL,2
2604
CALL _amatch
2605
ADD ESP,8
2606
OR EAX,EAX
2607
JNE _1_289
2608
JMP _1_288
2609
_1_289:
2610
XOR CL,CL
2611
CALL _doif
2612
MOV EAX,1
2613
MOV DWORD [_lastst],EAX
2614
JMP _1_290
2615
_1_288:
2616
MOV EAX,_1_261+32
2617
PUSH EAX
2618
MOV EAX,5
2619
PUSH EAX
2620
MOV CL,2
2621
CALL _amatch
2622
ADD ESP,8
2623
OR EAX,EAX
2624
JNE _1_292
2625
JMP _1_291
2626
_1_292:
2627
XOR CL,CL
2628
CALL _dowhile
2629
MOV EAX,2
2630
MOV DWORD [_lastst],EAX
2631
JMP _1_293
2632
_1_291:
2633
MOV EAX,_1_261+38
2634
PUSH EAX
2635
MOV EAX,2
2636
PUSH EAX
2637
MOV CL,2
2638
CALL _amatch
2639
ADD ESP,8
2640
OR EAX,EAX
2641
JNE _1_295
2642
JMP _1_294
2643
_1_295:
2644
XOR CL,CL
2645
CALL _dodo
2646
MOV EAX,8
2647
MOV DWORD [_lastst],EAX
2648
JMP _1_296
2649
_1_294:
2650
MOV EAX,_1_261+41
2651
PUSH EAX
2652
MOV EAX,3
2653
PUSH EAX
2654
MOV CL,2
2655
CALL _amatch
2656
ADD ESP,8
2657
OR EAX,EAX
2658
JNE _1_298
2659
JMP _1_297
2660
_1_298:
2661
XOR CL,CL
2662
CALL _dofor
2663
MOV EAX,9
2664
MOV DWORD [_lastst],EAX
2665
JMP _1_299
2666
_1_297:
2667
MOV EAX,_1_261+45
2668
PUSH EAX
2669
MOV EAX,6
2670
PUSH EAX
2671
MOV CL,2
2672
CALL _amatch
2673
ADD ESP,8
2674
OR EAX,EAX
2675
JNE _1_301
2676
JMP _1_300
2677
_1_301:
2678
XOR CL,CL
2679
CALL _doswitch
2680
MOV EAX,10
2681
MOV DWORD [_lastst],EAX
2682
JMP _1_302
2683
_1_300:
2684
MOV EAX,_1_261+52
2685
PUSH EAX
2686
MOV EAX,4
2687
PUSH EAX
2688
MOV CL,2
2689
CALL _amatch
2690
ADD ESP,8
2691
OR EAX,EAX
2692
JNE _1_304
2693
JMP _1_303
2694
_1_304:
2695
XOR CL,CL
2696
CALL _docase
2697
MOV EAX,11
2698
MOV DWORD [_lastst],EAX
2699
JMP _1_305
2700
_1_303:
2701
MOV EAX,_1_261+57
2702
PUSH EAX
2703
MOV EAX,7
2704
PUSH EAX
2705
MOV CL,2
2706
CALL _amatch
2707
ADD ESP,8
2708
OR EAX,EAX
2709
JNE _1_307
2710
JMP _1_306
2711
_1_307:
2712
XOR CL,CL
2713
CALL _dodefaul
2714
MOV EAX,12
2715
MOV DWORD [_lastst],EAX
2716
JMP _1_308
2717
_1_306:
2718
MOV EAX,_1_261+65
2719
PUSH EAX
2720
MOV EAX,4
2721
PUSH EAX
2722
MOV CL,2
2723
CALL _amatch
2724
ADD ESP,8
2725
OR EAX,EAX
2726
JNE _1_310
2727
JMP _1_309
2728
_1_310:
2729
XOR CL,CL
2730
CALL _dogoto
2731
MOV EAX,13
2732
MOV DWORD [_lastst],EAX
2733
JMP _1_311
2734
_1_309:
2735
XOR CL,CL
2736
CALL _dolabel
2737
OR EAX,EAX
2738
JNE _1_313
2739
JMP _1_312
2740
_1_313:
2741
MOV EAX,14
2742
MOV DWORD [_lastst],EAX
2743
JMP _1_314
2744
_1_312:
2745
MOV EAX,_1_261+70
2746
PUSH EAX
2747
MOV EAX,6
2748
PUSH EAX
2749
MOV CL,2
2750
CALL _amatch
2751
ADD ESP,8
2752
OR EAX,EAX
2753
JNE _1_316
2754
JMP _1_315
2755
_1_316:
2756
XOR CL,CL
2757
CALL _doreturn
2758
XOR CL,CL
2759
CALL _ns
2760
MOV EAX,3
2761
MOV DWORD [_lastst],EAX
2762
JMP _1_317
2763
_1_315:
2764
MOV EAX,_1_261+77
2765
PUSH EAX
2766
MOV EAX,5
2767
PUSH EAX
2768
MOV CL,2
2769
CALL _amatch
2770
ADD ESP,8
2771
OR EAX,EAX
2772
JNE _1_319
2773
JMP _1_318
2774
_1_319:
2775
XOR CL,CL
2776
CALL _dobreak
2777
XOR CL,CL
2778
CALL _ns
2779
MOV EAX,4
2780
MOV DWORD [_lastst],EAX
2781
JMP _1_320
2782
_1_318:
2783
MOV EAX,_1_261+83
2784
PUSH EAX
2785
MOV EAX,8
2786
PUSH EAX
2787
MOV CL,2
2788
CALL _amatch
2789
ADD ESP,8
2790
OR EAX,EAX
2791
JNE _1_322
2792
JMP _1_321
2793
_1_322:
2794
XOR CL,CL
2795
CALL _docont
2796
XOR CL,CL
2797
CALL _ns
2798
MOV EAX,5
2799
MOV DWORD [_lastst],EAX
2800
JMP _1_323
2801
_1_321:
2802
MOV EAX,_1_261+92
2803
PUSH EAX
2804
MOV CL,1
2805
CALL _match
2806
ADD ESP,4
2807
OR EAX,EAX
2808
JNE _1_325
2809
JMP _1_324
2810
_1_325:
2811
XOR EAX,EAX
2812
MOV DWORD [_errflag],EAX
2813
JMP _1_326
2814
_1_324:
2815
MOV EAX,_1_261+94
2816
PUSH EAX
2817
MOV CL,1
2818
CALL _match
2819
ADD ESP,4
2820
OR EAX,EAX
2821
JNE _1_328
2822
JMP _1_327
2823
_1_328:
2824
XOR CL,CL
2825
CALL _doasm
2826
MOV EAX,6
2827
MOV DWORD [_lastst],EAX
2828
JMP _1_329
2829
_1_327:
2830
XOR EAX,EAX
2831
PUSH EAX
2832
MOV CL,1
2833
CALL _doexpr
2834
ADD ESP,4
2835
XOR CL,CL
2836
CALL _ns
2837
MOV EAX,7
2838
MOV DWORD [_lastst],EAX
2839
_1_329:
2840
_1_326:
2841
_1_323:
2842
_1_320:
2843
_1_317:
2844
_1_314:
2845
_1_311:
2846
_1_308:
2847
_1_305:
2848
_1_302:
2849
_1_299:
2850
_1_296:
2851
_1_293:
2852
_1_290:
2853
_1_287:
2854
_1_280:
2855
_1_274:
2856
_1_271:
2857
_1_268:
2858
MOV EAX,[_lastst]
2859
POP EBP
2860
RET
2861
_1_261 DB 99,104,97,114,0,105,110,116,0,117
2862
 DB 110,115,105,103,110,101,100,0,99,104
2863
 DB 97,114,0,105,110,116,0,123,0,105
2864
 DB 102,0,119,104,105,108,101,0,100,111
2865
 DB 0,102,111,114,0,115,119,105,116,99
2866
 DB 104,0,99,97,115,101,0,100,101,102
2867
 DB 97,117,108,116,0,103,111,116,111,0
2868
 DB 114,101,116,117,114,110,0,98,114,101
2869
 DB 97,107,0,99,111,110,116,105,110,117
2870
 DB 101,0,59,0,35,97,115,109,0
2871
 
2872
_declloc:
2873
PUSH EBP
2874
MOV EBP,ESP
2875
ADD ESP,-8
2876
MOV EAX,[_swactive]
2877
OR EAX,EAX
2878
JNE _1_332
2879
JMP _1_331
2880
_1_332:
2881
MOV EAX,_1_330+0
2882
PUSH EAX
2883
MOV CL,1
2884
CALL _error
2885
ADD ESP,4
2886
_1_331:
2887
MOV EAX,[_noloc]
2888
OR EAX,EAX
2889
JNE _1_334
2890
JMP _1_333
2891
_1_334:
2892
MOV EAX,_1_330+22
2893
PUSH EAX
2894
MOV CL,1
2895
CALL _error
2896
ADD ESP,4
2897
_1_333:
2898
MOV EAX,[_declared]
2899
OR EAX,EAX
2900
JL _1_336
2901
JMP _1_335
2902
_1_336:
2903
MOV EAX,_1_330+44
2904
PUSH EAX
2905
MOV CL,1
2906
CALL _error
2907
ADD ESP,4
2908
_1_335:
2909
_1_337:
2910
XOR CL,CL
2911
CALL _endst
2912
OR EAX,EAX
2913
JNE _1_340
2914
JMP _1_339
2915
_1_340:
2916
MOV ESP,EBP
2917
POP EBP
2918
RET
2919
_1_339:
2920
LEA EAX,[EBP+8]
2921
MOV EBX,EAX
2922
MOV EAX, [EBX]
2923
PUSH EAX
2924
MOV EAX,2
2925
PUSH EAX
2926
LEA EAX,[EBP-4]
2927
PUSH EAX
2928
LEA EAX,[EBP-8]
2929
PUSH EAX
2930
MOV CL,4
2931
CALL _decl
2932
ADD ESP,16
2933
MOV EAX,[_declared]
2934
PUSH EAX
2935
LEA EAX,[EBP-8]
2936
MOV EBX,EAX
2937
MOV EAX, [EBX]
2938
POP EBX
2939
ADD EAX,EBX
2940
MOV DWORD [_declared],EAX
2941
MOV EAX,_ssname
2942
PUSH EAX
2943
LEA EAX,[EBP-4]
2944
MOV EBX,EAX
2945
MOV EAX, [EBX]
2946
PUSH EAX
2947
LEA EAX,[EBP+8]
2948
MOV EBX,EAX
2949
MOV EAX, [EBX]
2950
PUSH EAX
2951
LEA EAX,[EBP-8]
2952
MOV EBX,EAX
2953
MOV EAX, [EBX]
2954
PUSH EAX
2955
MOV EAX,[_csp]
2956
PUSH EAX
2957
MOV EAX,[_declared]
2958
POP EBX
2959
XCHG EAX,EBX
2960
SUB EAX,EBX
2961
PUSH EAX
2962
MOV EAX,_locptr
2963
PUSH EAX
2964
MOV EAX,1
2965
PUSH EAX
2966
MOV CL,7
2967
CALL _addsym
2968
ADD ESP,28
2969
MOV EAX,_1_330+72
2970
PUSH EAX
2971
MOV CL,1
2972
CALL _match
2973
ADD ESP,4
2974
OR EAX,EAX
2975
JE _1_342
2976
JMP _1_341
2977
_1_342:
2978
MOV ESP,EBP
2979
POP EBP
2980
RET
2981
_1_341:
2982
JMP _1_337
2983
_1_338:
2984
MOV ESP,EBP
2985
POP EBP
2986
RET
2987
_1_330 DB 110,111,116,32,97,108,108,111,119,101
2988
 DB 100,32,105,110,32,115,119,105,116,99
2989
 DB 104,0,110,111,116,32,97,108,108,111
2990
 DB 119,101,100,32,119,105,116,104,32,103
2991
 DB 111,116,111,0,109,117,115,116,32,100
2992
 DB 101,99,108,97,114,101,32,102,105,114
2993
 DB 115,116,32,105,110,32,98,108,111,99
2994
 DB 107,0,44,0
2995
 
2996
_compound:
2997
PUSH EBP
2998
MOV EBP,ESP
2999
ADD ESP,-8
3000
LEA EAX,[EBP-4]
3001
PUSH EAX
3002
MOV EAX,[_csp]
3003
POP EBX
3004
MOV [EBX],EAX
3005
LEA EAX,[EBP-8]
3006
PUSH EAX
3007
MOV EAX,[_locptr]
3008
POP EBX
3009
MOV [EBX],EAX
3010
XOR EAX,EAX
3011
MOV DWORD [_declared],EAX
3012
MOV EAX,[_ncmp]
3013
INC EAX
3014
MOV DWORD [_ncmp],EAX
3015
_1_344:
3016
MOV EAX,_1_343+0
3017
PUSH EAX
3018
MOV CL,1
3019
CALL _match
3020
ADD ESP,4
3021
OR EAX,EAX
3022
JE _1_346
3023
JMP _1_345
3024
_1_346:
3025
MOV EAX,[_eof]
3026
OR EAX,EAX
3027
JNE _1_348
3028
JMP _1_347
3029
_1_348:
3030
MOV EAX,_1_343+2
3031
PUSH EAX
3032
MOV CL,1
3033
CALL _error
3034
ADD ESP,4
3035
JMP _1_345
3036
JMP _1_349
3037
_1_347:
3038
XOR CL,CL
3039
CALL _statemen
3040
_1_349:
3041
JMP _1_344
3042
_1_345:
3043
MOV EAX,[_ncmp]
3044
DEC EAX
3045
MOV DWORD [_ncmp],EAX
3046
OR EAX,EAX
3047
JNE _1_353
3048
JMP _1_351
3049
_1_353:
3050
MOV EAX,[_lastst]
3051
MOV EBX,EAX
3052
MOV EAX,3
3053
CALL __ne
3054
OR EAX,EAX
3055
JNE _1_354
3056
JMP _1_351
3057
_1_354:
3058
MOV EAX,[_lastst]
3059
MOV EBX,EAX
3060
MOV EAX,13
3061
CALL __ne
3062
OR EAX,EAX
3063
JNE _1_355
3064
JMP _1_351
3065
_1_355:
3066
MOV EAX,1
3067
JMP _1_352
3068
_1_351:
3069
XOR EAX,EAX
3070
_1_352:
3071
OR EAX,EAX
3072
JNE _1_356
3073
JMP _1_350
3074
_1_356:
3075
MOV EAX,2
3076
PUSH EAX
3077
LEA EAX,[EBP-4]
3078
MOV EBX,EAX
3079
MOV EAX, [EBX]
3080
PUSH EAX
3081
MOV CL,2
3082
CALL _gen
3083
ADD ESP,8
3084
_1_350:
3085
LEA EAX,[EBP-8]
3086
MOV EBX,EAX
3087
MOV EAX, [EBX]
3088
MOV DWORD [_cptr],EAX
3089
_1_357:
3090
MOV EAX,[_cptr]
3091
PUSH EAX
3092
MOV EAX,[_locptr]
3093
POP EBX
3094
CALL __ult
3095
OR EAX,EAX
3096
JNE _1_359
3097
JMP _1_358
3098
_1_359:
3099
MOV EAX,[_cptr]
3100
PUSH EAX
3101
MOV CL,1
3102
CALL _nextsym
3103
ADD ESP,4
3104
MOV DWORD [_cptr2],EAX
3105
MOV EAX,[_cptr]
3106
MOV EBX,EAX
3107
MOVSX EAX,BYTE [EBX]
3108
OR EAX,EAX
3109
JE _1_361
3110
JMP _1_360
3111
_1_361:
3112
_1_362:
3113
MOV EAX,[_cptr]
3114
PUSH EAX
3115
MOV EAX,[_cptr2]
3116
POP EBX
3117
CALL __ult
3118
OR EAX,EAX
3119
JNE _1_364
3120
JMP _1_363
3121
_1_364:
3122
LEA EAX,[EBP-8]
3123
MOV EBX,EAX
3124
MOV EAX, [EBX]
3125
INC EAX
3126
MOV [EBX],EAX
3127
DEC EAX
3128
PUSH EAX
3129
MOV EAX,[_cptr]
3130
INC EAX
3131
MOV DWORD [_cptr],EAX
3132
DEC EAX
3133
MOV EBX,EAX
3134
MOVSX EAX,BYTE [EBX]
3135
POP EBX
3136
MOV [EBX],AL
3137
JMP _1_362
3138
_1_363:
3139
JMP _1_365
3140
_1_360:
3141
MOV EAX,[_cptr2]
3142
MOV DWORD [_cptr],EAX
3143
_1_365:
3144
JMP _1_357
3145
_1_358:
3146
LEA EAX,[EBP-8]
3147
MOV EBX,EAX
3148
MOV EAX, [EBX]
3149
MOV DWORD [_locptr],EAX
3150
MOV EAX,-1
3151
MOV DWORD [_declared],EAX
3152
MOV ESP,EBP
3153
POP EBP
3154
RET
3155
_1_343 DB 125,0,110,111,32,102,105,110,97,108
3156
 DB 32,125,0
3157
 
3158
_doif:
3159
PUSH EBP
3160
MOV EBP,ESP
3161
ADD ESP,-8
3162
LEA EAX,[EBP-4]
3163
PUSH EAX
3164
XOR CL,CL
3165
CALL _getlabel
3166
POP EBX
3167
MOV [EBX],EAX
3168
PUSH EAX
3169
MOV EAX,1
3170
PUSH EAX
3171
MOV CL,2
3172
CALL _test
3173
ADD ESP,8
3174
XOR CL,CL
3175
CALL _statemen
3176
MOV EAX,_1_366+0
3177
PUSH EAX
3178
MOV EAX,4
3179
PUSH EAX
3180
MOV CL,2
3181
CALL _amatch
3182
ADD ESP,8
3183
OR EAX,EAX
3184
JE _1_368
3185
JMP _1_367
3186
_1_368:
3187
MOV EAX,41
3188
PUSH EAX
3189
LEA EAX,[EBP-4]
3190
MOV EBX,EAX
3191
MOV EAX, [EBX]
3192
PUSH EAX
3193
MOV CL,2
3194
CALL _gen
3195
ADD ESP,8
3196
MOV ESP,EBP
3197
POP EBP
3198
RET
3199
_1_367:
3200
LEA EAX,[EBP-8]
3201
PUSH EAX
3202
XOR CL,CL
3203
CALL _getlabel
3204
POP EBX
3205
MOV [EBX],EAX
3206
MOV EAX,[_lastst]
3207
MOV EBX,EAX
3208
MOV EAX,3
3209
CALL __ne
3210
OR EAX,EAX
3211
JNE _1_372
3212
JMP _1_370
3213
_1_372:
3214
MOV EAX,[_lastst]
3215
MOV EBX,EAX
3216
MOV EAX,13
3217
CALL __ne
3218
OR EAX,EAX
3219
JNE _1_373
3220
JMP _1_370
3221
_1_373:
3222
MOV EAX,1
3223
JMP _1_371
3224
_1_370:
3225
XOR EAX,EAX
3226
_1_371:
3227
OR EAX,EAX
3228
JNE _1_374
3229
JMP _1_369
3230
_1_374:
3231
MOV EAX,40
3232
PUSH EAX
3233
LEA EAX,[EBP-8]
3234
MOV EBX,EAX
3235
MOV EAX, [EBX]
3236
PUSH EAX
3237
MOV CL,2
3238
CALL _gen
3239
ADD ESP,8
3240
_1_369:
3241
MOV EAX,41
3242
PUSH EAX
3243
LEA EAX,[EBP-4]
3244
MOV EBX,EAX
3245
MOV EAX, [EBX]
3246
PUSH EAX
3247
MOV CL,2
3248
CALL _gen
3249
ADD ESP,8
3250
XOR CL,CL
3251
CALL _statemen
3252
MOV EAX,41
3253
PUSH EAX
3254
LEA EAX,[EBP-8]
3255
MOV EBX,EAX
3256
MOV EAX, [EBX]
3257
PUSH EAX
3258
MOV CL,2
3259
CALL _gen
3260
ADD ESP,8
3261
MOV ESP,EBP
3262
POP EBP
3263
RET
3264
_1_366 DB 101,108,115,101,0
3265
 
3266
_dowhile:
3267
PUSH EBP
3268
MOV EBP,ESP
3269
ADD ESP,-16
3270
LEA EAX,[EBP-16]
3271
PUSH EAX
3272
MOV CL,1
3273
CALL _addwhile
3274
ADD ESP,4
3275
MOV EAX,41
3276
PUSH EAX
3277
LEA EAX,[EBP-16]
3278
MOV EBX,4
3279
ADD EAX,EBX
3280
MOV EBX,EAX
3281
MOV EAX, [EBX]
3282
PUSH EAX
3283
MOV CL,2
3284
CALL _gen
3285
ADD ESP,8
3286
LEA EAX,[EBP-16]
3287
MOV EBX,8
3288
ADD EAX,EBX
3289
MOV EBX,EAX
3290
MOV EAX, [EBX]
3291
PUSH EAX
3292
MOV EAX,1
3293
PUSH EAX
3294
MOV CL,2
3295
CALL _test
3296
ADD ESP,8
3297
XOR CL,CL
3298
CALL _statemen
3299
MOV EAX,40
3300
PUSH EAX
3301
LEA EAX,[EBP-16]
3302
MOV EBX,4
3303
ADD EAX,EBX
3304
MOV EBX,EAX
3305
MOV EAX, [EBX]
3306
PUSH EAX
3307
MOV CL,2
3308
CALL _gen
3309
ADD ESP,8
3310
MOV EAX,41
3311
PUSH EAX
3312
LEA EAX,[EBP-16]
3313
MOV EBX,8
3314
ADD EAX,EBX
3315
MOV EBX,EAX
3316
MOV EAX, [EBX]
3317
PUSH EAX
3318
MOV CL,2
3319
CALL _gen
3320
ADD ESP,8
3321
XOR CL,CL
3322
CALL _delwhile
3323
MOV ESP,EBP
3324
POP EBP
3325
RET
3326
 
3327
_dodo:
3328
PUSH EBP
3329
MOV EBP,ESP
3330
ADD ESP,-16
3331
LEA EAX,[EBP-16]
3332
PUSH EAX
3333
MOV CL,1
3334
CALL _addwhile
3335
ADD ESP,4
3336
MOV EAX,41
3337
PUSH EAX
3338
LEA EAX,[EBP-16]
3339
MOV EBX,4
3340
ADD EAX,EBX
3341
MOV EBX,EAX
3342
MOV EAX, [EBX]
3343
PUSH EAX
3344
MOV CL,2
3345
CALL _gen
3346
ADD ESP,8
3347
XOR CL,CL
3348
CALL _statemen
3349
MOV EAX,_1_376+0
3350
PUSH EAX
3351
MOV CL,1
3352
CALL _need
3353
ADD ESP,4
3354
LEA EAX,[EBP-16]
3355
MOV EBX,8
3356
ADD EAX,EBX
3357
MOV EBX,EAX
3358
MOV EAX, [EBX]
3359
PUSH EAX
3360
MOV EAX,1
3361
PUSH EAX
3362
MOV CL,2
3363
CALL _test
3364
ADD ESP,8
3365
MOV EAX,40
3366
PUSH EAX
3367
LEA EAX,[EBP-16]
3368
MOV EBX,4
3369
ADD EAX,EBX
3370
MOV EBX,EAX
3371
MOV EAX, [EBX]
3372
PUSH EAX
3373
MOV CL,2
3374
CALL _gen
3375
ADD ESP,8
3376
MOV EAX,41
3377
PUSH EAX
3378
LEA EAX,[EBP-16]
3379
MOV EBX,8
3380
ADD EAX,EBX
3381
MOV EBX,EAX
3382
MOV EAX, [EBX]
3383
PUSH EAX
3384
MOV CL,2
3385
CALL _gen
3386
ADD ESP,8
3387
XOR CL,CL
3388
CALL _delwhile
3389
XOR CL,CL
3390
CALL _ns
3391
MOV ESP,EBP
3392
POP EBP
3393
RET
3394
_1_376 DB 119,104,105,108,101,0
3395
 
3396
_dofor:
3397
PUSH EBP
3398
MOV EBP,ESP
3399
ADD ESP,-24
3400
LEA EAX,[EBP-16]
3401
PUSH EAX
3402
MOV CL,1
3403
CALL _addwhile
3404
ADD ESP,4
3405
LEA EAX,[EBP-20]
3406
PUSH EAX
3407
XOR CL,CL
3408
CALL _getlabel
3409
POP EBX
3410
MOV [EBX],EAX
3411
LEA EAX,[EBP-24]
3412
PUSH EAX
3413
XOR CL,CL
3414
CALL _getlabel
3415
POP EBX
3416
MOV [EBX],EAX
3417
MOV EAX,_1_377+0
3418
PUSH EAX
3419
MOV CL,1
3420
CALL _need
3421
ADD ESP,4
3422
MOV EAX,_1_377+2
3423
PUSH EAX
3424
MOV CL,1
3425
CALL _match
3426
ADD ESP,4
3427
OR EAX,EAX
3428
JE _1_379
3429
JMP _1_378
3430
_1_379:
3431
XOR EAX,EAX
3432
PUSH EAX
3433
MOV CL,1
3434
CALL _doexpr
3435
ADD ESP,4
3436
XOR CL,CL
3437
CALL _ns
3438
_1_378:
3439
MOV EAX,41
3440
PUSH EAX
3441
LEA EAX,[EBP-20]
3442
MOV EBX,EAX
3443
MOV EAX, [EBX]
3444
PUSH EAX
3445
MOV CL,2
3446
CALL _gen
3447
ADD ESP,8
3448
MOV EAX,_1_377+4
3449
PUSH EAX
3450
MOV CL,1
3451
CALL _match
3452
ADD ESP,4
3453
OR EAX,EAX
3454
JE _1_381
3455
JMP _1_380
3456
_1_381:
3457
LEA EAX,[EBP-16]
3458
MOV EBX,8
3459
ADD EAX,EBX
3460
MOV EBX,EAX
3461
MOV EAX, [EBX]
3462
PUSH EAX
3463
XOR EAX,EAX
3464
PUSH EAX
3465
MOV CL,2
3466
CALL _test
3467
ADD ESP,8
3468
XOR CL,CL
3469
CALL _ns
3470
_1_380:
3471
MOV EAX,40
3472
PUSH EAX
3473
LEA EAX,[EBP-24]
3474
MOV EBX,EAX
3475
MOV EAX, [EBX]
3476
PUSH EAX
3477
MOV CL,2
3478
CALL _gen
3479
ADD ESP,8
3480
MOV EAX,41
3481
PUSH EAX
3482
LEA EAX,[EBP-16]
3483
MOV EBX,4
3484
ADD EAX,EBX
3485
MOV EBX,EAX
3486
MOV EAX, [EBX]
3487
PUSH EAX
3488
MOV CL,2
3489
CALL _gen
3490
ADD ESP,8
3491
MOV EAX,_1_377+6
3492
PUSH EAX
3493
MOV CL,1
3494
CALL _match
3495
ADD ESP,4
3496
OR EAX,EAX
3497
JE _1_383
3498
JMP _1_382
3499
_1_383:
3500
XOR EAX,EAX
3501
PUSH EAX
3502
MOV CL,1
3503
CALL _doexpr
3504
ADD ESP,4
3505
MOV EAX,_1_377+8
3506
PUSH EAX
3507
MOV CL,1
3508
CALL _need
3509
ADD ESP,4
3510
_1_382:
3511
MOV EAX,40
3512
PUSH EAX
3513
LEA EAX,[EBP-20]
3514
MOV EBX,EAX
3515
MOV EAX, [EBX]
3516
PUSH EAX
3517
MOV CL,2
3518
CALL _gen
3519
ADD ESP,8
3520
MOV EAX,41
3521
PUSH EAX
3522
LEA EAX,[EBP-24]
3523
MOV EBX,EAX
3524
MOV EAX, [EBX]
3525
PUSH EAX
3526
MOV CL,2
3527
CALL _gen
3528
ADD ESP,8
3529
XOR CL,CL
3530
CALL _statemen
3531
MOV EAX,40
3532
PUSH EAX
3533
LEA EAX,[EBP-16]
3534
MOV EBX,4
3535
ADD EAX,EBX
3536
MOV EBX,EAX
3537
MOV EAX, [EBX]
3538
PUSH EAX
3539
MOV CL,2
3540
CALL _gen
3541
ADD ESP,8
3542
MOV EAX,41
3543
PUSH EAX
3544
LEA EAX,[EBP-16]
3545
MOV EBX,8
3546
ADD EAX,EBX
3547
MOV EBX,EAX
3548
MOV EAX, [EBX]
3549
PUSH EAX
3550
MOV CL,2
3551
CALL _gen
3552
ADD ESP,8
3553
XOR CL,CL
3554
CALL _delwhile
3555
MOV ESP,EBP
3556
POP EBP
3557
RET
3558
_1_377 DB 40,0,59,0,59,0,41,0,41,0
3559
 
3560
_doswitch:
3561
PUSH EBP
3562
MOV EBP,ESP
3563
ADD ESP,-36
3564
LEA EAX,[EBP-24]
3565
PUSH EAX
3566
MOV EAX,[_swactive]
3567
POP EBX
3568
MOV [EBX],EAX
3569
LEA EAX,[EBP-28]
3570
PUSH EAX
3571
MOV EAX,[_swdefaul]
3572
POP EBX
3573
MOV [EBX],EAX
3574
LEA EAX,[EBP-32]
3575
PUSH EAX
3576
LEA EAX,[EBP-36]
3577
PUSH EAX
3578
MOV EAX,[_swnext]
3579
POP EBX
3580
MOV [EBX],EAX
3581
POP EBX
3582
MOV [EBX],EAX
3583
LEA EAX,[EBP-16]
3584
PUSH EAX
3585
MOV CL,1
3586
CALL _addwhile
3587
ADD ESP,4
3588
MOV EAX,[_wqptr]
3589
MOV EBX,4
3590
ADD EAX,EBX
3591
MOV EBX,EAX
3592
MOV EAX,12
3593
XCHG EAX,EBX
3594
SUB EAX,EBX
3595
MOV EBX,EAX
3596
XOR EAX,EAX
3597
MOV [EBX],EAX
3598
MOV EAX,_1_384+0
3599
PUSH EAX
3600
MOV CL,1
3601
CALL _need
3602
ADD ESP,4
3603
MOV EAX,1
3604
PUSH EAX
3605
MOV CL,1
3606
CALL _doexpr
3607
ADD ESP,4
3608
MOV EAX,_1_384+2
3609
PUSH EAX
3610
MOV CL,1
3611
CALL _need
3612
ADD ESP,4
3613
XOR EAX,EAX
3614
MOV DWORD [_swdefaul],EAX
3615
MOV EAX,1
3616
MOV DWORD [_swactive],EAX
3617
MOV EAX,40
3618
PUSH EAX
3619
LEA EAX,[EBP-20]
3620
PUSH EAX
3621
XOR CL,CL
3622
CALL _getlabel
3623
POP EBX
3624
MOV [EBX],EAX
3625
PUSH EAX
3626
MOV CL,2
3627
CALL _gen
3628
ADD ESP,8
3629
XOR CL,CL
3630
CALL _statemen
3631
MOV EAX,40
3632
PUSH EAX
3633
LEA EAX,[EBP-16]
3634
MOV EBX,8
3635
ADD EAX,EBX
3636
MOV EBX,EAX
3637
MOV EAX, [EBX]
3638
PUSH EAX
3639
MOV CL,2
3640
CALL _gen
3641
ADD ESP,8
3642
MOV EAX,41
3643
PUSH EAX
3644
LEA EAX,[EBP-20]
3645
MOV EBX,EAX
3646
MOV EAX, [EBX]
3647
PUSH EAX
3648
MOV CL,2
3649
CALL _gen
3650
ADD ESP,8
3651
MOV EAX,72
3652
PUSH EAX
3653
XOR EAX,EAX
3654
PUSH EAX
3655
MOV CL,2
3656
CALL _gen
3657
ADD ESP,8
3658
_1_385:
3659
LEA EAX,[EBP-36]
3660
MOV EBX,EAX
3661
MOV EAX, [EBX]
3662
PUSH EAX
3663
MOV EAX,[_swnext]
3664
POP EBX
3665
CALL __ult
3666
OR EAX,EAX
3667
JNE _1_387
3668
JMP _1_386
3669
_1_387:
3670
MOV EAX,56
3671
PUSH EAX
3672
LEA EAX,[EBP-36]
3673
MOV EBX,EAX
3674
MOV EAX, [EBX]
3675
INC EAX
3676
INC EAX
3677
INC EAX
3678
INC EAX
3679
MOV [EBX],EAX
3680
DEC EAX
3681
DEC EAX
3682
DEC EAX
3683
DEC EAX
3684
MOV EBX,EAX
3685
MOV EAX, [EBX]
3686
PUSH EAX
3687
MOV CL,2
3688
CALL _gen
3689
ADD ESP,8
3690
MOV EAX,112
3691
PUSH EAX
3692
LEA EAX,[EBP-36]
3693
MOV EBX,EAX
3694
MOV EAX, [EBX]
3695
INC EAX
3696
INC EAX
3697
INC EAX
3698
INC EAX
3699
MOV [EBX],EAX
3700
DEC EAX
3701
DEC EAX
3702
DEC EAX
3703
DEC EAX
3704
MOV EBX,EAX
3705
MOV EAX, [EBX]
3706
PUSH EAX
3707
MOV CL,2
3708
CALL _gen
3709
ADD ESP,8
3710
JMP _1_385
3711
_1_386:
3712
MOV EAX,112
3713
PUSH EAX
3714
XOR EAX,EAX
3715
PUSH EAX
3716
MOV CL,2
3717
CALL _gen
3718
ADD ESP,8
3719
MOV EAX,[_swdefaul]
3720
OR EAX,EAX
3721
JNE _1_389
3722
JMP _1_388
3723
_1_389:
3724
MOV EAX,40
3725
PUSH EAX
3726
MOV EAX,[_swdefaul]
3727
PUSH EAX
3728
MOV CL,2
3729
CALL _gen
3730
ADD ESP,8
3731
_1_388:
3732
MOV EAX,41
3733
PUSH EAX
3734
LEA EAX,[EBP-16]
3735
MOV EBX,8
3736
ADD EAX,EBX
3737
MOV EBX,EAX
3738
MOV EAX, [EBX]
3739
PUSH EAX
3740
MOV CL,2
3741
CALL _gen
3742
ADD ESP,8
3743
XOR CL,CL
3744
CALL _delwhile
3745
LEA EAX,[EBP-32]
3746
MOV EBX,EAX
3747
MOV EAX, [EBX]
3748
MOV DWORD [_swnext],EAX
3749
LEA EAX,[EBP-28]
3750
MOV EBX,EAX
3751
MOV EAX, [EBX]
3752
MOV DWORD [_swdefaul],EAX
3753
LEA EAX,[EBP-24]
3754
MOV EBX,EAX
3755
MOV EAX, [EBX]
3756
MOV DWORD [_swactive],EAX
3757
MOV ESP,EBP
3758
POP EBP
3759
RET
3760
_1_384 DB 40,0,41,0
3761
 
3762
_docase:
3763
PUSH EBP
3764
MOV EBP,ESP
3765
MOV EAX,[_swactive]
3766
OR EAX,EAX
3767
JE _1_392
3768
JMP _1_391
3769
_1_392:
3770
MOV EAX,_1_390+0
3771
PUSH EAX
3772
MOV CL,1
3773
CALL _error
3774
ADD ESP,4
3775
_1_391:
3776
MOV EAX,[_swnext]
3777
PUSH EAX
3778
MOV EAX,[_swend]
3779
POP EBX
3780
CALL __ugt
3781
OR EAX,EAX
3782
JNE _1_394
3783
JMP _1_393
3784
_1_394:
3785
MOV EAX,_1_390+14
3786
PUSH EAX
3787
MOV CL,1
3788
CALL _error
3789
ADD ESP,4
3790
POP EBP
3791
RET
3792
_1_393:
3793
MOV EAX,41
3794
PUSH EAX
3795
MOV EAX,[_swnext]
3796
INC EAX
3797
INC EAX
3798
INC EAX
3799
INC EAX
3800
MOV DWORD [_swnext],EAX
3801
DEC EAX
3802
DEC EAX
3803
DEC EAX
3804
DEC EAX
3805
PUSH EAX
3806
XOR CL,CL
3807
CALL _getlabel
3808
POP EBX
3809
MOV [EBX],EAX
3810
PUSH EAX
3811
MOV CL,2
3812
CALL _gen
3813
ADD ESP,8
3814
MOV EAX,[_swnext]
3815
INC EAX
3816
INC EAX
3817
INC EAX
3818
INC EAX
3819
MOV DWORD [_swnext],EAX
3820
DEC EAX
3821
DEC EAX
3822
DEC EAX
3823
DEC EAX
3824
PUSH EAX
3825
MOV CL,1
3826
CALL _constexp
3827
ADD ESP,4
3828
MOV EAX,_1_390+29
3829
PUSH EAX
3830
MOV CL,1
3831
CALL _need
3832
ADD ESP,4
3833
POP EBP
3834
RET
3835
_1_390 DB 110,111,116,32,105,110,32,115,119,105
3836
 DB 116,99,104,0,116,111,111,32,109,97
3837
 DB 110,121,32,99,97,115,101,115,0,58
3838
 DB 0
3839
 
3840
_dodefaul:
3841
PUSH EBP
3842
MOV EBP,ESP
3843
MOV EAX,[_swactive]
3844
OR EAX,EAX
3845
JNE _1_397
3846
JMP _1_396
3847
_1_397:
3848
MOV EAX,[_swdefaul]
3849
OR EAX,EAX
3850
JNE _1_399
3851
JMP _1_398
3852
_1_399:
3853
MOV EAX,_1_395+0
3854
PUSH EAX
3855
MOV CL,1
3856
CALL _error
3857
ADD ESP,4
3858
_1_398:
3859
JMP _1_400
3860
_1_396:
3861
MOV EAX,_1_395+18
3862
PUSH EAX
3863
MOV CL,1
3864
CALL _error
3865
ADD ESP,4
3866
_1_400:
3867
MOV EAX,_1_395+32
3868
PUSH EAX
3869
MOV CL,1
3870
CALL _need
3871
ADD ESP,4
3872
MOV EAX,41
3873
PUSH EAX
3874
XOR CL,CL
3875
CALL _getlabel
3876
MOV DWORD [_swdefaul],EAX
3877
PUSH EAX
3878
MOV CL,2
3879
CALL _gen
3880
ADD ESP,8
3881
POP EBP
3882
RET
3883
_1_395 DB 109,117,108,116,105,112,108,101,32,100
3884
 DB 101,102,97,117,108,116,115,0,110,111
3885
 DB 116,32,105,110,32,115,119,105,116,99
3886
 DB 104,0,58,0
3887
 
3888
_dogoto:
3889
PUSH EBP
3890
MOV EBP,ESP
3891
MOV EAX,[_nogo]
3892
OR EAX,EAX
3893
JG _1_403
3894
JMP _1_402
3895
_1_403:
3896
MOV EAX,_1_401+0
3897
PUSH EAX
3898
MOV CL,1
3899
CALL _error
3900
ADD ESP,4
3901
JMP _1_404
3902
_1_402:
3903
MOV EAX,1
3904
MOV DWORD [_noloc],EAX
3905
_1_404:
3906
MOV EAX,_ssname
3907
PUSH EAX
3908
MOV CL,1
3909
CALL _symname
3910
ADD ESP,4
3911
OR EAX,EAX
3912
JNE _1_406
3913
JMP _1_405
3914
_1_406:
3915
MOV EAX,40
3916
PUSH EAX
3917
XOR EAX,EAX
3918
PUSH EAX
3919
MOV CL,1
3920
CALL _addlabel
3921
ADD ESP,4
3922
PUSH EAX
3923
MOV CL,2
3924
CALL _gen
3925
ADD ESP,8
3926
JMP _1_407
3927
_1_405:
3928
MOV EAX,_1_401+30
3929
PUSH EAX
3930
MOV CL,1
3931
CALL _error
3932
ADD ESP,4
3933
_1_407:
3934
XOR CL,CL
3935
CALL _ns
3936
POP EBP
3937
RET
3938
_1_401 DB 110,111,116,32,97,108,108,111,119,101
3939
 DB 100,32,119,105,116,104,32,98,108,111
3940
 DB 99,107,45,108,111,99,97,108,115,0
3941
 DB 98,97,100,32,108,97,98,101,108,0
3942
 
3943
_dolabel:
3944
PUSH EBP
3945
MOV EBP,ESP
3946
ADD ESP,-4
3947
XOR CL,CL
3948
CALL _blanks
3949
LEA EAX,[EBP-4]
3950
PUSH EAX
3951
MOV EAX,[_lptr]
3952
POP EBX
3953
MOV [EBX],EAX
3954
MOV EAX,_ssname
3955
PUSH EAX
3956
MOV CL,1
3957
CALL _symname
3958
ADD ESP,4
3959
OR EAX,EAX
3960
JNE _1_410
3961
JMP _1_409
3962
_1_410:
3963
XOR CL,CL
3964
CALL _gch
3965
MOV EBX,EAX
3966
MOV EAX,58
3967
CALL __eq
3968
OR EAX,EAX
3969
JNE _1_412
3970
JMP _1_411
3971
_1_412:
3972
MOV EAX,41
3973
PUSH EAX
3974
MOV EAX,1
3975
PUSH EAX
3976
MOV CL,1
3977
CALL _addlabel
3978
ADD ESP,4
3979
PUSH EAX
3980
MOV CL,2
3981
CALL _gen
3982
ADD ESP,8
3983
MOV EAX,1
3984
MOV ESP,EBP
3985
POP EBP
3986
RET
3987
_1_411:
3988
LEA EAX,[EBP-4]
3989
MOV EBX,EAX
3990
MOV EAX, [EBX]
3991
PUSH EAX
3992
MOV EAX,[_lptr]
3993
POP EBX
3994
XCHG EAX,EBX
3995
SUB EAX,EBX
3996
PUSH EAX
3997
MOV CL,1
3998
CALL _bump
3999
ADD ESP,4
4000
_1_413:
4001
_1_409:
4002
XOR EAX,EAX
4003
MOV ESP,EBP
4004
POP EBP
4005
RET
4006
 
4007
_addlabel:
4008
PUSH EBP
4009
MOV EBP,ESP
4010
MOV EAX,_ssname
4011
PUSH EAX
4012
MOV CL,1
4013
CALL _findloc
4014
ADD ESP,4
4015
MOV DWORD [_cptr],EAX
4016
OR EAX,EAX
4017
JNE _1_416
4018
JMP _1_415
4019
_1_416:
4020
MOV EAX,[_cptr]
4021
MOV EBX,EAX
4022
MOVSX EAX,BYTE [EBX]
4023
OR EAX,EAX
4024
JNE _1_418
4025
JMP _1_417
4026
_1_418:
4027
MOV EAX,_1_414+0
4028
PUSH EAX
4029
MOV CL,1
4030
CALL _error
4031
ADD ESP,4
4032
JMP _1_419
4033
_1_417:
4034
LEA EAX,[EBP+8]
4035
MOV EBX,EAX
4036
MOV EAX, [EBX]
4037
OR EAX,EAX
4038
JNE _1_421
4039
JMP _1_420
4040
_1_421:
4041
MOV EAX,[_cptr]
4042
MOV EBX,1
4043
ADD EAX,EBX
4044
MOV EBX,EAX
4045
MOVSX EAX,BYTE [EBX]
4046
OR EAX,EAX
4047
JNE _1_423
4048
JMP _1_422
4049
_1_423:
4050
MOV EAX,_1_414+12
4051
PUSH EAX
4052
MOV CL,1
4053
CALL _error
4054
ADD ESP,4
4055
JMP _1_424
4056
_1_422:
4057
MOV EAX,[_cptr]
4058
MOV EBX,1
4059
ADD EAX,EBX
4060
MOV EBX,EAX
4061
MOV EAX,1
4062
MOV [EBX],AL
4063
_1_424:
4064
_1_420:
4065
_1_419:
4066
JMP _1_425
4067
_1_415:
4068
MOV EAX,_ssname
4069
PUSH EAX
4070
XOR EAX,EAX
4071
PUSH EAX
4072
LEA EAX,[EBP+8]
4073
MOV EBX,EAX
4074
MOV EAX, [EBX]
4075
PUSH EAX
4076
XOR EAX,EAX
4077
PUSH EAX
4078
XOR CL,CL
4079
CALL _getlabel
4080
PUSH EAX
4081
MOV EAX,_locptr
4082
PUSH EAX
4083
XOR EAX,EAX
4084
PUSH EAX
4085
MOV CL,7
4086
CALL _addsym
4087
ADD ESP,28
4088
MOV DWORD [_cptr],EAX
4089
_1_425:
4090
MOV EAX,[_cptr]
4091
MOV EBX,5
4092
ADD EAX,EBX
4093
MOV EBX,2
4094
ADD EAX,EBX
4095
PUSH EAX
4096
MOV EAX,4
4097
PUSH EAX
4098
MOV CL,2
4099
CALL _getint
4100
ADD ESP,8
4101
POP EBP
4102
RET
4103
_1_414 DB 110,111,116,32,97,32,108,97,98,101
4104
 DB 108,0,100,117,112,108,105,99,97,116
4105
 DB 101,32,108,97,98,101,108,0
4106
 
4107
_doreturn:
4108
PUSH EBP
4109
MOV EBP,ESP
4110
ADD ESP,-4
4111
XOR CL,CL
4112
CALL _endst
4113
OR EAX,EAX
4114
JE _1_428
4115
JMP _1_427
4116
_1_428:
4117
MOV EAX,1
4118
PUSH EAX
4119
MOV CL,1
4120
CALL _doexpr
4121
ADD ESP,4
4122
_1_427:
4123
LEA EAX,[EBP-4]
4124
PUSH EAX
4125
MOV EAX,[_csp]
4126
POP EBX
4127
MOV [EBX],EAX
4128
MOV EAX,67
4129
PUSH EAX
4130
XOR EAX,EAX
4131
PUSH EAX
4132
MOV CL,2
4133
CALL _gen
4134
ADD ESP,8
4135
LEA EAX,[EBP-4]
4136
MOV EBX,EAX
4137
MOV EAX, [EBX]
4138
MOV DWORD [_csp],EAX
4139
MOV ESP,EBP
4140
POP EBP
4141
RET
4142
 
4143
_dobreak:
4144
PUSH EBP
4145
MOV EBP,ESP
4146
ADD ESP,-4
4147
LEA EAX,[EBP-4]
4148
PUSH EAX
4149
MOV EAX,[_wqptr]
4150
PUSH EAX
4151
MOV CL,1
4152
CALL _readwhil
4153
ADD ESP,4
4154
POP EBX
4155
MOV [EBX],EAX
4156
OR EAX,EAX
4157
JE _1_431
4158
JMP _1_430
4159
_1_431:
4160
MOV ESP,EBP
4161
POP EBP
4162
RET
4163
_1_430:
4164
MOV EAX,2
4165
PUSH EAX
4166
LEA EAX,[EBP-4]
4167
MOV EBX,EAX
4168
MOV EAX, [EBX]
4169
MOV EBX,EAX
4170
MOV EAX, [EBX]
4171
PUSH EAX
4172
MOV CL,2
4173
CALL _gen
4174
ADD ESP,8
4175
MOV EAX,40
4176
PUSH EAX
4177
LEA EAX,[EBP-4]
4178
MOV EBX,EAX
4179
MOV EAX, [EBX]
4180
MOV EBX,8
4181
ADD EAX,EBX
4182
MOV EBX,EAX
4183
MOV EAX, [EBX]
4184
PUSH EAX
4185
MOV CL,2
4186
CALL _gen
4187
ADD ESP,8
4188
MOV ESP,EBP
4189
POP EBP
4190
RET
4191
 
4192
_docont:
4193
PUSH EBP
4194
MOV EBP,ESP
4195
ADD ESP,-4
4196
LEA EAX,[EBP-4]
4197
PUSH EAX
4198
MOV EAX,[_wqptr]
4199
POP EBX
4200
MOV [EBX],EAX
4201
_1_433:
4202
LEA EAX,[EBP-4]
4203
PUSH EAX
4204
LEA EAX,[EBP-4]
4205
MOV EBX,EAX
4206
MOV EAX, [EBX]
4207
PUSH EAX
4208
MOV CL,1
4209
CALL _readwhil
4210
ADD ESP,4
4211
POP EBX
4212
MOV [EBX],EAX
4213
OR EAX,EAX
4214
JE _1_436
4215
JMP _1_435
4216
_1_436:
4217
MOV ESP,EBP
4218
POP EBP
4219
RET
4220
_1_435:
4221
LEA EAX,[EBP-4]
4222
MOV EBX,EAX
4223
MOV EAX, [EBX]
4224
MOV EBX,4
4225
ADD EAX,EBX
4226
MOV EBX,EAX
4227
MOV EAX, [EBX]
4228
OR EAX,EAX
4229
JNE _1_438
4230
JMP _1_437
4231
_1_438:
4232
JMP _1_434
4233
_1_437:
4234
JMP _1_433
4235
_1_434:
4236
MOV EAX,2
4237
PUSH EAX
4238
LEA EAX,[EBP-4]
4239
MOV EBX,EAX
4240
MOV EAX, [EBX]
4241
MOV EBX,EAX
4242
MOV EAX, [EBX]
4243
PUSH EAX
4244
MOV CL,2
4245
CALL _gen
4246
ADD ESP,8
4247
MOV EAX,40
4248
PUSH EAX
4249
LEA EAX,[EBP-4]
4250
MOV EBX,EAX
4251
MOV EAX, [EBX]
4252
MOV EBX,4
4253
ADD EAX,EBX
4254
MOV EBX,EAX
4255
MOV EAX, [EBX]
4256
PUSH EAX
4257
MOV CL,2
4258
CALL _gen
4259
ADD ESP,8
4260
MOV ESP,EBP
4261
POP EBP
4262
RET
4263
 
4264
_doasm:
4265
PUSH EBP
4266
MOV EBP,ESP
4267
XOR EAX,EAX
4268
MOV DWORD [_ccode],EAX
4269
_1_440:
4270
XOR CL,CL
4271
CALL _inline
4272
MOV EAX,_1_439+0
4273
PUSH EAX
4274
MOV CL,1
4275
CALL _match
4276
ADD ESP,4
4277
OR EAX,EAX
4278
JNE _1_443
4279
JMP _1_442
4280
_1_443:
4281
JMP _1_441
4282
_1_442:
4283
MOV EAX,[_eof]
4284
OR EAX,EAX
4285
JNE _1_445
4286
JMP _1_444
4287
_1_445:
4288
JMP _1_441
4289
_1_444:
4290
MOV EAX,[_line]
4291
PUSH EAX
4292
MOV EAX,[_output]
4293
PUSH EAX
4294
MOV CL,2
4295
CALL _fputs
4296
ADD ESP,8
4297
JMP _1_440
4298
_1_441:
4299
XOR CL,CL
4300
CALL _kill
4301
MOV EAX,1
4302
MOV DWORD [_ccode],EAX
4303
POP EBP
4304
RET
4305
_1_439 DB 35,101,110,100,97,115,109,0
4306
 
4307
_doexpr:
4308
PUSH EBP
4309
MOV EBP,ESP
4310
ADD ESP,-16
4311
LEA EAX,[EBP+8]
4312
MOV EBX,EAX
4313
MOV EAX, [EBX]
4314
MOV DWORD [_usexpr],EAX
4315
_1_447:
4316
LEA EAX,[EBP-12]
4317
PUSH EAX
4318
LEA EAX,[EBP-16]
4319
PUSH EAX
4320
MOV CL,2
4321
CALL _setstage
4322
ADD ESP,8
4323
LEA EAX,[EBP-4]
4324
PUSH EAX
4325
LEA EAX,[EBP-8]
4326
PUSH EAX
4327
MOV CL,2
4328
CALL _expressi
4329
ADD ESP,8
4330
LEA EAX,[EBP-12]
4331
MOV EBX,EAX
4332
MOV EAX, [EBX]
4333
PUSH EAX
4334
LEA EAX,[EBP-16]
4335
MOV EBX,EAX
4336
MOV EAX, [EBX]
4337
PUSH EAX
4338
MOV CL,2
4339
CALL _clearsta
4340
ADD ESP,8
4341
MOV EAX,[_ch]
4342
MOV EBX,EAX
4343
MOV EAX,44
4344
CALL __ne
4345
OR EAX,EAX
4346
JNE _1_450
4347
JMP _1_449
4348
_1_450:
4349
JMP _1_448
4350
_1_449:
4351
MOV EAX,1
4352
PUSH EAX
4353
MOV CL,1
4354
CALL _bump
4355
ADD ESP,4
4356
JMP _1_447
4357
_1_448:
4358
MOV EAX,1
4359
MOV DWORD [_usexpr],EAX
4360
MOV ESP,EBP
4361
POP EBP
4362
RET
4363
 
4364
_ask:
4365
PUSH EBP
4366
MOV EBP,ESP
4367
ADD ESP,-8
4368
LEA EAX,[EBP-4]
4369
PUSH EAX
4370
XOR EAX,EAX
4371
MOV DWORD [_nxtlab],EAX
4372
MOV DWORD [_listfp],EAX
4373
POP EBX
4374
MOV [EBX],EAX
4375
MOV EAX,__iob
4376
MOV EBX,32
4377
ADD EAX,EBX
4378
MOV DWORD [_output],EAX
4379
XOR EAX,EAX
4380
MOV BYTE [_optimize],AL
4381
XOR EAX,EAX
4382
MOV BYTE [_pause],AL
4383
MOV BYTE [_monitor],AL
4384
MOV BYTE [_alarm],AL
4385
MOV EAX,[_mline]
4386
MOV DWORD [_line],EAX
4387
_1_452:
4388
LEA EAX,[EBP-4]
4389
MOV EBX,EAX
4390
MOV EAX, [EBX]
4391
INC EAX
4392
MOV [EBX],EAX
4393
PUSH EAX
4394
MOV EAX,[_line]
4395
PUSH EAX
4396
MOV EAX,128
4397
PUSH EAX
4398
MOV EAX,[_argcs]
4399
PUSH EAX
4400
MOV EAX,[_argvs]
4401
PUSH EAX
4402
MOV CL,5
4403
CALL _getarg
4404
ADD ESP,20
4405
MOV EBX,EAX
4406
MOV EAX,-1
4407
CALL __ne
4408
OR EAX,EAX
4409
JNE _1_454
4410
JMP _1_453
4411
_1_454:
4412
MOV EAX,[_line]
4413
MOV EBX,EAX
4414
MOVSX EAX,BYTE [EBX]
4415
MOV EBX,EAX
4416
MOV EAX,45
4417
CALL __ne
4418
OR EAX,EAX
4419
JNE _1_458
4420
JMP _1_456
4421
_1_458:
4422
MOV EAX,[_line]
4423
MOV EBX,EAX
4424
MOVSX EAX,BYTE [EBX]
4425
MOV EBX,EAX
4426
MOV EAX,47
4427
CALL __ne
4428
OR EAX,EAX
4429
JNE _1_459
4430
JMP _1_456
4431
_1_459:
4432
MOV EAX,1
4433
JMP _1_457
4434
_1_456:
4435
XOR EAX,EAX
4436
_1_457:
4437
OR EAX,EAX
4438
JNE _1_460
4439
JMP _1_455
4440
_1_460:
4441
JMP _1_452
4442
_1_455:
4443
MOV EAX,[_line]
4444
MOV EBX,1
4445
ADD EAX,EBX
4446
MOV EBX,EAX
4447
MOVSX EAX,BYTE [EBX]
4448
PUSH EAX
4449
MOV CL,1
4450
CALL _toupper
4451
ADD ESP,4
4452
MOV EBX,EAX
4453
MOV EAX,76
4454
CALL __eq
4455
OR EAX,EAX
4456
JNE _1_464
4457
JMP _1_462
4458
_1_464:
4459
MOV EAX,[_line]
4460
MOV EBX,2
4461
ADD EAX,EBX
4462
MOV EBX,EAX
4463
MOVSX EAX,BYTE [EBX]
4464
PUSH EAX
4465
MOV CL,1
4466
CALL _isdigit
4467
ADD ESP,4
4468
OR EAX,EAX
4469
JNE _1_465
4470
JMP _1_462
4471
_1_465:
4472
MOV EAX,[_line]
4473
MOV EBX,3
4474
ADD EAX,EBX
4475
MOV EBX,EAX
4476
MOVSX EAX,BYTE [EBX]
4477
MOV EBX,EAX
4478
MOV EAX,32
4479
CALL __le
4480
OR EAX,EAX
4481
JNE _1_466
4482
JMP _1_462
4483
_1_466:
4484
MOV EAX,1
4485
JMP _1_463
4486
_1_462:
4487
XOR EAX,EAX
4488
_1_463:
4489
OR EAX,EAX
4490
JNE _1_467
4491
JMP _1_461
4492
_1_467:
4493
MOV EAX,[_line]
4494
MOV EBX,2
4495
ADD EAX,EBX
4496
MOV EBX,EAX
4497
MOVSX EAX,BYTE [EBX]
4498
MOV EBX,EAX
4499
MOV EAX,48
4500
XCHG EAX,EBX
4501
SUB EAX,EBX
4502
MOV DWORD [_listfp],EAX
4503
JMP _1_452
4504
_1_461:
4505
MOV EAX,[_line]
4506
MOV EBX,1
4507
ADD EAX,EBX
4508
MOV EBX,EAX
4509
MOVSX EAX,BYTE [EBX]
4510
PUSH EAX
4511
MOV CL,1
4512
CALL _toupper
4513
ADD ESP,4
4514
MOV EBX,EAX
4515
MOV EAX,78
4516
CALL __eq
4517
OR EAX,EAX
4518
JNE _1_471
4519
JMP _1_469
4520
_1_471:
4521
MOV EAX,[_line]
4522
MOV EBX,2
4523
ADD EAX,EBX
4524
MOV EBX,EAX
4525
MOVSX EAX,BYTE [EBX]
4526
PUSH EAX
4527
MOV CL,1
4528
CALL _toupper
4529
ADD ESP,4
4530
MOV EBX,EAX
4531
MOV EAX,79
4532
CALL __eq
4533
OR EAX,EAX
4534
JNE _1_472
4535
JMP _1_469
4536
_1_472:
4537
MOV EAX,[_line]
4538
MOV EBX,3
4539
ADD EAX,EBX
4540
MOV EBX,EAX
4541
MOVSX EAX,BYTE [EBX]
4542
MOV EBX,EAX
4543
MOV EAX,32
4544
CALL __le
4545
OR EAX,EAX
4546
JNE _1_473
4547
JMP _1_469
4548
_1_473:
4549
MOV EAX,1
4550
JMP _1_470
4551
_1_469:
4552
XOR EAX,EAX
4553
_1_470:
4554
OR EAX,EAX
4555
JNE _1_474
4556
JMP _1_468
4557
_1_474:
4558
XOR EAX,EAX
4559
MOV BYTE [_optimize],AL
4560
JMP _1_452
4561
_1_468:
4562
MOV EAX,[_line]
4563
MOV EBX,1
4564
ADD EAX,EBX
4565
MOV EBX,EAX
4566
MOVSX EAX,BYTE [EBX]
4567
PUSH EAX
4568
MOV CL,1
4569
CALL _toupper
4570
ADD ESP,4
4571
MOV EBX,EAX
4572
MOV EAX,68
4573
CALL __eq
4574
OR EAX,EAX
4575
JNE _1_476
4576
JMP _1_475
4577
_1_476:
4578
LEA EAX,[EBP-8]
4579
MOV EBX,EAX
4580
XOR EAX,EAX
4581
MOV [EBX],EAX
4582
MOV EAX,[_line]
4583
PUSH EAX
4584
LEA EAX,[EBP-8]
4585
MOV EBX,EAX
4586
MOV EAX, [EBX]
4587
MOV EBX,2
4588
ADD EAX,EBX
4589
POP EBX
4590
ADD EAX,EBX
4591
MOV EBX,EAX
4592
MOVSX EAX,BYTE [EBX]
4593
MOV DWORD [_ch],EAX
4594
MOV EAX,[_line]
4595
PUSH EAX
4596
LEA EAX,[EBP-8]
4597
MOV EBX,EAX
4598
MOV EAX, [EBX]
4599
POP EBX
4600
ADD EAX,EBX
4601
MOV EBX,2
4602
ADD EAX,EBX
4603
MOV DWORD [_lptr],EAX
4604
XOR CL,CL
4605
CALL _dodefine
4606
JMP _1_452
4607
_1_475:
4608
MOV EAX,[_line]
4609
MOV EBX,2
4610
ADD EAX,EBX
4611
MOV EBX,EAX
4612
MOVSX EAX,BYTE [EBX]
4613
MOV EBX,EAX
4614
MOV EAX,32
4615
CALL __le
4616
OR EAX,EAX
4617
JNE _1_478
4618
JMP _1_477
4619
_1_478:
4620
MOV EAX,[_line]
4621
MOV EBX,1
4622
ADD EAX,EBX
4623
MOV EBX,EAX
4624
MOVSX EAX,BYTE [EBX]
4625
PUSH EAX
4626
MOV CL,1
4627
CALL _toupper
4628
ADD ESP,4
4629
MOV EBX,EAX
4630
MOV EAX,65
4631
CALL __eq
4632
OR EAX,EAX
4633
JNE _1_480
4634
JMP _1_479
4635
_1_480:
4636
MOV EAX,1
4637
MOV BYTE [_alarm],AL
4638
JMP _1_452
4639
_1_479:
4640
MOV EAX,[_line]
4641
MOV EBX,1
4642
ADD EAX,EBX
4643
MOV EBX,EAX
4644
MOVSX EAX,BYTE [EBX]
4645
PUSH EAX
4646
MOV CL,1
4647
CALL _toupper
4648
ADD ESP,4
4649
MOV EBX,EAX
4650
MOV EAX,77
4651
CALL __eq
4652
OR EAX,EAX
4653
JNE _1_482
4654
JMP _1_481
4655
_1_482:
4656
MOV EAX,1
4657
MOV BYTE [_monitor],AL
4658
JMP _1_452
4659
_1_481:
4660
MOV EAX,[_line]
4661
MOV EBX,1
4662
ADD EAX,EBX
4663
MOV EBX,EAX
4664
MOVSX EAX,BYTE [EBX]
4665
PUSH EAX
4666
MOV CL,1
4667
CALL _toupper
4668
ADD ESP,4
4669
MOV EBX,EAX
4670
MOV EAX,80
4671
CALL __eq
4672
OR EAX,EAX
4673
JNE _1_484
4674
JMP _1_483
4675
_1_484:
4676
MOV EAX,1
4677
MOV BYTE [_pause],AL
4678
JMP _1_452
4679
_1_483:
4680
_1_477:
4681
MOV EAX,_1_451+0
4682
PUSH EAX
4683
MOV EAX,__iob
4684
MOV EBX,64
4685
ADD EAX,EBX
4686
PUSH EAX
4687
MOV CL,2
4688
CALL _fputs
4689
ADD ESP,8
4690
MOV EAX,_1_451+57
4691
PUSH EAX
4692
MOV EAX,__iob
4693
MOV EBX,64
4694
ADD EAX,EBX
4695
PUSH EAX
4696
MOV CL,2
4697
CALL _fputs
4698
ADD ESP,8
4699
MOV EAX,_1_451+74
4700
PUSH EAX
4701
MOV EAX,__iob
4702
MOV EBX,64
4703
ADD EAX,EBX
4704
PUSH EAX
4705
MOV CL,2
4706
CALL _fputs
4707
ADD ESP,8
4708
MOV EAX,_1_451+89
4709
PUSH EAX
4710
MOV EAX,__iob
4711
MOV EBX,64
4712
ADD EAX,EBX
4713
PUSH EAX
4714
MOV CL,2
4715
CALL _fputs
4716
ADD ESP,8
4717
MOV EAX,_1_451+104
4718
PUSH EAX
4719
MOV EAX,__iob
4720
MOV EBX,64
4721
ADD EAX,EBX
4722
PUSH EAX
4723
MOV CL,2
4724
CALL _fputs
4725
ADD ESP,8
4726
MOV EAX,_1_451+118
4727
PUSH EAX
4728
MOV EAX,__iob
4729
MOV EBX,64
4730
ADD EAX,EBX
4731
PUSH EAX
4732
MOV CL,2
4733
CALL _fputs
4734
ADD ESP,8
4735
MOV EAX,_1_451+139
4736
PUSH EAX
4737
MOV EAX,__iob
4738
MOV EBX,64
4739
ADD EAX,EBX
4740
PUSH EAX
4741
MOV CL,2
4742
CALL _fputs
4743
ADD ESP,8
4744
MOV EAX,7
4745
PUSH EAX
4746
MOV CL,1
4747
CALL _OS_exit
4748
ADD ESP,4
4749
JMP _1_452
4750
_1_453:
4751
MOV ESP,EBP
4752
POP EBP
4753
RET
4754
_1_451 DB 117,115,97,103,101,58,32,99,99,32
4755
 DB 91,102,105,108,101,93,46,46,46,32
4756
 DB 91,45,109,93,32,91,45,97,93,32
4757
 DB 91,45,112,93,32,91,45,108,35,93
4758
 DB 32,91,45,110,111,93,32,91,45,100
4759
 DB 60,105,100,62,93,10,0,32,45,109
4760
 DB 32,32,32,32,32,109,111,110,105,116
4761
 DB 111,114,10,0,32,45,97,32,32,32
4762
 DB 32,32,97,108,97,114,109,10,0,32
4763
 DB 45,112,32,32,32,32,32,112,97,117
4764
 DB 115,101,10,0,32,45,108,35,32,32
4765
 DB 32,32,108,105,115,116,10,0,32,45
4766
 DB 110,111,32,32,32,32,110,111,32,111
4767
 DB 112,116,105,109,105,122,101,10,0,32
4768
 DB 45,100,60,105,100,62,32,112,114,101
4769
 DB 45,35,100,101,102,105,110,101,32,105
4770
 DB 100,10,0
4771
 
4772
_openfile:
4773
PUSH EBP
4774
MOV EBP,ESP
4775
ADD ESP,-28
4776
MOV EAX,-1
4777
MOV DWORD [_input],EAX
4778
_1_486:
4779
MOV EAX,[_filearg]
4780
INC EAX
4781
MOV DWORD [_filearg],EAX
4782
PUSH EAX
4783
MOV EAX,[_pline]
4784
PUSH EAX
4785
MOV EAX,128
4786
PUSH EAX
4787
MOV EAX,[_argcs]
4788
PUSH EAX
4789
MOV EAX,[_argvs]
4790
PUSH EAX
4791
MOV CL,5
4792
CALL _getarg
4793
ADD ESP,20
4794
MOV EBX,EAX
4795
MOV EAX,-1
4796
CALL __ne
4797
OR EAX,EAX
4798
JNE _1_488
4799
JMP _1_487
4800
_1_488:
4801
MOV EAX,[_pline]
4802
MOV EBX,EAX
4803
MOVSX EAX,BYTE [EBX]
4804
MOV EBX,EAX
4805
MOV EAX,45
4806
CALL __eq
4807
OR EAX,EAX
4808
JE _1_492
4809
JMP _1_490
4810
_1_492:
4811
MOV EAX,[_pline]
4812
MOV EBX,EAX
4813
MOVSX EAX,BYTE [EBX]
4814
MOV EBX,EAX
4815
MOV EAX,47
4816
CALL __eq
4817
OR EAX,EAX
4818
JE _1_493
4819
JMP _1_490
4820
_1_493:
4821
XOR EAX,EAX
4822
JMP _1_491
4823
_1_490:
4824
MOV EAX,1
4825
_1_491:
4826
OR EAX,EAX
4827
JNE _1_494
4828
JMP _1_489
4829
_1_494:
4830
JMP _1_486
4831
_1_489:
4832
LEA EAX,[EBP-28]
4833
MOV EBX,EAX
4834
XOR EAX,EAX
4835
MOV [EBX],EAX
4836
LEA EAX,[EBP-20]
4837
MOV EBX,EAX
4838
MOV EAX,-1
4839
MOV [EBX],EAX
4840
LEA EAX,[EBP-24]
4841
MOV EBX,EAX
4842
XOR EAX,EAX
4843
MOV [EBX],EAX
4844
_1_495:
4845
MOV EAX,[_pline]
4846
PUSH EAX
4847
LEA EAX,[EBP-20]
4848
MOV EBX,EAX
4849
MOV EAX, [EBX]
4850
INC EAX
4851
MOV [EBX],EAX
4852
POP EBX
4853
ADD EAX,EBX
4854
MOV EBX,EAX
4855
MOVSX EAX,BYTE [EBX]
4856
OR EAX,EAX
4857
JNE _1_497
4858
JMP _1_496
4859
_1_497:
4860
MOV EAX,[_pline]
4861
PUSH EAX
4862
LEA EAX,[EBP-20]
4863
MOV EBX,EAX
4864
MOV EAX, [EBX]
4865
POP EBX
4866
ADD EAX,EBX
4867
MOV EBX,EAX
4868
MOVSX EAX,BYTE [EBX]
4869
MOV EBX,EAX
4870
MOV EAX,46
4871
CALL __eq
4872
OR EAX,EAX
4873
JNE _1_499
4874
JMP _1_498
4875
_1_499:
4876
LEA EAX,[EBP-28]
4877
MOV EBX,EAX
4878
MOV EAX,1
4879
MOV [EBX],EAX
4880
JMP _1_496
4881
_1_498:
4882
LEA EAX,[EBP-24]
4883
MOV EBX,EAX
4884
MOV EAX, [EBX]
4885
MOV EBX,EAX
4886
MOV EAX,10
4887
CALL __lt
4888
OR EAX,EAX
4889
JNE _1_501
4890
JMP _1_500
4891
_1_501:
4892
LEA EAX,[EBP-16]
4893
PUSH EAX
4894
LEA EAX,[EBP-24]
4895
MOV EBX,EAX
4896
MOV EAX, [EBX]
4897
INC EAX
4898
MOV [EBX],EAX
4899
DEC EAX
4900
POP EBX
4901
ADD EAX,EBX
4902
PUSH EAX
4903
MOV EAX,[_pline]
4904
PUSH EAX
4905
LEA EAX,[EBP-20]
4906
MOV EBX,EAX
4907
MOV EAX, [EBX]
4908
POP EBX
4909
ADD EAX,EBX
4910
MOV EBX,EAX
4911
MOVSX EAX,BYTE [EBX]
4912
POP EBX
4913
MOV [EBX],AL
4914
_1_500:
4915
JMP _1_495
4916
_1_496:
4917
LEA EAX,[EBP-28]
4918
MOV EBX,EAX
4919
MOV EAX, [EBX]
4920
CALL __lneg
4921
OR EAX,EAX
4922
JNE _1_503
4923
JMP _1_502
4924
_1_503:
4925
MOV EAX,[_pline]
4926
PUSH EAX
4927
LEA EAX,[EBP-20]
4928
MOV EBX,EAX
4929
MOV EAX, [EBX]
4930
POP EBX
4931
ADD EAX,EBX
4932
PUSH EAX
4933
MOV EAX,_1_485+0
4934
PUSH EAX
4935
MOV CL,2
4936
CALL _strcpy
4937
ADD ESP,8
4938
_1_502:
4939
MOV EAX,[_pline]
4940
PUSH EAX
4941
MOV EAX,_1_485+3
4942
PUSH EAX
4943
MOV CL,2
4944
CALL _mustopen
4945
ADD ESP,8
4946
MOV DWORD [_input],EAX
4947
MOV EAX,[_files]
4948
CALL __lneg
4949
OR EAX,EAX
4950
JNE _1_505
4951
JMP _1_504
4952
_1_505:
4953
LEA EAX,[EBP-16]
4954
PUSH EAX
4955
LEA EAX,[EBP-24]
4956
MOV EBX,EAX
4957
MOV EAX, [EBX]
4958
POP EBX
4959
ADD EAX,EBX
4960
PUSH EAX
4961
MOV EAX,_1_485+5
4962
PUSH EAX
4963
MOV CL,2
4964
CALL _strcpy
4965
ADD ESP,8
4966
LEA EAX,[EBP-16]
4967
PUSH EAX
4968
MOV EAX,_1_485+10
4969
PUSH EAX
4970
MOV CL,2
4971
CALL _mustopen
4972
ADD ESP,8
4973
MOV DWORD [_output],EAX
4974
_1_504:
4975
MOV EAX,1
4976
MOV DWORD [_files],EAX
4977
XOR CL,CL
4978
CALL _kill
4979
MOV ESP,EBP
4980
POP EBP
4981
RET
4982
JMP _1_486
4983
_1_487:
4984
MOV EAX,[_files]
4985
INC EAX
4986
MOV DWORD [_files],EAX
4987
DEC EAX
4988
OR EAX,EAX
4989
JNE _1_507
4990
JMP _1_506
4991
_1_507:
4992
MOV EAX,1
4993
MOV DWORD [_eof],EAX
4994
JMP _1_508
4995
_1_506:
4996
MOV EAX,__iob
4997
MOV DWORD [_input],EAX
4998
_1_508:
4999
XOR CL,CL
5000
CALL _kill
5001
MOV ESP,EBP
5002
POP EBP
5003
RET
5004
_1_485 DB 46,67,0,114,0,46,65,83,77,0
5005
 DB 119,0
5006
 
5007
_mustopen:
5008
PUSH EBP
5009
MOV EBP,ESP
5010
ADD ESP,-4
5011
LEA EAX,[EBP-4]
5012
PUSH EAX
5013
LEA EAX,[EBP+12]
5014
MOV EBX,EAX
5015
MOV EAX, [EBX]
5016
PUSH EAX
5017
LEA EAX,[EBP+8]
5018
MOV EBX,EAX
5019
MOV EAX, [EBX]
5020
PUSH EAX
5021
MOV CL,2
5022
CALL _OS_fopen
5023
ADD ESP,8
5024
POP EBX
5025
MOV [EBX],EAX
5026
OR EAX,EAX
5027
JNE _1_511
5028
JMP _1_510
5029
_1_511:
5030
LEA EAX,[EBP-4]
5031
MOV EBX,EAX
5032
MOV EAX, [EBX]
5033
MOV ESP,EBP
5034
POP EBP
5035
RET
5036
_1_510:
5037
MOV EAX,_1_509+0
5038
PUSH EAX
5039
MOV EAX,__iob
5040
MOV EBX,64
5041
ADD EAX,EBX
5042
PUSH EAX
5043
MOV CL,2
5044
CALL _fputs
5045
ADD ESP,8
5046
LEA EAX,[EBP+12]
5047
MOV EBX,EAX
5048
MOV EAX, [EBX]
5049
PUSH EAX
5050
MOV EAX,__iob
5051
MOV EBX,64
5052
ADD EAX,EBX
5053
PUSH EAX
5054
MOV CL,2
5055
CALL _lout
5056
ADD ESP,8
5057
MOV EAX,7
5058
PUSH EAX
5059
MOV CL,1
5060
CALL _OS_exit
5061
ADD ESP,4
5062
MOV ESP,EBP
5063
POP EBP
5064
RET
5065
_1_509 DB 111,112,101,110,32,101,114,114,111,114
5066
 DB 32,111,110,32,0