Improve syscalls emulation on Linux, so bin/as can run and print sensible error
authorNick Downing <downing.nick@gmail.com>
Fri, 27 Jan 2017 01:48:39 +0000 (12:48 +1100)
committerNick Downing <downing.nick@gmail.com>
Fri, 27 Jan 2017 03:53:48 +0000 (14:53 +1100)
61 files changed:
bin/as/Makefile
bin/as/astoks.h
bin/as/test/as.ok [new file with mode: 0755]
bin/as/test/ascode.o.ok [new file with mode: 0644]
bin/as/test/ascode.s [new file with mode: 0644]
bin/as/test/asexpr.o.ok [new file with mode: 0644]
bin/as/test/asexpr.s [new file with mode: 0644]
bin/as/test/asio.o.ok [new file with mode: 0644]
bin/as/test/asio.s [new file with mode: 0644]
bin/as/test/asjxxx.o.ok [new file with mode: 0644]
bin/as/test/asjxxx.s [new file with mode: 0644]
bin/as/test/asmain.o.ok [new file with mode: 0644]
bin/as/test/asmain.s [new file with mode: 0644]
bin/as/test/asparse.o.ok [new file with mode: 0644]
bin/as/test/asparse.s [new file with mode: 0644]
bin/as/test/aspseudo.o.ok [new file with mode: 0644]
bin/as/test/aspseudo.s [new file with mode: 0644]
bin/as/test/asscan1.o.ok [new file with mode: 0644]
bin/as/test/asscan1.s [new file with mode: 0644]
bin/as/test/asscan2.o.ok [new file with mode: 0644]
bin/as/test/asscan2.s [new file with mode: 0644]
bin/as/test/asscan3.o.ok [new file with mode: 0644]
bin/as/test/asscan3.s [new file with mode: 0644]
bin/as/test/asscan4.o.ok [new file with mode: 0644]
bin/as/test/asscan4.s [new file with mode: 0644]
bin/as/test/assizetab.o.ok [new file with mode: 0644]
bin/as/test/assizetab.s [new file with mode: 0644]
bin/as/test/assyms.o.ok [new file with mode: 0644]
bin/as/test/assyms.s [new file with mode: 0644]
bin/as/test/bignum1.o.ok [new file with mode: 0644]
bin/as/test/bignum1.s [new file with mode: 0644]
bin/as/test/bignum2.o.ok [new file with mode: 0644]
bin/as/test/bignum2.s [new file with mode: 0644]
bin/as/test/crt0.o.ok [new file with mode: 0755]
bin/as/test/floattab.o.ok [new file with mode: 0644]
bin/as/test/floattab.s [new file with mode: 0644]
bin/as/test/n.sh [new file with mode: 0755]
bin/as/test/natof.o.ok [new file with mode: 0644]
bin/as/test/natof.s [new file with mode: 0644]
env.sh
lib/libc/linux/sys/Makefile
lib/libc/linux/sys/_exit.c
lib/libc/linux/sys/close.c
lib/libc/linux/sys/fstat.c
lib/libc/linux/sys/getpagesize.c
lib/libc/linux/sys/getpid.c [new file with mode: 0644]
lib/libc/linux/sys/isatty.c
lib/libc/linux/sys/linux.c [new file with mode: 0644]
lib/libc/linux/sys/linux.h [new file with mode: 0644]
lib/libc/linux/sys/lseek.c
lib/libc/linux/sys/read.c
lib/libc/linux/sys/readv.c
lib/libc/linux/sys/sbrk.c
lib/libc/linux/sys/sigvec.c [new file with mode: 0644]
lib/libc/linux/sys/stat.c [new file with mode: 0644]
lib/libc/linux/sys/unlink.c [new file with mode: 0644]
lib/libc/linux/sys/vopen.c
lib/libc/linux/sys/write.c
lib/libc/linux/sys/writev.c
xify/cc.c
xify/xify.sh

index e2ce885..519bebe 100644 (file)
@@ -97,7 +97,7 @@ AS = /bin/as
 LD = /bin/ld
 
 DFLAGS= -DAS
-CFLAGS = -O ${DFLAGS}
+CFLAGS = -g -O ${DFLAGS}
 
 LDFLAGS = -O
 
index ea90a40..a727a94 100644 (file)
@@ -1,6 +1,3 @@
-#ifndef _ASTOKS_H_
-#define _ASTOKS_H_
-
 # define FIRSTTOKEN 0
 # define ISPACE 1
 # define IBYTE 2
@@ -78,5 +75,3 @@
 # define RB 74
 # define RP 75
 # define LASTTOKEN 76
-
-#endif
diff --git a/bin/as/test/as.ok b/bin/as/test/as.ok
new file mode 100755 (executable)
index 0000000..cc1beb3
Binary files /dev/null and b/bin/as/test/as.ok differ
diff --git a/bin/as/test/ascode.o.ok b/bin/as/test/ascode.o.ok
new file mode 100644 (file)
index 0000000..e6db888
Binary files /dev/null and b/bin/as/test/ascode.o.ok differ
diff --git a/bin/as/test/ascode.s b/bin/as/test/ascode.s
new file mode 100644 (file)
index 0000000..073f088
--- /dev/null
@@ -0,0 +1,680 @@
+.data
+.data
+_sccsid:.long  0x29232840
+.long  0x6f637361
+.long  0x632e6564
+.long  0x312e3509
+.long  0x65422820
+.long  0x6c656b72
+.long  0x20297965
+.long  0x34322f34
+.long  0x35382f
+.comm  _rusefile,32
+.comm  _relfil,4
+.text
+LL0:.align     1
+.globl _insout
+.data  1
+L129:.ascii    "Botched reference into itab\0"
+.text
+.data  1
+L132:.ascii    "Too few arguments\0"
+.text
+.data  1
+L134:.ascii    "Too many arguments\0"
+.text
+.data  1
+L144:.ascii    "arg %d, branch displacement must be an expression\0"
+.text
+.data  1
+L149:.ascii    "arg %d, addressing a register\0"
+.text
+.data  1
+L152:.ascii    "arg %d, addressing an immediate operand\0"
+.text
+.data  1
+L159:.ascii    "arg %d, modifying a constant\0"
+.text
+.data  1
+L164:.ascii    "arg %d, PC used as index\0"
+.text
+.data  1
+L168:.ascii    "arg %d, indexing the register file\0"
+.text
+.data  1
+L170:.ascii    "arg %d, indexing a constant\0"
+.text
+.data  1
+L174:.ascii    "arg %d, indexing with modified register\0"
+.text
+.set   L121,0xf80
+.data
+.text
+_insout:.word  L121
+subl2  $4,sp
+movl   12(ap),-4(fp)
+tstl   12(ap)
+jgeq   L125
+mnegl  12(ap),12(ap)
+L125:cmpl      _passno,$1
+jneq   L126
+movzbl 4(ap),r0
+cmpl   _itab[r0],$-1431655766
+jeql   L99999
+movzbl 5(ap),r0
+movzbl 4(ap),r1
+ashl   $2,r0,r0
+addl2  _itab[r1],r0
+cmpl   (r0),$-1431655766
+jneq   L127
+L99999:pushal  L129
+calls  $1,_panic
+L127:movzbl    5(ap),r0
+movzbl 4(ap),r1
+ashl   $2,r0,r0
+addl2  _itab[r1],r0
+movl   (r0),r11
+movl   12(ap),r0
+cvtbl  5(r11),r1
+cmpl   r0,r1
+jgeq   L130
+pushal L132
+calls  $1,_yyerror
+L130:movl      12(ap),r0
+cvtbl  5(r11),r1
+cmpl   r0,r1
+jleq   L133
+pushal L134
+calls  $1,_yyerror
+cvtbl  5(r11),12(ap)
+L133:movl      8(ap),r10
+movl   $1,r9
+L137:cmpl      r9,12(ap)
+jgtr   L126
+cvtbl  (r10),r8
+extzv  $0,$4,r8,r7
+addl3  $6,r11,r0
+subl3  $1,r9,r1
+cvtbl  (r0)[r1],r0
+bicl2  $-241,r0
+ashl   $-4,r0,r0
+casel  r0,$1,$7
+L2000001:
+.word  L138-L2000001
+.word  L154-L2000001
+.word  L154-L2000001
+.word  L142-L2000001
+.word  L138-L2000001
+.word  L138-L2000001
+.word  L138-L2000001
+.word  L145-L2000001
+L138:jbc       $4,r8,L135
+cmpb   2(r10),$15
+jneq   L163
+pushl  r9
+pushal L164
+L2000000:calls $2,_yyerror
+ret
+L142:cmpl      r7,$6
+jeql   L138
+cmpl   r7,$7
+jeql   L138
+pushl  r9
+pushal L144
+jbr    L2000000
+L145:movl      r7,r0
+cmpl   r0,$1
+jeql   L148
+cmpl   r0,$7
+jeql   L150
+jbr    L138
+L148:pushl     r9
+pushal L149
+jbr    L2000000
+L150:jbs       $3,r8,L138
+pushl  r9
+pushal L152
+jbr    L2000000
+L154:movl      r7,r0
+cmpl   r0,$7
+jneq   L138
+jbs    $3,r8,L138
+pushl  r9
+pushal L159
+jbr    L2000000
+L163:movl      r7,r0
+casel  r0,$1,$6
+L2000002:
+.word  L167-L2000002
+.word  L135-L2000002
+.word  L172-L2000002
+.word  L172-L2000002
+.word  L135-L2000002
+.word  L135-L2000002
+.word  L169-L2000002
+L135:addl2     $8,r10
+incl   r9
+jbr    L137
+L167:pushl     r9
+pushal L168
+jbr    L2000000
+L169:pushl     r9
+pushal L170
+jbr    L2000000
+L172:cmpb      1(r10),2(r10)
+jneq   L135
+pushl  r9
+pushal L174
+jbr    L2000000
+L126:tstl      -4(fp)
+jgeq   L177
+pushl  12(ap)
+pushl  8(ap)
+subl2  $4,sp
+movw   4(ap),(sp)
+calls  $3,_ijxout
+jbr    L179
+L177:pushl     12(ap)
+pushl  8(ap)
+subl2  $4,sp
+movw   4(ap),(sp)
+calls  $3,_putins
+L179:ret
+.align 1
+.globl _putins
+.data  1
+L194:.ascii    "Bad escape opcode\0"
+.text
+.data  1
+L231:.ascii    "Bad escape opcode\0"
+.text
+.data  1
+L249:.ascii    "%s\72 destination label is external\0"
+.text
+.data  1
+L251:.ascii    "%s\72 Branch too far(%db)\72 try -J flag\0"
+.text
+.data  1
+L254:.ascii    "%s\72 destination label is external\0"
+.text
+.data  1
+L256:.ascii    "%s\72 Branch too far(%db)\72 try -J flag\0"
+.text
+.set   L181,0xe00
+.data
+.text
+_putins:.word  L181
+subl2  $12,sp
+movl   8(ap),r11
+cmpl   _passno,$2
+jeql   L186
+addl2  12(ap),*_dotp
+movzbl 4(ap),r0
+cmpl   r0,$0
+jeql   L190
+cmpl   r0,$1
+jeql   L190
+cmpl   r0,$253
+jeql   L192
+cmpl   r0,$255
+jeql   L192
+pushal L194
+calls  $1,_panic
+L187:clrl      -4(fp)
+L197:cmpl      -4(fp),12(ap)
+jgeq   L196
+cvtbl  (r11),r9
+jbc    $4,r9,L198
+incl   *_dotp
+L198:bicl3     $24,r9,r0
+casel  r0,$1,$6
+L2000012:
+.word  L195-L2000012
+.word  L195-L2000012
+.word  L195-L2000012
+.word  L195-L2000012
+.word  L208-L2000012
+.word  L205-L2000012
+.word  L213-L2000012
+L195:incl      -4(fp)
+addl2  $8,r11
+jbr    L197
+L190:incl      *_dotp
+jbr    L187
+L192:addl2     $2,*_dotp
+jbr    L187
+L205:movzbl    5(ap),r0
+movzbl 4(ap),r1
+ashl   $2,r0,r0
+addl2  _itab[r1],r0
+addl3  $6,(r0),r0
+movl   -4(fp),r1
+cvtbl  (r0)[r1],r9
+cmpl   r9,$64
+jeql   L195
+cmpl   r9,$65
+jneq   L207
+incl   *_dotp
+jbr    L195
+L207:cvtbl     3(r11),r0
+addl2  r0,*_dotp
+jbr    L195
+L208:movl      4(r11),r10
+cvtbl  20(r10),r0
+bicl2  $-31,r0
+cmpl   r0,$2
+jneq   L207
+jbs    $5,20(r10),L207
+tstl   (r10)
+jneq   L210
+jbc    $3,r9,L195
+L210:incl      *_dotp
+cmpl   (r10),$-128
+jlss   L211
+cmpl   (r10),$127
+jleq   L195
+L211:incl      *_dotp
+cmpl   (r10),$-32768
+jlss   L212
+cmpl   (r10),$32767
+jleq   L195
+L212:addl2     $2,*_dotp
+jbr    L195
+L213:jbc       $3,(r11),L214
+movl   $2,r9
+L215:addl2     _ty_nbyte[r9],*_dotp
+jbr    L195
+L214:movzbl    5(ap),r0
+movzbl 4(ap),r1
+ashl   $2,r0,r0
+addl2  _itab[r1],r0
+addl3  $6,(r0),r0
+movl   -4(fp),r1
+cvtbl  (r0)[r1],r9
+jbc    $7,r9,L216
+movl   $2,r9
+jbr    L217
+L216:extzv     $0,$4,r9,r9
+L217:movl      4(r11),r10
+pushal -12(fp)
+pushl  r9
+pushl  4(r11)
+calls  $3,_immconstant
+tstl   r0
+jeql   L215
+jbr    L195
+L196:ret
+L186:movzbl    4(ap),r0
+cmpl   r0,$0
+jeql   L222
+cmpl   r0,$1
+jeql   L224
+cmpl   r0,$253
+jeql   L226
+cmpl   r0,$255
+jeql   L226
+pushal L231
+calls  $1,_panic
+jbr    L222
+L2000006:decw  *_txtfil
+movl   _txtfil,r0
+movl   4(r0),r1
+incl   4(r0)
+movb   5(ap),(r1)
+cvtbl  (r1),r0
+jbr    L232
+L224:incl      _nnewopcodes
+jbr    L222
+L226:incl      _nGHopcodes
+incl   *_dotp
+cmpl   _passno,$2
+jneq   L222
+tstw   *_txtfil
+jeql   L99997
+decw   *_txtfil
+movl   _txtfil,r0
+movl   4(r0),r1
+incl   4(r0)
+movb   4(ap),(r1)
+cvtbl  (r1),r0
+jbr    L222
+L99997:movzbl  4(ap),-(sp)
+pushl  _txtfil
+calls  $2,_bflushc
+L222:incl      *_dotp
+cmpl   _passno,$2
+jneq   L232
+tstw   *_txtfil
+jneq   L2000006
+movzbl 5(ap),-(sp)
+pushl  _txtfil
+calls  $2,_bflushc
+L232:clrl      -4(fp)
+jbr    L235
+L2000010:cvtbl (r11),r9
+movl   4(r11),r10
+movl   $10,-8(fp)
+jbc    $4,r9,L236
+incl   *_dotp
+cmpl   _passno,$2
+jneq   L237
+tstw   *_txtfil
+jeql   L99993
+decw   *_txtfil
+cvtbl  2(r11),r0
+jbss   $6,r0,L2000004
+L2000004:movl  _txtfil,r1
+movl   4(r1),r2
+incl   4(r1)
+cvtlb  r0,(r2)
+jbr    L237
+L99993:cvtbl   2(r11),r0
+bisl3  $64,r0,-(sp)
+pushl  _txtfil
+calls  $2,_bflushc
+L237:bicl2     $16,r9
+L236:jbc       $3,r9,L238
+bisb2  $16,1(r11)
+bicl2  $8,r9
+L238:movl      r9,r0
+casel  r0,$1,$6
+L2000013:
+.word  L241-L2000013
+.word  L242-L2000013
+.word  L243-L2000013
+.word  L244-L2000013
+.word  L257-L2000013
+.word  L245-L2000013
+.word  L262-L2000013
+jbr    L239
+L2000008:decw  *_txtfil
+movl   _txtfil,r0
+movl   4(r0),r1
+incl   4(r0)
+movb   1(r11),(r1)
+jbr    L270
+L241:bisb2     $80,1(r11)
+jbr    L239
+L242:bisb2     $96,1(r11)
+jbr    L239
+L243:bisb2     $112,1(r11)
+jbr    L239
+L244:cvtbl     1(r11),r0
+jbss   $7,r0,L2000003
+L2000003:cvtlb r0,1(r11)
+jbr    L239
+L245:movzbl    5(ap),r0
+movzbl 4(ap),r1
+ashl   $2,r0,r0
+addl2  _itab[r1],r0
+addl3  $6,(r0),r0
+movl   -4(fp),r1
+cvtbl  (r0)[r1],r9
+cmpl   r9,$64
+jneq   L246
+addl3  $1,*_dotp,r0
+subl3  r0,(r10),r9
+cvtlb  r9,1(r11)
+bitb   $30,20(r10)
+jneq   L247
+movzbl 5(ap),r0
+movzbl 4(ap),r1
+ashl   $2,r0,r0
+addl2  _itab[r1],r0
+addl3  $8,*(r0),-(sp)
+pushal L249
+calls  $2,_yywarning
+L247:cmpl      r9,$-128
+jlss   L99991
+cmpl   r9,$127
+jleq   L239
+L99991:pushl   r9
+movzbl 5(ap),r0
+movzbl 4(ap),r1
+ashl   $2,r0,r0
+addl2  _itab[r1],r0
+addl3  $8,*(r0),-(sp)
+pushal L251
+calls  $3,_yyerror
+jbr    L239
+L246:cmpl      r9,$65
+jneq   L252
+addl3  $2,*_dotp,r0
+subl2  r0,(r10)
+movl   (r10),r9
+cvtlb  r9,1(r11)
+bitb   $30,20(r10)
+jneq   L253
+movzbl 5(ap),r0
+movzbl 4(ap),r1
+ashl   $2,r0,r0
+addl2  _itab[r1],r0
+addl3  $8,*(r0),-(sp)
+pushal L254
+calls  $2,_yywarning
+L253:cvtlb     $2,20(r10)
+cmpl   r9,$-32768
+jlss   L99990
+cmpl   r9,$32767
+jleq   L255
+L99990:pushl   r9
+movzbl 5(ap),r0
+movzbl 4(ap),r1
+ashl   $2,r0,r0
+addl2  _itab[r1],r0
+addl3  $8,*(r0),-(sp)
+pushal L256
+calls  $3,_yyerror
+L255:ashl      $-8,r9,(r10)
+clrl   -8(fp)
+jbr    L239
+L252:cvtbl     3(r11),r0
+cvtbl  _mod124[r0],r0
+addl2  $175,r0
+cvtbl  1(r11),r1
+bisl2  r0,r1
+cvtlb  r1,1(r11)
+cvtbl  3(r11),r0
+addl3  $16,_type_124[r0],-8(fp)
+jbr    L239
+L257:cvtbl     1(r11),r0
+bisl2  $160,r0
+cvtlb  r0,1(r11)
+cvtbl  20(r10),r0
+bicl2  $-31,r0
+cmpl   r0,$2
+jneq   L99989
+jbc    $5,20(r10),L258
+L99989:cvtbl   3(r11),r0
+cvtbl  _mod124[r0],r0
+cvtbl  1(r11),r1
+addl2  r0,r1
+cvtlb  r1,1(r11)
+cvtbl  3(r11),r0
+movl   _type_124[r0],-8(fp)
+jbr    L239
+L258:tstl      (r10)
+jneq   L259
+jbs    $4,1(r11),L259
+cvtbl  1(r11),r0
+xorl2  $192,r0
+jbr    L2000003
+L259:clrl      -8(fp)
+cmpl   (r10),$-128
+jlss   L260
+cmpl   (r10),$127
+jleq   L239
+L260:addb2     $32,1(r11)
+movl   $1,-8(fp)
+cmpl   (r10),$-32768
+jlss   L261
+cmpl   (r10),$32767
+jleq   L239
+L261:addb2     $32,1(r11)
+movl   $2,-8(fp)
+jbr    L239
+L262:jbc       $3,(r11),L263
+movl   $2,r9
+L264:cvtbl     1(r11),r0
+bisl2  $143,r0
+cvtlb  r0,1(r11)
+movl   r9,-8(fp)
+jbr    L239
+L263:movzbl    5(ap),r0
+movzbl 4(ap),r1
+ashl   $2,r0,r0
+addl2  _itab[r1],r0
+addl3  $6,(r0),r0
+movl   -4(fp),r1
+cvtbl  (r0)[r1],r9
+jbc    $7,r9,L265
+movl   $2,r9
+jbr    L266
+L265:extzv     $0,$4,r9,r9
+L266:pushal    -12(fp)
+pushl  r9
+pushl  r10
+calls  $3,_immconstant
+tstl   r0
+jeql   L264
+movl   $10,-8(fp)
+cvtlb  -12(fp),1(r11)
+L239:incl      *_dotp
+cmpl   _passno,$2
+jneq   L270
+tstw   *_txtfil
+jneq   L2000008
+cvtbl  1(r11),-(sp)
+pushl  _txtfil
+calls  $2,_bflushc
+L270:cmpl      -8(fp),$10
+jeql   L233
+pushl  -8(fp)
+pushl  r10
+calls  $2,_outrel
+L233:incl      -4(fp)
+addl2  $8,r11
+L235:cmpl      -4(fp),12(ap)
+jlss   L2000010
+ret
+.align 1
+.globl _immconstant
+.data  1
+L300:.ascii    "Immediate constant type %s mismatches instruction type %s\0"
+.text
+.set   L273,0xe00
+.data
+.text
+_immconstant:.word     L273
+subl2  $4,sp
+movl   4(ap),r11
+clrl   r10
+cvtbl  20(r11),r0
+bicl2  $-31,r0
+cmpl   r0,$2
+jeql   L277
+L2000015:clrl  r0
+ret
+L277:jbs       $5,20(r11),L2000015
+cvtbl  16(r11),-4(fp)
+movl   $1,r9
+cmpl   _passno,$2
+jneq   L279
+movl   8(ap),r0
+cmpl   r0,$0
+jeql   L282
+cmpl   r0,r9
+jeql   L289
+cmpl   r0,$5
+jeql   L296
+L298:movl      8(ap),r0
+movl   -4(fp),r1
+cmpl   _ty_nbyte[r0],_ty_nbyte[r1]
+jlss   L99986
+L2000019:movl  $1,r0
+jbr    L99983
+L282:movl      -4(fp),r0
+cmpl   r0,$0
+jeql   L286
+cmpl   r0,$1
+jeql   L288
+cmpl   r0,$2
+jeql   L288
+L2000014:clrl  r9
+L279:tstl      r9
+jneq   L299
+movl   8(ap),r0
+pushl  _ty_string[r0]
+movl   -4(fp),r0
+pushl  _ty_string[r0]
+pushal L300
+calls  $3,_yywarning
+L299:movl      8(ap),r0
+casel  r0,$0,$8
+L2000020:
+.word  L312-L2000020
+.word  L312-L2000020
+.word  L312-L2000020
+.word  L309-L2000020
+.word  L309-L2000020
+.word  L306-L2000020
+.word  L306-L2000020
+.word  L306-L2000020
+.word  L306-L2000020
+L301:movl      r10,r0
+ret
+L288:cmpl      (r11),$-128
+jlss   L99984
+cmpl   (r11),$127
+jleq   L2000019
+L99984:tstl    (r11)
+jlss   L99986
+cmpl   (r11),$255
+jleq   L2000019
+L99986:clrl    r0
+L99983:movl    r0,r9
+jbr    L279
+L289:movl      -4(fp),r0
+cmpl   r0,$0
+jeql   L286
+cmpl   r0,$1
+jeql   L286
+cmpl   r0,$2
+jneq   L2000014
+cmpl   (r11),$-32768
+jlss   L99980
+cmpl   (r11),$32767
+jleq   L2000019
+L99980:tstl    (r11)
+jlss   L99986
+cmpl   (r11),$65535
+jgtr   L99986
+jbr    L2000019
+L296:cmpl      -4(fp),$6
+jneq   L298
+L286:movl      $1,r9
+jbr    L279
+L306:pushl     12(ap)
+pushl  8(ap)
+subl2  $20,sp
+movc3  $20,(r11),(sp)
+calls  $7,_slitflt
+jbr    L2000016
+L2000018:cmpl  (r11),$63
+jgtr   L99976
+movl   $1,r0
+L2000016:movl  r0,r10
+jbr    L301
+L309:clrl      r10
+jbr    L301
+L312:movl      -4(fp),r0
+cmpl   r0,$3
+jeql   L309
+cmpl   r0,$4
+jeql   L309
+movl   (r11),*12(ap)
+tstl   (r11)
+jgeq   L2000018
+L99976:clrl    r0
+jbr    L2000016
+
diff --git a/bin/as/test/asexpr.o.ok b/bin/as/test/asexpr.o.ok
new file mode 100644 (file)
index 0000000..02ec9d7
Binary files /dev/null and b/bin/as/test/asexpr.o.ok differ
diff --git a/bin/as/test/asexpr.s b/bin/as/test/asexpr.s
new file mode 100644 (file)
index 0000000..ca948e4
--- /dev/null
@@ -0,0 +1,1009 @@
+.data
+.data
+_sccsid:.long  0x29232840
+.long  0x78657361
+.long  0x632e7270
+.long  0x322e3509
+.long  0x65422820
+.long  0x6c656b72
+.long  0x20297965
+.long  0x39312f36
+.long  0x35382f
+.comm  _rusefile,32
+.comm  _relfil,4
+.globl _pltab
+_pltab:.long   0x0
+.long  0x2000000
+.long  0x1080604
+.long  0xffff0400
+.long  0x600ffff
+.long  0xffffffff
+.long  0xffff0800
+.long  0x100ffff
+.long  0xffffffff
+.globl _mintab
+_mintab:.long  0x0
+.long  0x2000000
+.long  0xffffffff
+.long  0xff020400
+.long  0x600ffff
+.long  0xffff02ff
+.long  0xffff0800
+.long  0x100ff02
+.long  0xffffffff
+.globl _othtab
+_othtab:.long  0x0
+.long  0x2000000
+.long  0xffffffff
+.long  0xffffff00
+.long  0xff00ffff
+.long  0xffffffff
+.long  0xffffff00
+.long  0xff00ffff
+.long  0xffffffff
+.text
+LL0:.align     1
+.globl _combine
+.data  1
+L123:.ascii    "The assembler can only do arithmetic on 1,2, or 4 byte integers\0"
+.text
+.data  1
+L156:.ascii    "Divide check\0"
+.text
+.data  1
+L160:.ascii    "Divide check (modulo)\0"
+.text
+.data  1
+L163:.ascii    "Internal error\72 unknown operator\0"
+.text
+.data  1
+L167:.ascii    "Relocation error\0"
+.text
+.set   L119,0xf80
+.data
+.text
+_combine:.word L119
+subl2  $4,sp
+movl   8(ap),r11
+movl   12(ap),r10
+moval  L123,-4(fp)
+clrl   _lastnam
+cvtbl  20(r11),r0
+bicl3  $-31,r0,r9
+cvtbl  20(r10),r0
+bicl3  $-31,r0,r8
+cmpb   20(r11),$1
+jneq   L124
+movl   $10,r9
+L124:cmpb      20(r10),$1
+jneq   L125
+movl   $10,r8
+L125:cmpl      _passno,$1
+jneq   L126
+cmpb   21(r11),21(r10)
+jeql   L126
+cmpl   r9,r8
+jneq   L126
+movl   $10,r8
+movl   r8,r9
+L126:ashl      $-1,r9,r9
+ashl   $-1,r8,r8
+cvtbl  16(r11),r0
+cmpl   r0,$0
+jeql   L128
+cmpl   r0,$1
+jeql   L128
+cmpl   r0,$2
+jeql   L128
+L2000002:pushl -4(fp)
+L2000007:calls $1,_yyerror
+L2000003:movl  r11,r0
+ret
+L128:cvtbl     16(r10),r0
+cmpl   r0,$0
+jeql   L135
+cmpl   r0,$1
+jeql   L135
+cmpl   r0,$2
+jneq   L2000002
+L135:movl      4(ap),r0
+casel  r0,$45,$26
+L2000010:
+.word  L153-L2000010
+.word  L162-L2000010
+.word  L162-L2000010
+.word  L162-L2000010
+.word  L158-L2000010
+.word  L162-L2000010
+.word  L162-L2000010
+.word  L162-L2000010
+.word  L162-L2000010
+.word  L162-L2000010
+.word  L162-L2000010
+.word  L162-L2000010
+.word  L162-L2000010
+.word  L162-L2000010
+.word  L150-L2000010
+.word  L151-L2000010
+.word  L144-L2000010
+.word  L162-L2000010
+.word  L147-L2000010
+.word  L154-L2000010
+.word  L162-L2000010
+.word  L162-L2000010
+.word  L143-L2000010
+.word  L145-L2000010
+.word  L148-L2000010
+.word  L149-L2000010
+.word  L149-L2000010
+L162:pushal    L163
+calls  $1,_yyerror
+L141:cmpl      r8,$5
+jneq   L165
+movl   24(r10),24(r11)
+L165:cvtbl     20(r11),r0
+cvtbl  20(r10),r1
+bisl2  r1,r0
+bicl2  $-34,r0
+bisl2  r7,r0
+cvtlb  r0,20(r11)
+cmpl   r7,$-1
+jneq   L2000003
+pushal L167
+jbr    L2000007
+L143:addl2     (r10),(r11)
+mull3  $6,r9,r0
+addl2  $_pltab,r0
+L2000004:cvtbl (r0)[r8],r7
+jbr    L141
+L144:subl2     (r10),(r11)
+mull3  $6,r9,r0
+addl2  $_mintab,r0
+jbr    L2000004
+L145:bisl2     (r10),(r11)
+L146:mull3     $6,r9,r0
+addl2  $_othtab,r0
+jbr    L2000004
+L147:xorl2     (r10),(r11)
+jbr    L146
+L148:mcoml     (r10),r0
+bicl2  r0,(r11)
+jbr    L146
+L149:mcoml     (r10),r0
+bisl2  r0,(r11)
+jbr    L146
+L150:ashl      (r10),(r11),(r11)
+jbr    L146
+L151:mnegl     (r10),r0
+ashl   r0,(r11),(r11)
+jbr    L146
+L153:mull2     (r10),(r11)
+jbr    L146
+L154:tstl      (r10)
+jneq   L155
+pushal L156
+jbr    L2000006
+L2000009:pushal        L160
+L2000006:calls $1,_yyerror
+jbr    L146
+L155:divl2     (r10),(r11)
+jbr    L146
+L158:tstl      (r10)
+jeql   L2000009
+movl   (r11),r0
+divl3  (r10),r0,r1
+mull2  (r10),r1
+subl3  r1,r0,(r11)
+jbr    L146
+.align 1
+.globl _buildtokensets
+.set   L169,0x0
+.data
+.lcomm _val,4
+.text
+_buildtokensets:.word  L169
+bisb2  $1,_tokensets+65
+bisb2  $1,_tokensets+50
+bisb2  $1,_tokensets+39
+bisb2  $5,_tokensets+41
+bisb2  $4,_tokensets+33
+bisb2  $4,_tokensets+32
+bisb2  $4,_tokensets+44
+bisb2  $4,_tokensets+34
+bisb2  $8,_tokensets+39
+bisb2  $8,_tokensets+40
+bisb2  $16,_tokensets+67
+bisb2  $18,_tokensets+61
+bisb2  $2,_tokensets+47
+bisb2  $32,_tokensets+68
+bisb2  $32,_tokensets+63
+bisb2  $32,_tokensets+69
+bisb2  $32,_tokensets+71
+bisb2  $66,_tokensets+70
+bisb2  $64,_tokensets+59
+bisb2  $64,_tokensets+60
+bisb2  $64,_tokensets+45
+bisb2  $64,_tokensets+64
+bisb2  $64,_tokensets+49
+ret
+.align 1
+.globl _exprparse
+.set   L175,0x800
+.data
+.text
+_exprparse:.word       L175
+subl2  $4,sp
+movl   4(ap),_val
+calls  $0,_boolterm
+L2000011:movl  r0,r11
+movl   _val,r0
+jbs    $4,_tokensets[r0],L2000013
+movl   r11,*8(ap)
+movl   _val,r0
+ret
+L2000013:movl  _val,-4(fp)
+calls  $0,_yylex
+movl   r0,_val
+calls  $0,_boolterm
+pushl  r0
+pushl  r11
+pushl  -4(fp)
+calls  $3,_combine
+jbr    L2000011
+.align 1
+.globl _boolterm
+.set   L181,0x800
+.data
+.text
+_boolterm:.word        L181
+subl2  $4,sp
+calls  $0,_term
+L2000014:movl  r0,r11
+movl   _val,r0
+jbs    $5,_tokensets[r0],L2000016
+movl   r11,r0
+ret
+L2000016:movl  _val,-4(fp)
+calls  $0,_yylex
+movl   r0,_val
+calls  $0,_term
+pushl  r0
+pushl  r11
+pushl  -4(fp)
+calls  $3,_combine
+jbr    L2000014
+.align 1
+.globl _term
+.set   L187,0x800
+.data
+.text
+_term:.word    L187
+subl2  $4,sp
+calls  $0,_factor
+L2000017:movl  r0,r11
+movl   _val,r0
+jbs    $6,_tokensets[r0],L2000019
+movl   r11,r0
+ret
+L2000019:movl  _val,-4(fp)
+calls  $0,_yylex
+movl   r0,_val
+calls  $0,_factor
+pushl  r0
+pushl  r11
+pushl  -4(fp)
+calls  $3,_combine
+jbr    L2000017
+.align 1
+.globl _factor
+.data  1
+L202:.ascii    "right parenthesis expected\0"
+.text
+.data  1
+L211:.ascii    "Bad expression syntax\0"
+.text
+.set   L193,0x0
+.data
+.text
+_factor:.word  L193
+subl2  $8,sp
+cmpl   _val,$47
+jeql   L99999
+tstl   _droppedLP
+jeql   L198
+L99999:tstl    _droppedLP
+jeql   L199
+clrl   _droppedLP
+jbr    L200
+L199:calls     $0,_yylex
+movl   r0,_val
+L200:pushal    -4(fp)
+pushl  _val
+calls  $2,_exprparse
+movl   r0,_val
+cmpl   r0,$75
+jeql   L201
+pushal L202
+calls  $1,_yyerror
+jbr    L204
+L198:movl      _val,r0
+jbc    $2,_tokensets[r0],L205
+pushl  _yylval
+pushl  r0
+calls  $2,_yukkyexpr
+movl   r0,-4(fp)
+jbr    L201
+L2000023:movl  _yylval,-4(fp)
+L201:calls     $0,_yylex
+movl   r0,_val
+jbr    L204
+L205:movl      _val,r0
+jbs    $3,_tokensets[r0],L2000023
+cmpl   r0,$70
+jeql   L99998
+cmpl   r0,$61
+jneq   L209
+L99998:movl    _val,-8(fp)
+calls  $0,_yylex
+movl   r0,_val
+movl   _xp,-4(fp)
+addl2  $28,_xp
+movl   -4(fp),r0
+cvtlb  $2,20(r0)
+moval  _Znumber,r0
+movl   -4(fp),r1
+movc3  $20,(r0),(r1)
+movl   -4(fp),r0
+cvtlb  $2,16(r0)
+calls  $0,_factor
+pushl  r0
+pushl  -4(fp)
+pushl  -8(fp)
+calls  $3,_combine
+movl   r0,-4(fp)
+jbr    L204
+L209:pushal    L211
+calls  $1,_yyerror
+movl   _xp,-4(fp)
+addl2  $28,_xp
+movl   -4(fp),r0
+cvtlb  $2,20(r0)
+moval  _Znumber,r0
+movl   -4(fp),r1
+movc3  $20,(r0),(r1)
+movl   -4(fp),r0
+cvtlb  $2,16(r0)
+L204:movl      -4(fp),r0
+ret
+.align 1
+.globl _yukkyexpr
+.data  1
+L222:.ascii    "Reference to undefined local label %db\0"
+.text
+.data  1
+L224:.ascii    "L%d\1%d\0"
+.text
+.data  1
+L230:.ascii    "Internal Error in yukkyexpr\0"
+.text
+.set   L212,0xc00
+.data
+.data
+_pdirect:.long 0x65726964
+.long  0x76697463
+.long  0x65
+_pinstr:.long  0x74736e69
+.long  0x74637572
+.long  0x6e6f69
+_phunk:.long   0x6578656c
+.long  0x656d
+_psmall:.long  0x6c616d73
+.long  0x7973206c
+.long  0x6c6f626d
+.long  0x0
+_pcntrl:.long  0x746e6f63
+.long  0x206c6f72
+.long  0x656b6f74
+.long  0x6e
+.comm  _tok_name,308
+.align 2
+.globl _tok_desc
+_tok_desc:.long        0
+.long  _pdirect
+.data  2
+L242:.ascii    "first token\0"
+.data
+.long  L242
+.long  2
+.long  _pdirect
+.data  2
+L243:.ascii    ".byte\0"
+.data
+.long  L243
+.long  3
+.long  _pdirect
+.data  2
+L244:.ascii    ".word\0"
+.data
+.long  L244
+.long  4
+.long  _pdirect
+.data  2
+L245:.ascii    ".int\0"
+.data
+.long  L245
+.long  5
+.long  _pdirect
+.data  2
+L246:.ascii    ".long\0"
+.data
+.long  L246
+.long  6
+.long  _pdirect
+.data  2
+L247:.ascii    ".quad\0"
+.data
+.long  L247
+.long  7
+.long  _pdirect
+.data  2
+L248:.ascii    ".octa\0"
+.data
+.long  L248
+.long  14
+.long  _pdirect
+.data  2
+L249:.ascii    ".ffloat\0"
+.data
+.long  L249
+.long  15
+.long  _pdirect
+.data  2
+L250:.ascii    ".dfloat\0"
+.data
+.long  L250
+.long  16
+.long  _pdirect
+.data  2
+L251:.ascii    ".gfloat\0"
+.data
+.long  L251
+.long  17
+.long  _pdirect
+.data  2
+L252:.ascii    ".hfloat\0"
+.data
+.long  L252
+.long  19
+.long  _pdirect
+.data  2
+L253:.ascii    ".ascii\0"
+.data
+.long  L253
+.long  20
+.long  _pdirect
+.data  2
+L254:.ascii    ".asciz\0"
+.data
+.long  L254
+.long  25
+.long  _pdirect
+.data  2
+L255:.ascii    ".fill\0"
+.data
+.long  L255
+.long  1
+.long  _pdirect
+.data  2
+L256:.ascii    ".space\0"
+.data
+.long  L256
+.long  8
+.long  _pdirect
+.data  2
+L257:.ascii    ".data\0"
+.data
+.long  L257
+.long  11
+.long  _pdirect
+.data  2
+L258:.ascii    ".text\0"
+.data
+.long  L258
+.long  9
+.long  _pdirect
+.data  2
+L259:.ascii    ".global\0"
+.data
+.long  L259
+.long  31
+.long  _pdirect
+.data  2
+L260:.ascii    ".align\0"
+.data
+.long  L260
+.long  10
+.long  _pdirect
+.data  2
+L261:.ascii    ".set\0"
+.data
+.long  L261
+.long  12
+.long  _pdirect
+.data  2
+L262:.ascii    ".comm\0"
+.data
+.long  L262
+.long  13
+.long  _pdirect
+.data  2
+L263:.ascii    ".lcomm\0"
+.data
+.long  L263
+.long  18
+.long  _pdirect
+.data  2
+L264:.ascii    ".org\0"
+.data
+.long  L264
+.long  21
+.long  _pdirect
+.data  2
+L265:.ascii    ".lsym\0"
+.data
+.long  L265
+.long  26
+.long  _pdirect
+.data  2
+L266:.ascii    ".stab\0"
+.data
+.long  L266
+.long  27
+.long  _pdirect
+.data  2
+L267:.ascii    ".stabstr\0"
+.data
+.long  L267
+.long  28
+.long  _pdirect
+.data  2
+L268:.ascii    ".stabnone\0"
+.data
+.long  L268
+.long  29
+.long  _pdirect
+.data  2
+L269:.ascii    ".stabdot\0"
+.data
+.long  L269
+.long  22
+.long  _pdirect
+.data  2
+L270:.ascii    ".file\0"
+.data
+.long  L270
+.long  23
+.long  _pdirect
+.data  2
+L271:.ascii    ".lineno\0"
+.data
+.long  L271
+.long  24
+.long  _pdirect
+.data  2
+L272:.ascii    ".abort\0"
+.data
+.long  L272
+.long  30
+.long  _pinstr
+.data  2
+L273:.ascii    "jump pseudo\0"
+.data
+.long  L273
+.long  32
+.long  _pinstr
+.data  2
+L274:.ascii    ""
+.ascii "0 argument inst\0"
+.data
+.long  L274
+.long  33
+.long  _pinstr
+.data  2
+L275:.ascii    "n argument inst\0"
+.data
+.long  L275
+.long  35
+.long  _pcntrl
+.data  2
+L276:.ascii    "parse end of file\0"
+.data
+.long  L276
+.long  36
+.long  _pcntrl
+.data  2
+L277:.ascii    "skip lines\0"
+.data
+.long  L277
+.long  37
+.long  _pcntrl
+.data  2
+L278:.ascii    "void\0"
+.data
+.long  L278
+.long  38
+.long  _pcntrl
+.data  2
+L279:.ascii    "skip\0"
+.data
+.long  L279
+.long  50
+.long  _pcntrl
+.data  2
+L280:.ascii    "new line\0"
+.data
+.long  L280
+.long  51
+.long  _pcntrl
+.data  2
+L281:.ascii    "scanner end of file\0"
+.data
+.long  L281
+.long  52
+.long  _pcntrl
+.data  2
+L282:.ascii    "bad character\0"
+.data
+.long  L282
+.long  58
+.long  _pcntrl
+.data  2
+L283:.ascii    "comment, #\0"
+.data
+.long  L283
+.long  39
+.long  _phunk
+.data  2
+L284:.ascii    "int\0"
+.data
+.long  L284
+.long  34
+.long  _phunk
+.data  2
+L285:.ascii    "local label\0"
+.data
+.long  L285
+.long  40
+.long  _phunk
+.data  2
+L286:.ascii    "big number\0"
+.data
+.long  L286
+.long  41
+.long  _phunk
+.data  2
+L287:.ascii    "name\0"
+.data
+.long  L287
+.long  42
+.long  _phunk
+.data  2
+L288:.ascii    "string\0"
+.data
+.long  L288
+.long  44
+.long  _phunk
+.data  2
+L289:.ascii    "register specifier\0"
+.data
+.long  L289
+.long  43
+.long  _psmall
+.data  2
+L290:.ascii    "size specifier, [BWLbwl]\0"
+.data
+.long  L290
+.long  62
+.long  _psmall
+.data  2
+L291:.ascii    "sizequote, [^']\0"
+.data
+.long  L291
+.long  46
+.long  _psmall
+.data  2
+L292:.ascii    "litop\0"
+.data
+.long  L292
+.long  48
+.long  _psmall
+.data  2
+L293:.ascii    "minus parenthesis, -(\0"
+.data
+.long  L293
+.long  49
+.long  _psmall
+.data  2
+L294:.ascii    "register operator, %\0"
+.data
+.long  L294
+.long  53
+.long  _psmall
+.data  2
+L295:.ascii    "space\0"
+.data
+.long  L295
+.long  54
+.long  _psmall
+.data  2
+L296:.ascii    "alphabetic character, [A-Za-z_]\0"
+.data
+.long  L296
+.long  55
+.long  _psmall
+.data  2
+L297:.ascii    "digit character, [A-Fa-f0-9]\0"
+.data
+.long  L297
+.long  56
+.long  _psmall
+.data  2
+L298:.ascii    "single quote, '\0"
+.data
+.long  L298
+.long  57
+.long  _psmall
+.data  2
+L299:.ascii    "double quote, \"\0"
+.data
+.long  L299
+.long  59
+.long  _psmall
+.data  2
+L300:.ascii    "arithmetic left shift, <\0"
+.data
+.long  L300
+.long  60
+.long  _psmall
+.data  2
+L301:.ascii    "arithmetic right shift, >\0"
+.data
+.long  L301
+.long  63
+.long  _psmall
+.data  2
+L302:.ascii    "exclusive or, ^\0"
+.data
+.long  L302
+.long  67
+.long  _psmall
+.data  2
+L303:.ascii    "plus, +\0"
+.data
+.long  L303
+.long  61
+.long  _psmall
+.data  2
+L304:.ascii    "minus, -\0"
+.data
+.long  L304
+.long  45
+.long  _psmall
+.data  2
+L305:.ascii    "multiply, *\0"
+.data
+.long  L305
+.long  64
+.long  _psmall
+.data  2
+L306:.ascii    "divide, /\0"
+.data
+.long  L306
+.long  65
+.long  _psmall
+.data  2
+L307:.ascii    "semi colon, ;\0"
+.data
+.long  L307
+.long  66
+.long  _psmall
+.data  2
+L308:.ascii    "colon, \72\0"
+.data
+.long  L308
+.long  68
+.long  _psmall
+.data  2
+L309:.ascii    "inclusive or, |\0"
+.data
+.long  L309
+.long  69
+.long  _psmall
+.data  2
+L310:.ascii    "and, &\0"
+.data
+.long  L310
+.long  70
+.long  _psmall
+.data  2
+L311:.ascii    "one's complement, ~\0"
+.data
+.long  L311
+.long  71
+.long  _psmall
+.data  2
+L312:.ascii    "ornot, !\0"
+.data
+.long  L312
+.long  72
+.long  _psmall
+.data  2
+L313:.ascii    "comma\0"
+.data
+.long  L313
+.long  73
+.long  _psmall
+.data  2
+L314:.ascii    "left bracket, [\0"
+.data
+.long  L314
+.long  74
+.long  _psmall
+.data  2
+L315:.ascii    "right bracket, ]\0"
+.data
+.long  L315
+.long  47
+.long  _psmall
+.data  2
+L316:.ascii    "left parenthesis, (\0"
+.data
+.long  L316
+.long  75
+.long  _psmall
+.data  2
+L317:.ascii    "right parentheis, )\0"
+.data
+.long  L317
+.long  76
+.long  _psmall
+.data  2
+L318:.ascii    "last token\0"
+.data
+.long  L318
+.text
+_yukkyexpr:.word       L212
+subl2  $4,sp
+movl   8(ap),r11
+clrl   -4(fp)
+clrl   _exprisname
+movl   _xp,r10
+addl2  $28,_xp
+movc3  $20,_Znumber,(r10)
+cvtlb  $2,16(r10)
+movl   4(ap),r0
+casel  r0,$32,$12
+L2000025:
+.word  L233-L2000025
+.word  L233-L2000025
+.word  L219-L2000025
+.word  L229-L2000025
+.word  L229-L2000025
+.word  L229-L2000025
+.word  L229-L2000025
+.word  L229-L2000025
+.word  L229-L2000025
+.word  L225-L2000025
+.word  L229-L2000025
+.word  L229-L2000025
+.word  L233-L2000025
+L229:pushal    L230
+calls  $1,_yyerror
+L233:cvtlb     $2,20(r10)
+movzbl r11,(r10)
+clrb   21(r10)
+L2000024:clrl  24(r10)
+L217:movl      r10,r0
+ret
+L219:movl      (r11),_yylval
+jgeq   L220
+mnegl  _yylval,_yylval
+decl   _yylval
+mnegl  $1,-4(fp)
+movl   _yylval,r0
+cmpl   _lgensym[r0],$1
+jneq   L223
+pushl  r0
+pushal L222
+calls  $2,_yyerror
+jbr    L223
+L220:decl      _yylval
+movl   _yylval,r0
+cvtlb  $1,_genref[r0]
+L223:movl      _yylval,r0
+addl3  -4(fp),_lgensym[r0],-(sp)
+pushl  _yylval
+pushal L224
+pushal _yytext
+calls  $4,_sprintf
+cmpl   _passno,$1
+jneq   L99997
+movl   $1,r0
+jbr    L99996
+L99997:clrl    r0
+L99996:pushl   r0
+calls  $1,_lookup
+movl   (r0),r11
+movl   r11,_yylval
+movl   r11,_lastnam
+L225:incl      _exprisname
+movb   4(r11),20(r10)
+bitb   $30,4(r11)
+jneq   L226
+movl   r11,24(r10)
+clrl   (r10)
+cmpl   _passno,$1
+jneq   L217
+bisb2  $32,4(r11)
+jbr    L217
+L226:movl      8(r11),(r10)
+jbr    L2000024
+.align 1
+.globl _tok_to_name
+.data
+.align 2
+L324:.long     0
+.lcomm L325,64
+.align 2
+L326:.long     0
+.long  0
+.data  1
+L327:.ascii    "NOT ASSIGNED\0"
+.data
+.long  L327
+.text
+.data  1
+L336:.ascii    "%s %s\0"
+.text
+.data  1
+L338:.ascii    "Unknown token number, %d\12\0"
+.text
+.set   L320,0x0
+.data
+.text
+_tok_to_name:.word     L320
+subl2  $8,sp
+tstl   L324
+jneq   L328
+clrl   -4(fp)
+L2000027:movl  -4(fp),r0
+moval  L326,_tok_name[r0]
+aobleq $76,-4(fp),L2000027
+clrl   -4(fp)
+L2000029:mull3 $12,-4(fp),r0
+addl2  $_tok_desc,r0
+mull3  $12,-4(fp),r1
+movl   _tok_desc(r1),r1
+movl   r0,_tok_name[r1]
+aobleq $77,-4(fp),L2000029
+movl   $1,L324
+L328:tstl      4(ap)
+jlss   L335
+cmpl   4(ap),$76
+jgtr   L335
+movl   4(ap),r0
+movl   _tok_name[r0],r0
+pushl  8(r0)
+movl   4(ap),r0
+movl   _tok_name[r0],r0
+pushl  4(r0)
+pushal L336
+pushal L325
+calls  $4,_sprintf
+moval  L325,r0
+ret
+L335:pushl     4(ap)
+pushal L338
+calls  $2,_panic
+ret
+
diff --git a/bin/as/test/asio.o.ok b/bin/as/test/asio.o.ok
new file mode 100644 (file)
index 0000000..766877c
Binary files /dev/null and b/bin/as/test/asio.o.ok differ
diff --git a/bin/as/test/asio.s b/bin/as/test/asio.s
new file mode 100644 (file)
index 0000000..d197005
--- /dev/null
@@ -0,0 +1,208 @@
+.data
+.data
+_sccsid:.long  0x29232840
+.long  0x6f697361
+.long  0x3509632e
+.long  0x2820312e
+.long  0x6b726542
+.long  0x79656c65
+.long  0x2f342029
+.long  0x382f3033
+.long  0x35
+.comm  _rusefile,32
+.comm  _relfil,4
+.comm  _biofd,4
+.comm  _biobufsize,4
+.comm  _boffset,4
+.comm  _biobufs,4
+.text
+LL0:.align     1
+.globl _Flushfield
+.set   L106,0x800
+.data
+.text
+_Flushfield:.word      L106
+movl   4(ap),r11
+jbr    L110
+L2000001:incl  *_dotp
+cmpl   _passno,$2
+jneq   L112
+tstw   *_txtfil
+jeql   L99999
+decw   *_txtfil
+movl   _txtfil,r0
+movl   4(r0),r1
+incl   4(r0)
+cvtlb  _bitfield,(r1)
+jbr    L112
+L99999:pushl   _bitfield
+pushl  _txtfil
+calls  $2,_bflushc
+L112:ashl      $-8,_bitfield,_bitfield
+subl2  $8,r11
+L110:tstl      r11
+jgtr   L2000001
+clrl   _bitoff
+clrl   _bitfield
+ret
+.align 1
+.globl _bopen
+.set   L115,0x0
+.data
+.comm  _bwrerror,4
+.text
+_bopen:.word   L115
+pushl  _biobufsize
+pushl  $1
+calls  $2,_Calloc
+movl   4(ap),r1
+movl   r0,8(r1)
+movl   4(ap),r0
+movl   8(r1),4(r0)
+divl3  _biobufsize,8(ap),r0
+mull2  _biobufsize,r0
+subl3  r0,8(ap),r0
+subl3  r0,_biobufsize,r0
+cvtlw  r0,*4(ap)
+movl   4(ap),r0
+movl   8(ap),12(r0)
+movl   4(ap),r0
+movl   _biobufs,16(r0)
+movl   4(ap),_biobufs
+ret
+.align 1
+.globl _bwrite
+.data  1
+L137:.ascii    "Output write error\0"
+.text
+.set   L121,0xf80
+.data
+.text
+_bwrite:.word  L121
+movl   4(ap),r11
+movl   8(ap),r10
+movl   12(ap),r9
+jbr    L125
+L2000003:cvtwl (r9),r8
+cmpl   r8,r10
+jleq   L128
+movl   r10,r8
+L128:cvtwl     (r9),r0
+subl2  r8,r0
+cvtlw  r0,(r9)
+movl   4(r9),r7
+movc3  r8,(r11),(r7)
+addl2  r8,4(r9)
+L2000005:addl2 r8,r11
+subl2  r8,r10
+jbr    L125
+L2000007:cmpl  4(r9),8(r9)
+jeql   L130
+pushl  r9
+calls  $1,_bflush1
+L130:divl3     _biobufsize,r10,r0
+mull2  _biobufsize,r0
+subl3  r0,r10,r0
+subl3  r0,r10,r8
+cmpl   _boffset,12(r9)
+jeql   L132
+pushl  $0
+pushl  12(r9)
+pushl  _biofd
+calls  $3,_lseek
+L132:pushl     r8
+pushl  r11
+pushl  _biofd
+calls  $3,_write
+cmpl   r0,r8
+jeql   L135
+movl   $1,_bwrerror
+pushal L137
+calls  $1,_yyerror
+calls  $0,_delexit
+L135:addl2     r8,12(r9)
+movl   12(r9),_boffset
+jbr    L2000005
+L126:tstw      (r9)
+jneq   L2000003
+cmpl   r10,_biobufsize
+jgeq   L2000007
+pushl  r9
+calls  $1,_bflush1
+L125:tstl      r10
+jneq   L126
+ret
+.align 1
+.globl _bflush
+.set   L141,0x800
+.data
+.text
+_bflush:.word  L141
+tstl   _bwrerror
+jeql   L145
+ret
+L145:movl      _biobufs,r11
+jbr    L148
+L2000009:pushl r11
+calls  $1,_bflush1
+movl   16(r11),r11
+L148:tstl      r11
+jneq   L2000009
+ret
+.align 1
+.globl _bflush1
+.data  1
+L156:.ascii    "Output write error\0"
+.text
+.set   L149,0xc00
+.data
+.text
+_bflush1:.word L149
+movl   4(ap),r11
+subl3  8(r11),4(r11),r0
+movl   r0,r10
+jneq   L153
+ret
+L153:cmpl      _boffset,12(r11)
+jeql   L154
+pushl  $0
+pushl  12(r11)
+pushl  _biofd
+calls  $3,_lseek
+L154:pushl     r10
+pushl  8(r11)
+pushl  _biofd
+calls  $3,_write
+cmpl   r0,r10
+jeql   L155
+movl   $1,_bwrerror
+pushal L156
+calls  $1,_yyerror
+calls  $0,_delexit
+L155:addl2     r10,12(r11)
+movl   12(r11),_boffset
+movl   8(r11),4(r11)
+cvtlw  _biobufsize,(r11)
+ret
+.align 1
+.globl _bflushc
+.set   L158,0x800
+.data
+.text
+_bflushc:.word L158
+movl   4(ap),r11
+pushl  r11
+calls  $1,_bflush1
+tstw   (r11)
+jeql   L99997
+decw   (r11)
+movl   4(r11),r0
+incl   4(r11)
+movb   8(ap),(r0)
+cvtbl  (r0),r0
+jbr    L99996
+L99997:cvtbl   8(ap),-(sp)
+pushl  r11
+calls  $2,_bflushc
+L99996:ret
+
diff --git a/bin/as/test/asjxxx.o.ok b/bin/as/test/asjxxx.o.ok
new file mode 100644 (file)
index 0000000..29eee5b
Binary files /dev/null and b/bin/as/test/asjxxx.o.ok differ
diff --git a/bin/as/test/asjxxx.s b/bin/as/test/asjxxx.s
new file mode 100644 (file)
index 0000000..d8b1a54
--- /dev/null
@@ -0,0 +1,480 @@
+.data
+.data
+_sccsid:.long  0x29232840
+.long  0x786a7361
+.long  0x632e7878
+.long  0x322e3509
+.long  0x65422820
+.long  0x6c656b72
+.long  0x20297965
+.long  0x39312f36
+.long  0x35382f
+.comm  _rusefile,32
+.comm  _relfil,4
+.data
+.align 2
+.globl _jbrfsize
+_jbrfsize:.long        1
+.align 2
+.globl _jxxxfsize
+_jxxxfsize:.long       3
+.comm  _lastnam,4
+.comm  _lastjxxx,4
+.text
+LL0:.align     1
+.globl _initijxxx
+.set   L123,0x0
+.data
+.text
+_initijxxx:.word       L123
+tstl   _jxxxJUMP
+jeql   L99999
+movl   _d124,r0
+jbr    L99998
+L99999:movl    $1,r0
+L99998:movl    r0,_jbrfsize
+tstl   _jxxxJUMP
+jeql   L99997
+addl3  $2,_d124,r0
+jbr    L99996
+L99997:movl    $3,r0
+L99996:movl    r0,_jxxxfsize
+ret
+.align 1
+.globl _ijxout
+.data  1
+L138:.ascii    "jxxx destination not a label\0"
+.text
+.set   L128,0xf00
+.data
+.text
+_ijxout:.word  L128
+subl2  $4,sp
+cmpl   _passno,$1
+jneq   L132
+pushl  12(ap)
+pushl  8(ap)
+subl2  $4,sp
+movw   4(ap),(sp)
+calls  $3,_putins
+movl   _lastjxxx,r11
+movb   $255,12(r11)
+clrb   13(r11)
+cmpb   5(ap),$17
+jneq   L134
+cvtlw  _jbrfsize,6(r11)
+jbr    L135
+L134:cvtlw     _jxxxfsize,6(r11)
+L135:tstl      _lastnam
+jneq   L136
+pushal L138
+calls  $1,_yyerror
+L136:movl      _lastnam,20(r11)
+movl   _dotp,r0
+movb   20(r0),4(r11)
+subl3  $_usedot,_dotp,r0
+divl2  $28,r0
+cvtlw  r0,16(r11)
+movl   *_dotp,8(r11)
+incl   _njxxx
+jbr    L139
+L132:ashl      $3,12(ap),r0
+addl2  8(ap),r0
+subl3  $8,r0,r8
+movl   4(r8),r10
+movl   _lastjxxx,r0
+movzbl 12(r0),r0
+cmpl   r0,$250
+jneq   L140
+movl   _lastjxxx,r0
+movb   $252,12(r0)
+movl   _lastjxxx,r0
+movl   20(r0),r9
+subl3  $3,8(r9),r0
+cvtwl  6(r9),r1
+cmpl   r1,_jbrfsize
+jneq   L99995
+tstb   13(r9)
+jneq   L99995
+movl   $1,r1
+jbr    L99994
+L99995:clrl    r1
+L99994:addl3   r1,r0,(r10)
+L140:movl      _lastjxxx,r0
+tstb   13(r0)
+jneq   L141
+pushl  12(ap)
+pushl  8(ap)
+subl2  $4,sp
+movw   4(ap),(sp)
+jbr    L2000000
+L141:cmpb      5(ap),$17
+jeql   L143
+movl   (r10),r11
+movl   _lastjxxx,r0
+movl   8(r0),(r10)
+addl3  $4,ap,r0
+movw   (r0),-2(fp)
+xorb2  $1,-1(fp)
+pushl  12(ap)
+pushl  8(ap)
+subl2  $4,sp
+movw   -2(fp),(sp)
+calls  $3,_putins
+movl   r11,(r10)
+L143:clrb      -2(fp)
+tstl   _jxxxJUMP
+jeql   L99993
+movl   $23,r0
+jbr    L99992
+L99993:movl    $49,r0
+L99992:cvtlb   r0,-1(fp)
+pushl  $1
+pushl  r8
+subl2  $4,sp
+movw   -2(fp),(sp)
+L2000000:calls $3,_putins
+L139:ret
+.align 1
+.globl _jalign
+.data  1
+L150:.ascii    "Illegal `align' argument\0"
+.text
+.data  1
+L154:.ascii    ".align %d is NOT preserved by the loader\0"
+.text
+.data  1
+L155:.ascii    ".align %d converted to .align %d\0"
+.text
+.set   L145,0xe00
+.data
+.text
+_jalign:.word  L145
+movl   4(ap),r11
+movl   8(ap),r10
+cvtbl  20(r11),r0
+bicl2  $-31,r0
+cmpl   r0,$2
+jneq   L99991
+tstl   (r11)
+jlss   L99991
+cmpl   (r11),$16
+jleq   L149
+L99991:pushal  L150
+calls  $1,_yyerror
+ret
+L149:cmpl      (r11),_maxalign
+jleq   L151
+cmpl   _passno,$1
+jneq   L152
+pushl  (r11)
+pushal L154
+calls  $2,_yywarning
+pushl  _maxalign
+pushl  (r11)
+pushal L155
+calls  $3,_yywarning
+L152:movl      _maxalign,(r11)
+L151:tstl      _bitoff
+jeql   L156
+addl3  $7,_bitoff,r0
+divl2  $32,r0
+divl2  $4,r0
+ashl   $5,r0,r0
+divl3  $4,r0,-(sp)
+calls  $1,_Flushfield
+L156:cmpl      _passno,$1
+jneq   L158
+movb   $253,12(r10)
+ashl   (r11),$1,r0
+decl   r0
+cvtlw  r0,6(r10)
+movl   _dotp,r0
+movb   20(r0),4(r10)
+subl3  $_usedot,_dotp,r0
+divl2  $28,r0
+cvtlw  r0,16(r10)
+incl   *_dotp
+movl   *_dotp,8(r10)
+incl   _njxxx
+L159:ret
+L158:ashl      (r11),$1,r0
+subl3  $1,r0,r9
+jbr    L160
+L2000002:decw  *_txtfil
+movl   _txtfil,r0
+movl   4(r0),r1
+incl   4(r0)
+clrb   (r1)
+L160:mcoml     r9,r0
+bicl3  r0,*_dotp,r0
+jeql   L159
+incl   *_dotp
+cmpl   _passno,$2
+jneq   L160
+tstw   *_txtfil
+jneq   L2000002
+pushl  $0
+pushl  _txtfil
+calls  $2,_bflushc
+jbr    L160
+.align 1
+.globl _jxxxfix
+.data  1
+L183:.ascii    "Intersegment jxxx\0"
+.text
+.set   L165,0xfc0
+.data
+.text
+_jxxxfix:.word L165
+subl2  $36,sp
+clrl   -28(fp)
+L2000015:clrl  -20(fp)
+movl   $1,-32(fp)
+movl   $1,-16(fp)
+jbr    L174
+L2000013:clrl  -16(fp)
+clrl   -24(fp)
+clrl   r6
+movl   -28(fp),r0
+movl   _symdelim[r0],-4(fp)
+addl3  $1,r0,r0
+movl   _symdelim[r0],r0
+movl   (r0),-8(fp)
+movl   *-4(fp),r11
+jbr    L177
+L2000009:movb  12(r11),-33(fp)
+movzbl -33(fp),r0
+cmpl   r0,$248
+jlequ  L175
+movzbl -33(fp),r0
+cmpl   r0,$253
+jneq   L179
+clrl   r6
+jbr    L175
+L179:cvtwl     6(r11),r0
+cmpl   r0,_jbrfsize
+jeql   L99988
+movzbl -33(fp),r0
+cmpl   r0,$252
+jneq   L180
+tstb   13(r11)
+jeql   L180
+L99988:movl    r11,r6
+L180:movzbl    -33(fp),r0
+cmpl   r0,$255
+jneq   L175
+movl   20(r11),r10
+cmpw   16(r11),16(r10)
+jeql   L182
+pushal L183
+calls  $1,_yyerror
+jbr    L175
+L182:subl3     8(r11),8(r10),-12(fp)
+cmpl   -12(fp),$-128
+jlss   L99987
+cmpl   -12(fp),$127
+jleq   L184
+L99987:tstl    _jxxxJUMP
+jneq   L185
+cvtwl  6(r11),r0
+cmpl   r0,_jbrfsize
+jleq   L185
+tstl   r6
+jeql   L185
+cmpl   20(r6),20(r11)
+jneq   L185
+cmpw   16(r6),16(r11)
+jneq   L185
+subl3  8(r11),8(r6),r0
+subl3  $128,_jxxxfsize,r1
+cmpl   r0,r1
+jlssu  L185
+movl   r6,20(r11)
+movb   $250,12(r11)
+jbr    L175
+L185:movl      r11,r6
+movb   $254,12(r11)
+incl   -16(fp)
+jbr    L175
+L184:tstl      -12(fp)
+jlss   L186
+addl3  $4,-4(fp),r0
+jneq   L99986
+movl   -28(fp),r0
+movl   _symdelim[r0],r0
+jbr    L99985
+L99986:addl3   $4,-4(fp),r0
+L99985:movl    r0,r8
+addl3  $1,-28(fp),r0
+movl   _symdelim[r0],r0
+movl   (r0),r7
+L2000003:movl  (r8),r9
+cmpl   r9,r7
+jneq   L2000005
+L188:cmpl      -12(fp),$127
+jgtr   L202
+L2000016:movb  $252,12(r11)
+jbr    L175
+L2000005:cmpl  8(r9),8(r10)
+jgtru  L188
+movzbl 12(r9),r0
+cmpl   r0,$251
+jlequ  L187
+movzbl 12(r9),r0
+cmpl   r0,$253
+jneq   L192
+cvtlb  $1,14(r11)
+incl   -20(fp)
+L192:cvtwl     6(r9),r0
+addl2  r0,-12(fp)
+L187:addl2     $4,r8
+jbr    L2000003
+L186:subl3     $4,-4(fp),r0
+jneq   L99984
+movl   -28(fp),r0
+movl   _symdelim[r0],r0
+jbr    L99983
+L99984:subl3   $4,-4(fp),r0
+L99983:movl    r0,r8
+movl   -28(fp),r0
+movl   _symdelim[r0],r0
+movl   -4(r0),r7
+movl   (r8),r9
+jbr    L198
+L2000007:cmpl  8(r9),8(r10)
+jlequ  L197
+movzbl 12(r9),r0
+cmpl   r0,$251
+jlequ  L196
+movzbl 12(r9),r0
+cmpl   r0,$253
+jneq   L201
+cvtlb  $1,14(r11)
+incl   -20(fp)
+L201:cvtwl     6(r9),r0
+subl2  r0,-12(fp)
+L196:movl      -(r8),r9
+L198:cmpl      r9,r7
+jneq   L2000007
+L197:cmpl      -12(fp),$-128
+jgeq   L2000016
+L202:incl      -24(fp)
+L175:addl2     $4,-4(fp)
+movl   -4(fp),r0
+movl   (r0),r11
+L177:cmpl      r11,-8(fp)
+jneq   L2000009
+tstl   -16(fp)
+jneq   L204
+tstl   -24(fp)
+jeql   L205
+movl   -28(fp),r0
+movl   _symdelim[r0],-4(fp)
+addl3  $1,r0,r0
+movl   _symdelim[r0],r0
+movl   (r0),-8(fp)
+movl   *-4(fp),r11
+jbr    L208
+L2000011:movzbl        12(r11),r0
+cmpl   r0,$255
+jneq   L206
+tstl   -20(fp)
+jeql   L99982
+movzbl $254,r0
+jbr    L99981
+L99982:movzbl  $252,r0
+L99981:cvtlb   r0,12(r11)
+L206:addl2     $4,-4(fp)
+movl   -4(fp),r0
+movl   (r0),r11
+L208:cmpl      r11,-8(fp)
+jneq   L2000011
+tstl   -20(fp)
+jeql   L205
+pushl  $0
+pushl  -28(fp)
+calls  $2,_jxxxbump
+L205:movl      -28(fp),r0
+movl   _symdelim[r0],-4(fp)
+addl3  $1,r0,r0
+movl   _symdelim[r0],r0
+movl   (r0),-8(fp)
+movl   *-4(fp),r11
+L214:cmpl      r11,-8(fp)
+jeql   L172
+movzbl 12(r11),r0
+cmpl   r0,$253
+jneq   L212
+subl3  $1,8(r11),r0
+cvtwl  6(r11),r1
+mcoml  r1,r1
+bicl3  r1,r0,-12(fp)
+jneq   L216
+mnegw  $1,6(r11)
+jbr    L217
+L216:cvtwl     6(r11),r0
+incl   r0
+subl2  -12(fp),r0
+cvtlw  r0,6(r11)
+cmpw   6(r11),$1
+jeql   L212
+decw   6(r11)
+L217:movb      $254,12(r11)
+pushl  -4(fp)
+pushl  -28(fp)
+calls  $2,_jxxxbump
+movb   $252,12(r11)
+L212:addl2     $4,-4(fp)
+movl   -4(fp),r0
+movl   (r0),r11
+jbr    L214
+L204:pushl     $0
+pushl  -28(fp)
+calls  $2,_jxxxbump
+L172:incl      -32(fp)
+L174:tstl      -16(fp)
+jneq   L2000013
+incl   -28(fp)
+cmpl   -28(fp),$8
+jlss   L2000015
+ret
+.align 1
+.globl _jxxxbump
+.set   L220,0xf00
+.data
+.text
+_jxxxbump:.word        L220
+subl2  $4,sp
+clrl   r8
+tstl   8(ap)
+jneq   L99980
+movl   4(ap),r0
+movl   _symdelim[r0],r0
+jbr    L99979
+L99980:movl    8(ap),r0
+L99979:movl    r0,r11
+addl3  $1,4(ap),r0
+movl   _symdelim[r0],r0
+movl   (r0),r9
+L2000017:movl  (r11),r10
+cmpl   r10,r9
+jneq   L2000019
+mull3  $28,4(ap),r0
+addl2  r8,_usedot(r0)
+ret
+L2000019:movb  12(r10),-1(fp)
+movzbl -1(fp),r0
+cmpl   r0,$254
+jneq   L227
+movb   $252,12(r10)
+cvtlb  $1,13(r10)
+cvtwl  6(r10),r0
+addl2  r0,r8
+L227:movzbl    -1(fp),r0
+cmpl   r0,$245
+jlssu  L224
+addl2  r8,8(r10)
+L224:addl2     $4,r11
+jbr    L2000017
+
diff --git a/bin/as/test/asmain.o.ok b/bin/as/test/asmain.o.ok
new file mode 100644 (file)
index 0000000..6f5d846
Binary files /dev/null and b/bin/as/test/asmain.o.ok differ
diff --git a/bin/as/test/asmain.s b/bin/as/test/asmain.s
new file mode 100644 (file)
index 0000000..abe419b
--- /dev/null
@@ -0,0 +1,947 @@
+.data
+.data
+.globl _copyright
+_copyright:.long       0x29232840
+.long  0x706f4320
+.long  0x67697279
+.long  0x28207468
+.long  0x31202963
+.long  0x20323839
+.long  0x65676552
+.long  0x2073746e
+.long  0x7420666f
+.long  0x55206568
+.long  0x6576696e
+.long  0x74697372
+.long  0x666f2079
+.long  0x6c614320
+.long  0x726f6669
+.long  0x2e61696e
+.long  0x6c41200a
+.long  0x6972206c
+.long  0x73746867
+.long  0x73657220
+.long  0x65767265
+.long  0xa2e64
+_sccsid:.long  0x29232840
+.long  0x616d7361
+.long  0x632e6e69
+.long  0x322e3509
+.long  0x65422820
+.long  0x6c656b72
+.long  0x20297965
+.long  0x322f3031
+.long  0x35382f31
+.long  0x0
+.comm  _rusefile,32
+.comm  _relfil,4
+.comm  _dotsname,4
+.comm  _lineno,4
+.comm  _innames,4
+.comm  _ninfiles,4
+.data
+.align 2
+.globl _silent
+_silent:.long  0
+.align 2
+.globl _savelabels
+_savelabels:.long      0
+.align 2
+.globl _d124
+_d124:.long    4
+.align 2
+.globl _maxalign
+_maxalign:.long        2
+.align 2
+.globl _anyerrs
+_anyerrs:.long 0
+.align 2
+.globl _anywarnings
+_anywarnings:.long     0
+.align 2
+.globl _orgwarn
+_orgwarn:.long 0
+.align 2
+.globl _passno
+_passno:.long  1
+.align 2
+.globl _jxxxJUMP
+_jxxxJUMP:.long        0
+.align 2
+.globl _readonlydata
+_readonlydata:.long    0
+.align 2
+.globl _nGHnumbers
+_nGHnumbers:.long      0
+.align 2
+.globl _nGHopcodes
+_nGHopcodes:.long      0
+.align 2
+.globl _nnewopcodes
+_nnewopcodes:.long     0
+.align 2
+.globl _useVM
+_useVM:.long   0
+.comm  _endcore,4
+.comm  _hdr,32
+.comm  _tsize,4
+.comm  _dsize,4
+.comm  _datbase,4
+.comm  _trsize,4
+.comm  _drsize,4
+.comm  _usedot,224
+.comm  _dotp,4
+.comm  _tokfile,4
+.comm  _tokfilename,256
+.comm  _strfile,4
+.comm  _strfilename,256
+.align 2
+.globl _strfilepos
+_strfilepos:.long      0
+.align 2
+.globl _outfile
+_outfile:.data 2
+L138:.ascii    "a.out\0"
+.data
+.long  L138
+.comm  _a_out_file,4
+.comm  _a_out_off,4
+.comm  _usefile,32
+.comm  _txtfil,4
+.comm  _rusefile,32
+.comm  _relfil,4
+.comm  _relocfile,4
+.align 2
+.globl _tmpdirprefix
+_tmpdirprefix:.data    2
+L143:.ascii    "/tmp/\0"
+.data
+.long  L143
+.text
+LL0:.align     1
+.globl _main
+.data  1
+L176:.ascii    "Caution\72 absolute origins.\12\0"
+.text
+.data  1
+L179:.ascii    "Caution\72 G or H format floating point numbers\0"
+.text
+.data  1
+L181:.ascii    "Caution\72 G or H format floating point operators\0"
+.text
+.data  1
+L183:.ascii    "Caution\72 New Opcodes\0"
+.text
+.data  1
+L185:.ascii    "These are not defined for all implementations of the VAX archite"
+.ascii "cture.\12\0"
+.text
+.set   L146,0x0
+.data
+.text
+_main:.word    L146
+clrb   _tokfilename
+clrb   _strfilename
+pushl  $0
+calls  $1,_sbrk
+movl   r0,_endcore
+pushl  8(ap)
+pushl  4(ap)
+calls  $2,_argprocess
+tstl   _anyerrs
+jeql   L152
+pushl  $1
+calls  $1,_exit
+L152:calls     $0,_initialize
+calls  $0,_zeroorigins
+calls  $0,_zerolocals
+calls  $0,_i_pass1
+calls  $0,_pass1
+calls  $0,_testlocals
+tstl   _anyerrs
+jeql   L160
+calls  $0,_delexit
+L160:calls     $0,_pass1_5
+tstl   _anyerrs
+jeql   L162
+calls  $0,_delexit
+L162:calls     $0,_open_a_out
+calls  $0,_roundsegments
+calls  $0,_build_hdr
+calls  $0,_i_pass2
+calls  $0,_pass2
+tstl   _anyerrs
+jeql   L168
+calls  $0,_delexit
+L168:calls     $0,_fillsegments
+calls  $0,_reloc_syms
+calls  $0,_delete
+calls  $0,_bflush
+calls  $0,_fix_a_out
+tstl   _anyerrs
+jneq   L174
+tstl   _orgwarn
+jeql   L174
+pushal L176
+calls  $1,_yyerror
+L174:tstl      _nGHnumbers
+jeql   L177
+pushal L179
+calls  $1,_yywarning
+L177:tstl      _nGHopcodes
+jeql   L180
+pushal L181
+calls  $1,_yywarning
+L180:tstl      _nnewopcodes
+jeql   L182
+pushal L183
+calls  $1,_yywarning
+L182:tstl      _nGHnumbers
+jneq   L99999
+tstl   _nGHopcodes
+jneq   L99999
+tstl   _nnewopcodes
+jeql   L184
+L99999:pushal  L185
+calls  $1,_yywarning
+L184:tstl      _anyerrs
+jeql   L99998
+movl   $1,r0
+jbr    L99997
+L99998:clrl    r0
+L99997:pushl   r0
+calls  $1,_exit
+ret
+.align 1
+.globl _argprocess
+.data  1
+L190:.ascii    "<argv error>\0"
+.text
+.data  1
+L200:.ascii    "Unknown flag\72 %c\0"
+.text
+.data  1
+L205:.ascii    "-d[124] only\0"
+.text
+.data  1
+L212:.ascii    "-a\72 0<=align<=16\0"
+.text
+.data  1
+L215:.ascii    "-o what???\0"
+.text
+.data  1
+L220:.ascii    "-t what???\0"
+.text
+.set   L186,0x800
+.data
+.text
+_argprocess:.word      L186
+clrl   _ninfiles
+clrl   _silent
+pushl  $4
+addl3  $1,4(ap),-(sp)
+calls  $2,_ClearCalloc
+movl   r0,_innames
+moval  L190,_dotsname
+jbr    L191
+L2000000:movl  8(ap),r0
+ashl   $2,_ninfiles,r1
+addl2  _innames,r1
+movl   4(r0),(r1)
+incl   _ninfiles
+L194:decl      4(ap)
+addl2  $4,8(ap)
+L191:cmpl      4(ap),$1
+jleq   L192
+movl   8(ap),r0
+cvtbl  *4(r0),r0
+cmpl   r0,$45
+jneq   L2000000
+movl   8(ap),r0
+addl3  $1,4(r0),r11
+jbr    L195
+L2000005:jgtr  L228
+cmpl   r0,$74
+jeql   L224
+jbr    L199
+L206:addl3     $1,r11,-(sp)
+calls  $1,_atoi
+movl   r0,_maxalign
+L2000001:incl  r11
+cvtbl  (r11),r0
+jbs    $2,__ctype_+1[r0],L2000001
+cmpl   _maxalign,$16
+jgtr   L99996
+tstl   _maxalign
+jgeq   L195
+L99996:pushal  L212
+jbr    L2000010
+L218:cmpl      4(ap),$3
+jgeq   L219
+pushal L220
+calls  $1,_yyerror
+pushl  $1
+calls  $1,_exit
+L219:movl      8(ap),r0
+movl   8(r0),_tmpdirprefix
+jbr    L216
+L221:movl      $1,_useVM
+jbr    L195
+L224:movl      $1,_jxxxJUMP
+jbr    L195
+L225:movl      $1,_readonlydata
+jbr    L195
+L228:cmpl      r0,$82
+jeql   L225
+jbr    L199
+L227:cmpl      r0,$97
+jeql   L206
+jgtr   L199
+cmpl   r0,$87
+jneq   L199
+movl   $1,_silent
+jbr    L195
+L2000012:cmpl  r0,$86
+jeql   L221
+jgtr   L227
+cmpl   r0,$76
+jneq   L2000005
+movl   $1,_savelabels
+L195:tstb      (r11)
+jeql   L194
+cvtbl  (r11)+,r0
+cmpl   r0,$100
+jeql   L203
+jleq   L2000012
+cmpl   r0,$116
+jeql   L218
+jgtr   L229
+cmpl   r0,$111
+jneq   L199
+cmpl   4(ap),$3
+jgeq   L214
+pushal L215
+calls  $1,_yyerror
+pushl  $1
+calls  $1,_exit
+L214:movl      8(ap),r0
+movl   8(r0),_outfile
+L216:subl2     $2,4(ap)
+addl2  $8,8(ap)
+jbr    L191
+L229:cmpl      r0,$118
+jeql   L201
+L199:cvtbl     -(r11),-(sp)
+pushal L200
+calls  $2,_yyerror
+incl   r11
+jbr    L195
+L201:pushal    __iob+20
+calls  $1,_selfwhat
+pushl  $1
+calls  $1,_exit
+L203:cvtbl     (r11)+,r0
+subl3  $48,r0,_d124
+cmpl   _d124,$1
+jeql   L195
+cmpl   _d124,$2
+jeql   L195
+cmpl   _d124,$4
+jeql   L195
+pushal L205
+L2000010:calls $1,_yyerror
+pushl  $1
+calls  $1,_exit
+jbr    L195
+L192:ret
+.align 1
+.globl _selfwhat
+.set   L230,0xe00
+.data
+.text
+_selfwhat:.word        L230
+moval  _environ,r10
+pushl  $0
+calls  $1,_sbrk
+movl   r0,r11
+jbr    L237
+L2000016:cmpb  (r10),$64
+jneq   L235
+cmpb   1(r10),$40
+jneq   L235
+cmpb   2(r10),$35
+jneq   L235
+cmpb   3(r10),$41
+jneq   L235
+pushl  4(ap)
+pushl  $9
+calls  $2,_fputc
+addl2  $4,r10
+jbr    L245
+L2000014:tstb  (r10)
+jeql   L244
+cmpb   (r10),$62
+jeql   L244
+cmpb   (r10),$10
+jeql   L244
+pushl  4(ap)
+cvtbl  (r10),-(sp)
+calls  $2,_fputc
+incl   r10
+L245:cmpl      r10,r11
+jlss   L2000014
+L244:pushl     4(ap)
+pushl  $10
+calls  $2,_fputc
+L235:incl      r10
+L237:cmpl      r10,r11
+jlss   L2000016
+ret
+.align 1
+.globl _initialize
+.set   L249,0x0
+.data
+.text
+_initialize:.word      L249
+pushl  $1
+pushl  $2
+calls  $2,_signal
+cmpl   r0,$1
+jeql   L253
+pushal _delexit
+pushl  $2
+calls  $2,_signal
+L253:calls     $0,_symtabinit
+calls  $0,_syminstall
+calls  $0,_buildtokensets
+ret
+.align 1
+.globl _zeroorigins
+.set   L257,0x800
+.data
+.text
+_zeroorigins:.word     L257
+clrl   r11
+L2000018:mull3 $28,r11,r0
+cvtlb  $4,_usedot+20[r0]
+addl3  $4,r11,r0
+mull2  $28,r0
+cvtlb  $6,_usedot+20[r0]
+mull3  $28,r11,r0
+clrl   _usedot(r0)
+addl3  $4,r11,r0
+mull2  $28,r0
+clrl   _usedot(r0)
+incl   r11
+cmpl   r11,$4
+jlss   L2000018
+ret
+.align 1
+.globl _zerolocals
+.set   L264,0x800
+.data
+.text
+_zerolocals:.word      L264
+clrl   r11
+L2000020:movl  $1,_lgensym[r11]
+clrb   _genref[r11]
+aobleq $9,r11,L2000020
+ret
+.align 1
+.globl _i_pass1
+.data  1
+L277:.ascii    "T\0"
+.text
+.data  1
+L278:.ascii    "S\0"
+.text
+.set   L271,0x0
+.data
+.text
+_i_pass1:.word L271
+tstl   _useVM
+jneq   L276
+pushal L277
+pushal _tokfilename
+calls  $2,_tempopen
+movl   r0,_tokfile
+L276:pushal    L278
+pushal _strfilename
+calls  $2,_tempopen
+movl   r0,_strfile
+movl   $4,_strfilepos
+pushl  r0
+pushl  $1
+pushl  $4
+pushal _strfilepos
+calls  $4,_fwrite
+calls  $0,_inittokfile
+calls  $0,_initijxxx
+ret
+.align 1
+.globl _tempopen
+.data  1
+L286:.ascii    "%s%sas%s%05d\0"
+.text
+.data  1
+L288:.ascii    "/\0"
+.text
+.data  1
+L289:.ascii    "\0"
+.text
+.data  1
+L291:.ascii    "w\0"
+.text
+.data  1
+L293:.ascii    "Bad pass 1 temporary file for writing %s\0"
+.text
+.set   L282,0x0
+.data
+.text
+_tempopen:.word        L282
+subl2  $4,sp
+calls  $0,_getpid
+pushl  r0
+pushl  8(ap)
+pushl  _tmpdirprefix
+calls  $1,_strlen
+decl   r0
+movl   _tmpdirprefix,r1
+cmpb   (r1)[r0],$47
+jeql   L99995
+moval  L288,r0
+jbr    L99994
+L99995:moval   L289,r0
+L99994:pushl   r0
+pushl  _tmpdirprefix
+pushal L286
+pushl  4(ap)
+calls  $6,_sprintf
+pushal L291
+pushl  4(ap)
+calls  $2,_fopen
+movl   r0,-4(fp)
+tstl   r0
+jneq   L292
+pushl  4(ap)
+pushal L293
+calls  $2,_yyerror
+calls  $0,_delexit
+L292:movl      -4(fp),r0
+ret
+.align 1
+.globl _pass1
+.data  1
+L299:.ascii    "<stdin>\0"
+.text
+.data  1
+L306:.ascii    "r\0"
+.text
+.data  1
+L308:.ascii    "Can't open source file %s\12\0"
+.text
+.set   L294,0x800
+.data
+.text
+_pass1:.word   L294
+movl   $1,_passno
+moval  _usedot,_dotp
+clrl   _txtfil
+clrl   _relfil
+tstl   _ninfiles
+jneq   L298
+movl   $1,_lineno
+moval  L299,_dotsname
+calls  $0,_yyparse
+L301:calls     $0,_closetokfile
+ret
+L298:clrl      r11
+L304:cmpl      r11,_ninfiles
+jgeq   L301
+ashl   $2,r11,r0
+addl2  _innames,r0
+pushl  (r0)
+calls  $1,_new_dot_s
+pushal __iob
+pushal L306
+ashl   $2,r11,r0
+addl2  _innames,r0
+pushl  (r0)
+calls  $3,_freopen
+tstl   r0
+jneq   L307
+ashl   $2,r11,r0
+addl2  _innames,r0
+pushl  (r0)
+pushal L308
+calls  $2,_yyerror
+pushl  $2
+calls  $1,_exit
+L307:calls     $0,_yyparse
+incl   r11
+jbr    L304
+.align 1
+.globl _testlocals
+.data  1
+L318:.ascii    "Reference to undefined local label %df\0"
+.text
+.set   L310,0x800
+.data
+.text
+_testlocals:.word      L310
+clrl   r11
+L2000022:tstb  _genref[r11]
+jeql   L317
+pushl  r11
+pushal L318
+calls  $2,_yyerror
+L317:movl      $1,_lgensym[r11]
+clrb   _genref[r11]
+acbl   $9,$1,r11,L2000022
+ret
+.align 1
+.globl _pass1_5
+.set   L319,0x0
+.data
+.text
+_pass1_5:.word L319
+calls  $0,_sortsymtab
+calls  $0,_jxxxfix
+ret
+.align 1
+.globl _open_a_out
+.data  1
+L329:.ascii    "w\0"
+.text
+.data  1
+L331:.ascii    "Cannot create %s\0"
+.text
+.set   L325,0x0
+.data
+.text
+_open_a_out:.word      L325
+movab  -64(sp),sp
+pushal L329
+pushl  _outfile
+calls  $2,_fopen
+movl   r0,_a_out_file
+tstl   r0
+jneq   L330
+pushl  _outfile
+pushal L331
+calls  $2,_yyerror
+calls  $0,_delexit
+L330:movl      _a_out_file,r0
+cvtbl  18(r0),_biofd
+pushal -64(fp)
+pushl  _biofd
+calls  $2,_fstat
+movl   -16(fp),_biobufsize
+clrl   _a_out_off
+ret
+.align 1
+.globl _roundsegments
+.set   L333,0xc00
+.data
+.text
+_roundsegments:.word   L333
+clrl   _tsize
+clrl   r11
+L2000024:mull3 $28,r11,r0
+addl3  $3,_usedot(r0),r0
+bicl3  $3,r0,r10
+mull3  $28,r11,r0
+movl   _tsize,_usedot(r0)
+tstl   r11
+jeql   L99993
+tstl   r10
+jeql   L340
+L99993:pushl   $20
+pushl  $1
+calls  $2,_Calloc
+movl   r0,_usefile[r11]
+pushl  _a_out_off
+pushl  _usefile[r11]
+calls  $2,_bopen
+tstl   r11
+jneq   L343
+movl   $32,_a_out_off
+jbr    L343
+L340:mnegl     $1,_usefile[r11]
+L343:addl2     r10,_tsize
+addl2  r10,_a_out_off
+incl   r11
+cmpl   r11,$4
+jlss   L2000024
+addl3  $3,_tsize,r0
+bicl3  $3,r0,_datbase
+clrl   r11
+L2000026:addl3 $4,r11,r0
+mull2  $28,r0
+addl3  $3,_usedot(r0),r0
+bicl3  $3,r0,r10
+addl3  _dsize,_datbase,r0
+addl3  $4,r11,r1
+mull2  $28,r1
+movl   r0,_usedot(r1)
+tstl   r10
+jeql   L347
+pushl  $20
+pushl  $1
+calls  $2,_Calloc
+addl3  $4,r11,r1
+movl   r0,_usefile[r1]
+pushl  _a_out_off
+addl3  $4,r11,r0
+pushl  _usefile[r0]
+calls  $2,_bopen
+jbr    L348
+L347:addl3     $4,r11,r0
+mnegl  $1,_usefile[r0]
+L348:addl2     r10,_dsize
+addl2  r10,_a_out_off
+incl   r11
+cmpl   r11,$4
+jlss   L2000026
+movl   _dsize,_hdr+12
+calls  $0,_freezesymtab
+calls  $0,_stabfix
+clrl   r11
+L2000028:clrl  _rusefile[r11]
+aoblss $8,r11,L2000028
+ret
+.align 1
+.globl _build_hdr
+.set   L354,0x0
+.data
+.text
+_build_hdr:.word       L354
+cvtwl  $263,_hdr
+movl   _tsize,_hdr+4
+movl   _dsize,_hdr+8
+subl2  _dsize,_hdr+12
+calls  $0,_sizesymtab
+movl   r0,_hdr+16
+clrl   _hdr+20
+clrl   _hdr+24
+clrl   _hdr+28
+pushl  _usefile
+pushl  $32
+pushal _hdr
+calls  $3,_bwrite
+ret
+.align 1
+.globl _i_pass2
+.data  1
+L366:.ascii    "r\0"
+.text
+.data  1
+L368:.ascii    "Bad pass 2 temporary file for reading %s\0"
+.text
+.data  1
+L369:.ascii    "r\0"
+.text
+.set   L360,0x0
+.data
+.text
+_i_pass2:.word L360
+tstl   _useVM
+jneq   L364
+pushl  _tokfile
+calls  $1,_fclose
+pushal L366
+pushal _tokfilename
+calls  $2,_fopen
+movl   r0,_tokfile
+tstl   r0
+jneq   L364
+pushal _tokfilename
+pushal L368
+calls  $2,_yyerror
+calls  $0,_delexit
+L364:pushl     _strfile
+calls  $1,_fclose
+pushal L369
+pushal _strfilename
+calls  $2,_fopen
+movl   r0,_strfile
+ret
+.align 1
+.globl _pass2
+.set   L370,0x0
+.data
+.text
+_pass2:.word   L370
+movl   $2,_passno
+movl   $1,_lineno
+moval  _usedot,_dotp
+movl   _usefile,_txtfil
+clrl   _relfil
+calls  $0,_initoutrel
+calls  $0,_inittokfile
+calls  $0,_yyparse
+calls  $0,_closetokfile
+ret
+.align 1
+.globl _fillsegments
+.set   L375,0x0
+.data
+.text
+_fillsegments:.word    L375
+subl2  $4,sp
+clrl   -4(fp)
+L2000034:movl  -4(fp),r0
+tstl   _usefile[r0]
+jeql   L379
+movl   _usefile[r0],_txtfil
+mull3  $28,r0,r0
+movab  _usedot[r0],_dotp
+jbr    L383
+L2000030:decw  *_txtfil
+movl   _txtfil,r0
+movl   4(r0),r1
+incl   4(r0)
+clrb   (r1)
+jbr    L383
+L2000032:incl  *_dotp
+cmpl   _passno,$2
+jneq   L383
+tstw   *_txtfil
+jneq   L2000030
+pushl  $0
+pushl  _txtfil
+calls  $2,_bflushc
+L383:mull3     $28,-4(fp),r0
+bitl   $3,_usedot(r0)
+jneq   L2000032
+L379:incl      -4(fp)
+cmpl   -4(fp),$8
+jlss   L2000034
+ret
+.align 1
+.globl _reloc_syms
+.set   L387,0x0
+.data
+.text
+_reloc_syms:.word      L387
+pushl  $20
+pushl  $1
+calls  $2,_Calloc
+movl   r0,_relocfile
+pushl  _a_out_off
+pushl  r0
+calls  $2,_bopen
+pushl  _relocfile
+calls  $1,_closeoutrel
+addl2  r0,_a_out_off
+movl   _trsize,_hdr+24
+movl   _drsize,_hdr+28
+tstl   _readonlydata
+jeql   L393
+addl2  _hdr+8,_hdr+4
+clrl   _hdr+8
+addl2  _hdr+28,_hdr+24
+clrl   _hdr+28
+L393:pushl     $0
+pushl  $0
+pushl  _strfile
+calls  $3,_fseek
+pushl  _relocfile
+calls  $1,_symwrite
+ret
+.align 1
+.globl _fix_a_out
+.data  1
+L402:.ascii    "Reposition for header rewrite fails\0"
+.text
+.data  1
+L405:.ascii    "Rewrite of header fails\0"
+.text
+.set   L396,0x0
+.data
+.text
+_fix_a_out:.word       L396
+pushl  $0
+pushl  $0
+movl   _a_out_file,r0
+cvtbl  18(r0),-(sp)
+calls  $3,_lseek
+tstl   r0
+jgeq   L401
+pushal L402
+calls  $1,_yyerror
+L401:pushl     $32
+pushal _hdr
+movl   _a_out_file,r0
+cvtbl  18(r0),-(sp)
+calls  $3,_write
+tstl   r0
+jgeq   L404
+pushal L405
+calls  $1,_yyerror
+L404:ret
+.align 1
+.globl _delexit
+.set   L406,0x0
+.data
+.text
+_delexit:.word L406
+calls  $0,_delete
+cmpl   _passno,$2
+jneq   L410
+pushl  _outfile
+calls  $1,_unlink
+L410:pushl     $1
+calls  $1,_exit
+ret
+.align 1
+.globl _delete
+.set   L412,0x0
+.data
+.text
+_delete:.word  L412
+tstl   _useVM
+jeql   L99990
+tstb   _tokfilename
+jeql   L416
+L99990:pushal  _tokfilename
+calls  $1,_unlink
+L416:tstb      _strfilename
+jeql   L417
+pushal _strfilename
+calls  $1,_unlink
+L417:ret
+.align 1
+.globl _sawabort
+.set   L419,0x0
+.data
+.text
+_sawabort:.word        L419
+L2000035:calls $0,_fillinbuffer
+tstl   r0
+jneq   L2000035
+calls  $0,_delete
+pushl  $1
+calls  $1,_exit
+ret
+.align 1
+.globl _panic
+.data  1
+L431:.ascii    "Assembler panic\72 bad internal data structure.\0"
+.text
+.set   L427,0x0
+.data
+.text
+_panic:.word   L427
+pushal L431
+calls  $1,_yyerror
+pushl  20(ap)
+pushl  16(ap)
+pushl  12(ap)
+pushl  8(ap)
+pushl  4(ap)
+calls  $5,_yyerror
+calls  $0,_delete
+calls  $0,_abort
+ret
+
diff --git a/bin/as/test/asparse.o.ok b/bin/as/test/asparse.o.ok
new file mode 100644 (file)
index 0000000..ed35b73
Binary files /dev/null and b/bin/as/test/asparse.o.ok differ
diff --git a/bin/as/test/asparse.s b/bin/as/test/asparse.s
new file mode 100644 (file)
index 0000000..7fc0e2f
--- /dev/null
@@ -0,0 +1,1882 @@
+.data
+.data
+_sccsid:.long  0x29232840
+.long  0x61707361
+.long  0x2e657372
+.long  0x2e350963
+.long  0x42282032
+.long  0x656b7265
+.long  0x2979656c
+.long  0x312f3620
+.long  0x35382f39
+.long  0x0
+.comm  _rusefile,32
+.comm  _relfil,4
+.comm  _lgensym,40
+.comm  _genref,10
+.comm  _bitfield,4
+.comm  _bitoff,4
+.comm  _curlen,4
+.comm  _exprisname,4
+.comm  _droppedLP,4
+.comm  _yytext,4098
+.comm  _yylval,4
+.comm  _yyopcode,2
+.comm  _yybignum,20
+.comm  _xp,4
+.comm  _explist,560
+.comm  _arglist,48
+.comm  _tokensets,77
+.lcomm _UDotsname,64
+.text
+LL0:.align     1
+.globl _yyparse
+.data  1
+L149:.ascii    "Local label %d is not followed by a '\72' for a label definition\0"
+.text
+.data  1
+L152:.ascii    "Local labels are 0-9\0"
+.text
+.data  1
+L153:.ascii    "L%d\1%d\0"
+.text
+.data  1
+L160:.ascii    "Name expected for a label\0"
+.text
+.data  1
+L164:.ascii    "\"%s\" is not followed by a '\72' for a label definition\0"
+.text
+.data  1
+L170:.ascii    "%s redefined\0"
+.text
+.data  1
+L172:.ascii    "%s redefined\72 PHASE ERROR, 1st\72 %d, 2nd\72 %d\0"
+.text
+.data  1
+L178:.ascii    "Unrecognized instruction or directive\0"
+.text
+.data  1
+L200:.ascii    "Illegal set?\0"
+.text
+.data  1
+L210:.ascii    "Illegal second argument to lsym\0"
+.text
+.data  1
+L223:.ascii    "illegal location counter\0"
+.text
+.data  1
+L247:.ascii    "Width not absolute\0"
+.text
+.data  1
+L251:.ascii    "Expression crosses field boundary\0"
+.text
+.data  1
+L256:.ascii    "Illegal relocation in field\0"
+.text
+.data  1
+L268:.ascii    "Case will branch too far\0"
+.text
+.data  1
+L278:.ascii    "Space size not absolute\0"
+.text
+.lcomm L281,128
+.data  1
+L293:.ascii    "Fill repetition count not absolute\0"
+.text
+.data  1
+L300:.ascii    "Fill size not absolute\0"
+.text
+.data  1
+L302:.ascii    "Fill count not in in 1..8\0"
+.text
+.data  1
+L309:.ascii    "Fill value not absolute\0"
+.text
+.data  1
+L340:.ascii    "Illegal expression to set origin\0"
+.text
+.data  1
+L342:.ascii    "Backwards 'org'\0"
+.text
+.data  1
+L344:.ascii    ".stab directive no longer supported\0"
+.text
+.data  1
+L351:.ascii    "Invalid type in %s\0"
+.text
+.data  1
+L390:.ascii    ".stabd\0"
+.text
+.data  1
+L397:.ascii    "Invalid type in .stabd\0"
+.text
+.data  1
+L409:.ascii    ".stabn\0"
+.text
+.data  1
+L412:.ascii    ".stabs\0"
+.text
+.data  1
+L418:.ascii    "\0\0"
+.text
+.data  1
+L428:.ascii    "comm size not absolute\0"
+.text
+.data  1
+L430:.ascii    "Redefinition of %s\0"
+.text
+.data  1
+L452:.ascii    "expression expected\0"
+.text
+.data  1
+L464:.ascii    "register expected\0"
+.text
+.data  1
+L476:.ascii    "register expected\0"
+.text
+.data  1
+L484:.ascii    "expression, '(' or '$' expected\0"
+.text
+.data  1
+L491:.ascii    "register expected\0"
+.text
+.data  1
+L505:.ascii    "register expected\0"
+.text
+.data  1
+L512:.ascii    "register expected\0"
+.text
+.data  1
+L521:.ascii    "More than 6 arguments\0"
+.text
+.data  1
+L541:.ascii    "floating number expected\0"
+.text
+.data  1
+L542:.ascii    "integer number expected\0"
+.text
+.set   L138,0xfc0
+.data
+.text
+_yyparse:.word L138
+movab  -104(sp),sp
+moval  -4(fp),-8(fp)
+moval  -28(fp),-32(fp)
+clrl   -92(fp)
+moval  _explist,_xp
+moval  _arglist,r6
+L2000017:calls $0,_yylex
+movl   r0,r8
+L142:cmpl      r8,$35
+jneq   L144
+ret
+L2000004:cmpl  r8,$39
+jneq   L146
+movl   *_yylval,-96(fp)
+calls  $0,_yylex
+movl   r0,r8
+cmpl   r8,$66
+jeql   L147
+pushl  -96(fp)
+pushal L149
+L2000040:calls $2,_yyerror
+jbr    L547
+L99999:pushal  L152
+L2000002:calls $1,_yyerror
+L547:cmpl      r8,$50
+jeql   L548
+cmpl   r8,$65
+jeql   L548
+cmpl   r8,$35
+jeql   L548
+calls  $0,_yylex
+movl   r0,r8
+jbr    L547
+L147:tstl      -96(fp)
+jlss   L99999
+cmpl   -96(fp),$9
+jgtr   L99999
+movl   -96(fp),r0
+pushl  _lgensym[r0]
+pushl  r0
+pushal L153
+pushal _yytext
+calls  $4,_sprintf
+movl   -96(fp),r0
+incl   _lgensym[r0]
+movl   -96(fp),r0
+clrb   _genref[r0]
+cmpl   _passno,$1
+jneq   L99998
+movl   $1,r0
+jbr    L99997
+L99998:clrl    r0
+L99997:pushl   r0
+calls  $1,_lookup
+movl   (r0),_yylval
+movl   $41,r8
+movl   _yylval,r10
+L154:calls     $0,_yylex
+movl   r0,r8
+tstl   _bitoff
+jeql   L165
+addl3  $7,_bitoff,r0
+divl2  $32,r0
+divl2  $4,r0
+ashl   $5,r0,r0
+divl3  $4,r0,-(sp)
+calls  $1,_Flushfield
+L165:bitb      $30,4(r10)
+jeql   L167
+movzbl 4(r10),r0
+bicl2  $-31,r0
+movl   _dotp,r1
+cvtbl  20(r1),r1
+cmpl   r0,r1
+jneq   L99996
+cmpl   8(r10),*_dotp
+jneq   L99996
+cmpl   _passno,$1
+jneq   L167
+movl   _dotp,r0
+cvtwl  16(r10),r1
+cvtbl  21(r0),r0
+cmpl   r1,r0
+jeql   L167
+L99996:cmpl    _passno,$1
+jneq   L169
+addl3  $8,(r10),-(sp)
+pushal L170
+calls  $2,_yyerror
+jbr    L167
+L146:cmpl      r8,$50
+jneq   L155
+incl   _lineno
+L2000042:calls $0,_yylex
+movl   r0,r8
+jbr    L144
+L155:cmpl      r8,$65
+jeql   L2000042
+cmpl   r8,$41
+jeql   L159
+pushal L160
+jbr    L2000002
+L159:movl      _yylval,r10
+cmpl   r8,$41
+jeql   L161
+L2000044:pushl $41
+L2000043:calls $1,_shiftoerror
+jbr    L547
+L161:calls     $0,_yylex
+movl   r0,r8
+cmpl   r8,$66
+jeql   L154
+addl3  $8,(r10),-(sp)
+pushal L164
+jbr    L2000040
+L169:pushl     *_dotp
+pushl  8(r10)
+addl3  $8,(r10),-(sp)
+pushal L172
+calls  $4,_yyerror
+L167:bicb2     $62,4(r10)
+movl   _dotp,r0
+cvtbl  20(r0),r0
+movzbl 4(r10),r1
+bisl2  r0,r1
+cvtlb  r1,4(r10)
+movl   *_dotp,8(r10)
+cmpl   _passno,$1
+jneq   L144
+subl3  $_usedot,_dotp,r0
+divl2  $28,r0
+cvtlw  r0,16(r10)
+movl   (r10),r0
+cmpb   8(r0),$76
+jneq   L174
+incl   _nlabels
+L174:movb      $246,12(r10)
+L144:jbs       $0,_tokensets[r8],L2000004
+moval  _explist,_xp
+moval  _arglist,r6
+movl   r8,r0
+casel  r0,$1,$34
+L2000049:
+.word  L272-L2000049
+.word  L227-L2000049
+.word  L229-L2000049
+.word  L231-L2000049
+.word  L231-L2000049
+.word  L529-L2000049
+.word  L531-L2000049
+.word  L214-L2000049
+.word  L211-L2000049
+.word  L191-L2000049
+.word  L214-L2000049
+.word  L420-L2000049
+.word  L420-L2000049
+.word  L532-L2000049
+.word  L533-L2000049
+.word  L534-L2000049
+.word  L535-L2000049
+.word  L332-L2000049
+.word  L315-L2000049
+.word  L315-L2000049
+.word  L201-L2000049
+.word  L182-L2000049
+.word  L186-L2000049
+.word  L179-L2000049
+.word  L287-L2000049
+.word  L343-L2000049
+.word  L411-L2000049
+.word  L408-L2000049
+.word  L389-L2000049
+.word  L443-L2000049
+.word  L434-L2000049
+.word  L440-L2000049
+.word  L443-L2000049
+.word  L177-L2000049
+.word  L181-L2000049
+L177:pushal    L178
+jbr    L2000002
+L179:calls     $0,_yylex
+movl   r0,r8
+calls  $0,_sawabort
+jbr    L142
+L181:decl      _tokptr
+cvtlb  $37,*_tokptr
+incl   _tokptr
+movl   _tokptr,r0
+cvtlb  $37,1(r0)
+movl   _tokptr,r0
+cvtlb  $35,2(r0)
+jbr    L142
+L182:calls     $0,_yylex
+movl   r0,r8
+movl   _yylval,-24(fp)
+cmpl   r8,$42
+jeql   L183
+L2000045:pushl $42
+jbr    L2000043
+L183:calls     $0,_yylex
+movl   r0,r8
+moval  _UDotsname,_dotsname
+pushl  $64
+movl   -24(fp),r0
+movzwl 6(r0),-(sp)
+calls  $2,_min
+pushl  r0
+addl3  $8,-24(fp),-(sp)
+pushl  _dotsname
+calls  $3,_movestr
+jbr    L142
+L186:calls     $0,_yylex
+movl   r0,r8
+jbs    $1,_tokensets[r8],L187
+cvtbl  *_tokptr,r0
+bitb   $112,_tokensets[r0]
+jneq   L187
+jbc    $2,_tokensets[r8],L188
+pushl  _yylval
+pushl  r8
+calls  $2,_yukkyexpr
+movl   r0,r11
+jbr    L189
+L188:movl      _yylval,r11
+L189:calls     $0,_yylex
+movl   r0,r8
+jbr    L190
+L187:pushl     -8(fp)
+pushl  r8
+calls  $2,_exprparse
+movl   r0,r8
+movl   -4(fp),r11
+L190:movl      (r11),_lineno
+jbr    L142
+L191:calls     $0,_yylex
+movl   r0,r8
+movl   _yylval,r10
+cmpl   r8,$41
+jneq   L2000044
+calls  $0,_yylex
+movl   r0,r8
+cmpl   r8,$72
+jeql   L193
+L2000046:pushl $72
+jbr    L2000043
+L193:calls     $0,_yylex
+movl   r0,r8
+jbs    $1,_tokensets[r8],L194
+cvtbl  *_tokptr,r0
+bitb   $112,_tokensets[r0]
+jneq   L194
+jbc    $2,_tokensets[r8],L195
+pushl  _yylval
+pushl  r8
+calls  $2,_yukkyexpr
+movl   r0,r11
+jbr    L196
+L195:movl      _yylval,r11
+L196:calls     $0,_yylex
+movl   r0,r8
+jbr    L197
+L194:pushl     -8(fp)
+pushl  r8
+calls  $2,_exprparse
+movl   r0,r8
+movl   -4(fp),r11
+L197:bicb2     $-34,4(r10)
+cvtbl  20(r11),r0
+bicl2  $-63,r0
+movzbl 4(r10),r1
+bisl2  r0,r1
+cvtlb  r1,4(r10)
+movl   (r11),8(r10)
+cmpl   _passno,$1
+jneq   L198
+cvtbw  21(r11),16(r10)
+L198:bitb      $30,20(r11)
+jneq   L142
+pushal L200
+calls  $1,_yyerror
+jbr    L142
+L201:calls     $0,_yylex
+movl   r0,r8
+movl   _yylval,r10
+cmpl   r8,$41
+jneq   L2000044
+calls  $0,_yylex
+movl   r0,r8
+cmpl   r8,$72
+jneq   L2000046
+calls  $0,_yylex
+movl   r0,r8
+jbs    $1,_tokensets[r8],L204
+cvtbl  *_tokptr,r0
+bitb   $112,_tokensets[r0]
+jneq   L204
+jbc    $2,_tokensets[r8],L205
+pushl  _yylval
+pushl  r8
+calls  $2,_yukkyexpr
+movl   r0,r11
+jbr    L206
+L205:movl      _yylval,r11
+L206:calls     $0,_yylex
+movl   r0,r8
+jbr    L207
+L204:pushl     -8(fp)
+pushl  r8
+calls  $2,_exprparse
+movl   r0,r8
+movl   -4(fp),r11
+L207:cmpl      _passno,$1
+jneq   L142
+calls  $0,_symalloc
+movl   r0,-20(fp)
+movl   (r10),*-20(fp)
+movb   $249,12(r10)
+incl   _nforgotten
+movl   -20(fp),r10
+cvtbl  20(r11),r0
+bicl2  $-31,r0
+cmpl   r0,$2
+jeql   L209
+pushal L210
+calls  $1,_yyerror
+L209:movl      (r11),8(r10)
+cvtlb  $2,4(r10)
+cvtlb  $21,12(r10)
+jbr    L142
+L211:calls     $0,_yylex
+movl   r0,r8
+movl   _yylval,r10
+cmpl   r8,$41
+jneq   L2000044
+calls  $0,_yylex
+movl   r0,r8
+L2000047:bisb2 $1,4(r10)
+jbr    L142
+L214:mnegl     r8,-48(fp)
+calls  $0,_yylex
+movl   r0,r8
+bitb   $14,_tokensets[r8]
+jeql   L215
+jbs    $1,_tokensets[r8],L216
+cvtbl  *_tokptr,r0
+bitb   $112,_tokensets[r0]
+jneq   L216
+jbc    $2,_tokensets[r8],L217
+pushl  _yylval
+pushl  r8
+calls  $2,_yukkyexpr
+movl   r0,r11
+jbr    L218
+L217:movl      _yylval,r11
+L218:calls     $0,_yylex
+movl   r0,r8
+jbr    L219
+L216:pushl     -8(fp)
+pushl  r8
+calls  $2,_exprparse
+movl   r0,r8
+movl   -4(fp),r11
+L219:mnegl     -48(fp),-48(fp)
+L215:tstl      -48(fp)
+jgeq   L220
+clrl   -52(fp)
+mnegl  -48(fp),-48(fp)
+jbr    L221
+L220:cvtbl     20(r11),r0
+bicl2  $-31,r0
+cmpl   r0,$2
+jneq   L99995
+movl   (r11),-52(fp)
+cmpl   -52(fp),$4
+jlss   L221
+L99995:pushal  L223
+calls  $1,_yyerror
+clrl   -52(fp)
+L221:cmpl      -48(fp),$8
+jneq   L224
+addl2  $4,-52(fp)
+L224:tstl      _bitoff
+jeql   L225
+addl3  $7,_bitoff,r0
+divl2  $32,r0
+divl2  $4,r0
+ashl   $5,r0,r0
+divl3  $4,r0,-(sp)
+calls  $1,_Flushfield
+L225:mull3     $28,-52(fp),r0
+movab  _usedot[r0],_dotp
+cmpl   _passno,$2
+jneq   L142
+movl   -52(fp),r0
+movl   _usefile[r0],_txtfil
+movl   _rusefile[r0],_relfil
+jbr    L142
+L227:movl      $8,_curlen
+jbr    L228
+L2000006:pushl _yylval
+pushl  r8
+calls  $2,_yukkyexpr
+movl   r0,r11
+jbr    L238
+L229:movl      $16,_curlen
+jbr    L228
+L231:movl      $32,_curlen
+L228:movl      r8,-48(fp)
+calls  $0,_yylex
+movl   r0,r8
+bitb   $14,_tokensets[r8]
+jeql   L232
+L235:jbs       $1,_tokensets[r8],L236
+cvtbl  *_tokptr,r0
+bitb   $112,_tokensets[r0]
+jneq   L236
+jbs    $2,_tokensets[r8],L2000006
+movl   _yylval,r11
+L238:calls     $0,_yylex
+movl   r0,r8
+jbr    L239
+L236:pushl     -8(fp)
+pushl  r8
+calls  $2,_exprparse
+movl   r0,r8
+movl   -4(fp),r11
+L239:cmpl      r8,$66
+jneq   L240
+cmpl   r8,$66
+jeql   L241
+pushl  $66
+jbr    L2000043
+L241:calls     $0,_yylex
+movl   r0,r8
+jbs    $1,_tokensets[r8],L242
+cvtbl  *_tokptr,r0
+bitb   $112,_tokensets[r0]
+jneq   L242
+jbc    $2,_tokensets[r8],L243
+pushl  _yylval
+pushl  r8
+calls  $2,_yukkyexpr
+movl   r0,-12(fp)
+jbr    L244
+L243:movl      _yylval,-12(fp)
+L244:calls     $0,_yylex
+movl   r0,r8
+jbr    L245
+L242:pushl     -8(fp)
+pushl  r8
+calls  $2,_exprparse
+movl   r0,r8
+movl   -4(fp),-12(fp)
+L245:cvtbl     20(r11),r0
+bicl2  $-31,r0
+cmpl   r0,$2
+jeql   L246
+pushal L247
+calls  $1,_yyerror
+L246:movl      (r11),-68(fp)
+movl   -12(fp),r11
+addl3  -68(fp),_bitoff,r0
+cmpl   r0,_curlen
+jleq   L248
+tstl   _bitoff
+jeql   L248
+addl3  _curlen,_bitoff,r0
+decl   r0
+divl2  _curlen,r0
+mull3  _curlen,r0,-(sp)
+calls  $1,_Flushfield
+L248:cmpl      -68(fp),_curlen
+jleq   L252
+pushal L251
+calls  $1,_yyerror
+jbr    L252
+L240:movl      _curlen,-68(fp)
+tstl   _bitoff
+jeql   L252
+addl3  _curlen,_bitoff,r0
+decl   r0
+divl2  _curlen,r0
+mull3  _curlen,r0,-(sp)
+calls  $1,_Flushfield
+L252:cvtbl     20(r11),r0
+bicl2  $-31,r0
+cmpl   r0,$2
+jeql   L254
+tstl   _bitoff
+jeql   L255
+pushal L256
+calls  $1,_yyerror
+L255:movl      _curlen,r0
+cmpl   r0,$8
+jeql   L259
+cmpl   r0,$16
+jeql   L260
+cmpl   r0,$32
+jeql   L261
+jbr    L257
+L2000008:movl  -84(fp),r0
+addl2  _ty_nbyte[r0],*_dotp
+jbr    L265
+L259:clrl      -84(fp)
+jbr    L257
+L260:movl      $1,-84(fp)
+jbr    L257
+L261:movl      $2,-84(fp)
+L257:cmpl      _passno,$1
+jeql   L2000008
+pushl  -84(fp)
+pushl  r11
+calls  $2,_outrel
+jbr    L265
+L254:cmpl      _passno,$2
+jneq   L266
+tstl   -92(fp)
+jeql   L266
+cmpl   (r11),$-32768
+jlss   L99994
+cmpl   (r11),$32767
+jleq   L266
+L99994:pushal  L268
+calls  $1,_yyerror
+L266:ashl      -68(fp),$1,r0
+decl   r0
+mcoml  r0,r0
+bicl3  r0,(r11),-72(fp)
+ashl   _bitoff,-72(fp),r0
+bisl2  r0,_bitfield
+addl2  -68(fp),_bitoff
+L265:moval     _explist,_xp
+cmpl   r8,$72
+jneq   L99993
+movl   $1,r0
+jbr    L99992
+L99993:clrl    r0
+L99992:movl    r0,r7
+jeql   L234
+calls  $0,_yylex
+movl   r0,r8
+L234:tstl      r7
+jneq   L235
+L232:tstl      _bitoff
+jeql   L270
+addl3  _curlen,_bitoff,r0
+decl   r0
+divl2  _curlen,r0
+mull3  _curlen,r0,-(sp)
+calls  $1,_Flushfield
+L270:cmpl      _curlen,$8
+jneq   L142
+tstl   _bitoff
+jeql   L142
+incl   *_dotp
+jbr    L142
+L272:calls     $0,_yylex
+movl   r0,r8
+jbs    $1,_tokensets[r8],L273
+cvtbl  *_tokptr,r0
+bitb   $112,_tokensets[r0]
+jneq   L273
+jbc    $2,_tokensets[r8],L274
+pushl  _yylval
+pushl  r8
+calls  $2,_yukkyexpr
+movl   r0,r11
+jbr    L275
+L274:movl      _yylval,r11
+L275:calls     $0,_yylex
+movl   r0,r8
+jbr    L276
+L273:pushl     -8(fp)
+pushl  r8
+calls  $2,_exprparse
+movl   r0,r8
+movl   -4(fp),r11
+L276:cvtbl     20(r11),r0
+bicl2  $-31,r0
+cmpl   r0,$2
+jeql   L277
+pushal L278
+calls  $1,_yyerror
+L277:movl      (r11),-56(fp)
+L279:tstl      _bitoff
+jeql   L282
+addl3  $7,_bitoff,r0
+divl2  $32,r0
+divl2  $4,r0
+ashl   $5,r0,r0
+divl3  $4,r0,-(sp)
+calls  $1,_Flushfield
+jbr    L282
+L2000010:addl2 $128,*_dotp
+cmpl   _passno,$2
+jneq   L284
+pushl  _txtfil
+pushl  $128
+pushal L281
+calls  $3,_bwrite
+L284:subl2     $128,-56(fp)
+L282:cmpl      -56(fp),$128
+jgtr   L2000010
+addl2  -56(fp),*_dotp
+cmpl   _passno,$2
+jneq   L142
+pushl  _txtfil
+pushl  -56(fp)
+pushal L281
+calls  $3,_bwrite
+jbr    L142
+L287:calls     $0,_yylex
+movl   r0,r8
+jbs    $1,_tokensets[r8],L288
+cvtbl  *_tokptr,r0
+bitb   $112,_tokensets[r0]
+jneq   L288
+jbc    $2,_tokensets[r8],L289
+pushl  _yylval
+pushl  r8
+calls  $2,_yukkyexpr
+movl   r0,r11
+jbr    L290
+L289:movl      _yylval,r11
+L290:calls     $0,_yylex
+movl   r0,r8
+jbr    L291
+L288:pushl     -8(fp)
+pushl  r8
+calls  $2,_exprparse
+movl   r0,r8
+movl   -4(fp),r11
+L291:cvtbl     20(r11),r0
+bicl2  $-31,r0
+cmpl   r0,$2
+jeql   L292
+pushal L293
+calls  $1,_yyerror
+L292:movl      (r11),-60(fp)
+cmpl   r8,$72
+jneq   L2000046
+calls  $0,_yylex
+movl   r0,r8
+jbs    $1,_tokensets[r8],L295
+cvtbl  *_tokptr,r0
+bitb   $112,_tokensets[r0]
+jneq   L295
+jbc    $2,_tokensets[r8],L296
+pushl  _yylval
+pushl  r8
+calls  $2,_yukkyexpr
+movl   r0,r11
+jbr    L297
+L296:movl      _yylval,r11
+L297:calls     $0,_yylex
+movl   r0,r8
+jbr    L298
+L295:pushl     -8(fp)
+pushl  r8
+calls  $2,_exprparse
+movl   r0,r8
+movl   -4(fp),r11
+L298:cvtbl     20(r11),r0
+bicl2  $-31,r0
+cmpl   r0,$2
+jeql   L299
+pushal L300
+calls  $1,_yyerror
+L299:movl      (r11),-64(fp)
+jleq   L99991
+cmpl   -64(fp),$8
+jleq   L301
+L99991:pushal  L302
+calls  $1,_yyerror
+L301:cmpl      r8,$72
+jneq   L2000046
+calls  $0,_yylex
+movl   r0,r8
+jbs    $1,_tokensets[r8],L304
+cvtbl  *_tokptr,r0
+bitb   $112,_tokensets[r0]
+jneq   L304
+jbc    $2,_tokensets[r8],L305
+pushl  _yylval
+pushl  r8
+calls  $2,_yukkyexpr
+movl   r0,r11
+jbr    L306
+L305:movl      _yylval,r11
+L306:calls     $0,_yylex
+movl   r0,r8
+jbr    L307
+L304:pushl     -8(fp)
+pushl  r8
+calls  $2,_exprparse
+movl   r0,r8
+movl   -4(fp),r11
+L307:cmpl      _passno,$2
+jneq   L308
+cvtbl  20(r11),r0
+bicl2  $-31,r0
+cmpl   r0,$2
+jeql   L308
+pushal L309
+calls  $1,_yyerror
+L308:tstl      _bitoff
+jeql   L310
+addl3  $7,_bitoff,r0
+divl2  $32,r0
+divl2  $4,r0
+ashl   $5,r0,r0
+divl3  $4,r0,-(sp)
+calls  $1,_Flushfield
+L310:mull3     -64(fp),-60(fp),r0
+addl2  r0,*_dotp
+cmpl   _passno,$2
+jneq   L142
+L312:movl      -60(fp),r0
+decl   -60(fp)
+tstl   r0
+jleq   L142
+pushl  _txtfil
+pushl  -64(fp)
+pushl  r11
+calls  $3,_bwrite
+jbr    L312
+L315:movl      r8,r7
+L2000012:calls $0,_yylex
+movl   r0,r8
+L316:cmpl      r8,$42
+jneq   L142
+tstl   _bitoff
+jeql   L318
+addl3  $7,_bitoff,r0
+divl2  $32,r0
+divl2  $4,r0
+ashl   $5,r0,r0
+divl3  $4,r0,-(sp)
+calls  $1,_Flushfield
+L318:tstl      _bitoff
+jeql   L319
+incl   *_dotp
+L319:movl      _yylval,-24(fp)
+movl   -24(fp),r0
+movzwl 6(r0),-96(fp)
+cmpl   r7,$20
+jneq   L99990
+movl   $1,r0
+jbr    L99989
+L99990:clrl    r0
+L99989:addl2   r0,-96(fp)
+cmpl   _passno,$2
+jneq   L320
+movl   -24(fp),r0
+jbc    $1,4(r0),L321
+addl2  -96(fp),*_dotp
+cmpl   _passno,$2
+jneq   L330
+pushl  _txtfil
+pushl  -96(fp)
+addl3  $8,-24(fp),-(sp)
+calls  $3,_bwrite
+jbr    L330
+L321:pushl     $0
+pushl  *-24(fp)
+pushl  _strfile
+calls  $3,_fseek
+clrl   -100(fp)
+L327:cmpl      -100(fp),-96(fp)
+jgeq   L330
+pushl  _strfile
+pushl  $4098
+subl3  -100(fp),-96(fp),-(sp)
+calls  $2,_min
+pushl  r0
+pushl  $1
+pushal _yytext
+calls  $4,_fread
+movl   r0,-104(fp)
+addl2  r0,*_dotp
+cmpl   _passno,$2
+jneq   L329
+pushl  _txtfil
+pushl  -104(fp)
+pushal _yytext
+calls  $3,_bwrite
+L329:addl2     -104(fp),-100(fp)
+jbr    L327
+L320:addl2     -96(fp),*_dotp
+L330:calls     $0,_yylex
+movl   r0,r8
+cmpl   r8,$72
+jneq   L316
+jbr    L2000012
+L332:calls     $0,_yylex
+movl   r0,r8
+jbs    $1,_tokensets[r8],L333
+cvtbl  *_tokptr,r0
+bitb   $112,_tokensets[r0]
+jneq   L333
+jbc    $2,_tokensets[r8],L334
+pushl  _yylval
+pushl  r8
+calls  $2,_yukkyexpr
+movl   r0,r11
+jbr    L335
+L334:movl      _yylval,r11
+L335:calls     $0,_yylex
+movl   r0,r8
+jbr    L336
+L333:pushl     -8(fp)
+pushl  r8
+calls  $2,_exprparse
+movl   r0,r8
+movl   -4(fp),r11
+L336:cvtbl     20(r11),r0
+bicl2  $-31,r0
+cmpl   r0,$2
+jneq   L337
+incl   _orgwarn
+jbr    L338
+L337:cvtbl     20(r11),r0
+bicl2  $1,r0
+movl   _dotp,r1
+cvtbl  20(r1),r1
+cmpl   r0,r1
+jeql   L338
+pushal L340
+calls  $1,_yyerror
+L338:subl3     *_dotp,(r11),-56(fp)
+jgeq   L279
+pushal L342
+calls  $1,_yyerror
+jbr    L279
+L343:pushal    L344
+jbr    L2000002
+L347:movl      _yylval,r11
+L348:calls     $0,_yylex
+movl   r0,r8
+jbr    L349
+L346:pushl     -8(fp)
+pushl  r8
+calls  $2,_exprparse
+movl   r0,r8
+movl   -4(fp),r11
+L349:bitl      $224,(r11)
+jneq   L350
+pushl  -76(fp)
+pushal L351
+jbr    L2000040
+L350:movl      -20(fp),r0
+cvtlb  (r11),13(r0)
+cmpl   r8,$72
+jneq   L2000046
+calls  $0,_yylex
+movl   r0,r8
+jbs    $1,_tokensets[r8],L353
+cvtbl  *_tokptr,r0
+bitb   $112,_tokensets[r0]
+jneq   L353
+jbc    $2,_tokensets[r8],L354
+pushl  _yylval
+pushl  r8
+calls  $2,_yukkyexpr
+movl   r0,r11
+jbr    L355
+L354:movl      _yylval,r11
+L355:calls     $0,_yylex
+movl   r0,r8
+jbr    L356
+L353:pushl     -8(fp)
+pushl  r8
+calls  $2,_exprparse
+movl   r0,r8
+movl   -4(fp),r11
+L356:movl      -20(fp),r0
+cvtlb  (r11),5(r0)
+cmpl   r8,$72
+jneq   L2000046
+calls  $0,_yylex
+movl   r0,r8
+jbs    $1,_tokensets[r8],L358
+cvtbl  *_tokptr,r0
+bitb   $112,_tokensets[r0]
+jneq   L358
+jbc    $2,_tokensets[r8],L359
+pushl  _yylval
+pushl  r8
+calls  $2,_yukkyexpr
+movl   r0,r11
+jbr    L360
+L359:movl      _yylval,r11
+L360:calls     $0,_yylex
+movl   r0,r8
+jbr    L361
+L358:pushl     -8(fp)
+pushl  r8
+calls  $2,_exprparse
+movl   r0,r8
+movl   -4(fp),r11
+L361:movl      -20(fp),r0
+cvtlw  (r11),6(r0)
+cmpl   r8,$72
+jneq   L2000046
+calls  $0,_yylex
+movl   r0,r8
+clrl   _exprisname
+jbs    $1,_tokensets[r8],L363
+cvtbl  *_tokptr,r0
+bitb   $112,_tokensets[r0]
+jneq   L363
+jbc    $2,_tokensets[r8],L364
+pushl  _yylval
+pushl  r8
+calls  $2,_yukkyexpr
+movl   r0,r11
+jbr    L365
+L364:movl      _yylval,r11
+L365:calls     $0,_yylex
+movl   r0,r8
+jbr    L366
+L363:pushl     -8(fp)
+pushl  r8
+calls  $2,_exprparse
+movl   r0,r8
+movl   -4(fp),r11
+L366:movl      24(r11),-16(fp)
+jneq   L367
+movl   -20(fp),r0
+movl   (r11),8(r0)
+subl3  $_usedot,_dotp,r0
+divl2  $28,r0
+movl   -20(fp),r1
+cvtlw  r0,16(r1)
+tstl   _exprisname
+jeql   L368
+movl   -20(fp),r0
+movb   20(r11),4(r0)
+movl   -20(fp),r0
+movzbl 13(r0),r0
+cmpl   r0,$160
+jeql   L368
+jgtr   L381
+cmpl   r0,$96
+jeql   L368
+jgtr   L382
+cmpl   r0,$34
+jeql   L368
+jgtr   L383
+cmpl   r0,$32
+jneq   L2000015
+L368:movl      -20(fp),r0
+movb   $244,12(r0)
+jbr    L386
+L383:cmpl      r0,$64
+jeql   L368
+jbr    L2000015
+L382:cmpl      r0,$128
+jeql   L368
+jbr    L2000015
+L381:cmpl      r0,$228
+jeql   L368
+jgtr   L384
+cmpl   r0,$226
+jeql   L368
+jbr    L2000015
+L384:cmpl      r0,$254
+jeql   L368
+jbr    L2000015
+L367:movl      -20(fp),r0
+movl   24(r11),20(r0)
+movl   -16(fp),r0
+movl   -20(fp),r1
+movw   16(r0),16(r1)
+movl   -16(fp),r0
+movzbl 4(r0),r0
+jbss   $7,r0,L2000000
+L2000000:movl  -20(fp),r1
+cvtlb  r0,4(r1)
+tstl   (r11)
+jeql   L386
+ashl   $-16,(r11),r0
+movl   -20(fp),r1
+cvtlb  r0,5(r1)
+movzwl (r11),r0
+movl   -20(fp),r1
+cvtlw  r0,6(r1)
+L2000015:movl  -20(fp),r0
+movb   $247,12(r0)
+L386:subl3     $1,_tokptr,-(sp)
+pushl  -80(fp)
+calls  $2,_buildskip
+jbr    L142
+L389:moval     L390,-76(fp)
+movl   _yylval,-20(fp)
+movl   _tokptr,-80(fp)
+calls  $0,_yylex
+movl   r0,r8
+cmpl   _passno,$1
+jneq   L391
+jbs    $1,_tokensets[r8],L392
+cvtbl  *_tokptr,r0
+bitb   $112,_tokensets[r0]
+jneq   L392
+jbc    $2,_tokensets[r8],L393
+pushl  _yylval
+pushl  r8
+calls  $2,_yukkyexpr
+movl   r0,r11
+jbr    L394
+L393:movl      _yylval,r11
+L394:calls     $0,_yylex
+movl   r0,r8
+jbr    L395
+L392:pushl     -8(fp)
+pushl  r8
+calls  $2,_exprparse
+movl   r0,r8
+movl   -4(fp),r11
+L395:bitl      $224,(r11)
+jneq   L396
+pushal L397
+jbr    L2000002
+L396:movl      -20(fp),r0
+cvtlb  (r11),13(r0)
+cmpl   r8,$72
+jneq   L2000046
+calls  $0,_yylex
+movl   r0,r8
+jbs    $1,_tokensets[r8],L399
+cvtbl  *_tokptr,r0
+bitb   $112,_tokensets[r0]
+jneq   L399
+jbc    $2,_tokensets[r8],L400
+pushl  _yylval
+pushl  r8
+calls  $2,_yukkyexpr
+movl   r0,r11
+jbr    L401
+L400:movl      _yylval,r11
+L401:calls     $0,_yylex
+movl   r0,r8
+jbr    L402
+L399:pushl     -8(fp)
+pushl  r8
+calls  $2,_exprparse
+movl   r0,r8
+movl   -4(fp),r11
+L402:movl      -20(fp),r0
+cvtlb  (r11),5(r0)
+cmpl   r8,$72
+jneq   L2000046
+calls  $0,_yylex
+movl   r0,r8
+jbs    $1,_tokensets[r8],L404
+cvtbl  *_tokptr,r0
+bitb   $112,_tokensets[r0]
+jneq   L404
+jbc    $2,_tokensets[r8],L405
+pushl  _yylval
+pushl  r8
+calls  $2,_yukkyexpr
+movl   r0,r11
+jbr    L406
+L405:movl      _yylval,r11
+L406:calls     $0,_yylex
+movl   r0,r8
+jbr    L407
+L404:pushl     -8(fp)
+pushl  r8
+calls  $2,_exprparse
+movl   r0,r8
+movl   -4(fp),r11
+L407:movl      -20(fp),r0
+cvtlw  (r11),6(r0)
+subl3  $1,_tokptr,-(sp)
+pushl  -80(fp)
+calls  $2,_buildskip
+L391:movl      -20(fp),r0
+movl   *_dotp,8(r0)
+subl3  $_usedot,_dotp,r0
+divl2  $28,r0
+movl   -20(fp),r1
+cvtlw  r0,16(r1)
+movl   -20(fp),r0
+movb   $247,12(r0)
+jbr    L142
+L408:moval     L409,-76(fp)
+jbr    L410
+L411:moval     L412,-76(fp)
+L410:movl      r8,r7
+cmpl   _passno,$2
+jeql   L547
+movl   _yylval,-20(fp)
+movl   _tokptr,-80(fp)
+subl2  $4,-80(fp)
+decl   -80(fp)
+calls  $0,_yylex
+movl   r0,r8
+cmpl   r7,$27
+jneq   L414
+movl   _yylval,-24(fp)
+cmpl   r8,$42
+jneq   L2000045
+calls  $0,_yylex
+movl   r0,r8
+movl   -24(fp),*-20(fp)
+movl   -24(fp),r0
+incw   6(r0)
+cmpl   r8,$72
+jneq   L2000046
+calls  $0,_yylex
+movl   r0,r8
+L345:jbs       $1,_tokensets[r8],L346
+cvtbl  *_tokptr,r0
+bitb   $112,_tokensets[r0]
+jneq   L346
+jbc    $2,_tokensets[r8],L347
+pushl  _yylval
+pushl  r8
+calls  $2,_yukkyexpr
+movl   r0,r11
+jbr    L348
+L414:pushl     $3
+pushl  $0
+pushal L418
+calls  $3,_savestr
+movl   r0,*-20(fp)
+jbr    L345
+L420:movl      r8,r7
+calls  $0,_yylex
+movl   r0,r8
+movl   _yylval,r10
+cmpl   r8,$41
+jneq   L2000044
+calls  $0,_yylex
+movl   r0,r8
+cmpl   r8,$72
+jneq   L2000046
+calls  $0,_yylex
+movl   r0,r8
+jbs    $1,_tokensets[r8],L423
+cvtbl  *_tokptr,r0
+bitb   $112,_tokensets[r0]
+jneq   L423
+jbc    $2,_tokensets[r8],L424
+pushl  _yylval
+pushl  r8
+calls  $2,_yukkyexpr
+movl   r0,r11
+jbr    L425
+L424:movl      _yylval,r11
+L425:calls     $0,_yylex
+movl   r0,r8
+jbr    L426
+L423:pushl     -8(fp)
+pushl  r8
+calls  $2,_exprparse
+movl   r0,r8
+movl   -4(fp),r11
+L426:cvtbl     20(r11),r0
+bicl2  $-31,r0
+cmpl   r0,$2
+jeql   L427
+pushal L428
+calls  $1,_yyerror
+L427:cmpl      _passno,$1
+jneq   L429
+bitb   $30,4(r10)
+jeql   L429
+addl3  $8,(r10),-(sp)
+pushal L430
+calls  $2,_yyerror
+L429:cmpl      _passno,$1
+jneq   L142
+movl   (r11),8(r10)
+cmpl   r7,$12
+jeql   L2000047
+bicb2  $30,4(r10)
+bisb2  $8,4(r10)
+jbr    L142
+L434:movl      _yylval,-20(fp)
+calls  $0,_yylex
+movl   r0,r8
+jbs    $1,_tokensets[r8],L435
+cvtbl  *_tokptr,r0
+bitb   $112,_tokensets[r0]
+jneq   L435
+jbc    $2,_tokensets[r8],L436
+pushl  _yylval
+pushl  r8
+calls  $2,_yukkyexpr
+movl   r0,r11
+jbr    L437
+L436:movl      _yylval,r11
+L437:calls     $0,_yylex
+movl   r0,r8
+jbr    L438
+L435:pushl     -8(fp)
+pushl  r8
+calls  $2,_exprparse
+movl   r0,r8
+movl   -4(fp),r11
+L438:pushl     -20(fp)
+pushl  r11
+calls  $2,_jalign
+jbr    L142
+L440:clrl      -92(fp)
+pushl  $0
+pushl  $0
+subl2  $4,sp
+movw   _yyopcode,(sp)
+calls  $3,_insout
+jbr    L2000017
+L443:movl      r8,r7
+moval  _arglist,r6
+moval  _explist,_xp
+calls  $0,_yylex
+movl   r0,r8
+movl   $1,r9
+L2000033:clrl  -44(fp)
+movl   -44(fp),-36(fp)
+movl   -36(fp),-40(fp)
+movl   r8,r0
+casel  r0,$43,$6
+L2000050:
+.word  L469-L2000050
+.word  L471-L2000050
+.word  L477-L2000050
+.word  L481-L2000050
+.word  L479-L2000050
+.word  L500-L2000050
+.word  L471-L2000050
+L450:bitb      $14,_tokensets[r8]
+jneq   L451
+pushal L452
+jbr    L2000002
+L451:jbs       $1,_tokensets[r8],L453
+cvtbl  *_tokptr,r0
+bitb   $112,_tokensets[r0]
+jneq   L453
+jbc    $2,_tokensets[r8],L454
+pushl  _yylval
+pushl  r8
+calls  $2,_yukkyexpr
+movl   r0,4(r6)
+jbr    L455
+L454:movl      _yylval,4(r6)
+L455:calls     $0,_yylex
+movl   r0,r8
+jbr    L457
+L453:pushl     -8(fp)
+pushl  r8
+calls  $2,_exprparse
+movl   r0,r8
+movl   -4(fp),4(r6)
+L457:cmpl      r8,$47
+jeql   L99988
+tstl   -44(fp)
+jeql   L458
+L99988:cmpl    r8,$47
+jeql   L459
+pushl  $47
+jbr    L2000043
+L459:calls     $0,_yylex
+movl   r0,r8
+cmpl   r8,$44
+jneq   L460
+movl   _yylval,-28(fp)
+calls  $0,_yylex
+L2000018:movl  r0,r8
+cmpl   r8,$75
+jeql   L465
+L2000048:pushl $75
+jbr    L2000043
+L2000020:calls $0,_yylex
+movl   r0,r8
+pushl  -32(fp)
+pushl  r8
+calls  $2,_funnyreg
+jbr    L2000018
+L460:cmpl      r8,$49
+jeql   L2000020
+pushal L464
+jbr    L2000002
+L465:calls     $0,_yylex
+movl   r0,r8
+cvtlb  $5,(r6)
+jbr    L2000021
+L458:cvtlb     $6,(r6)
+clrb   1(r6)
+jbr    L467
+L469:movl      _yylval,-44(fp)
+calls  $0,_yylex
+movl   r0,r8
+jbr    L450
+L471:cmpl      r8,$44
+jneq   L472
+movl   _yylval,-28(fp)
+calls  $0,_yylex
+L2000022:movl  r0,r8
+cvtlb  $1,(r6)
+cvtlb  -28(fp),1(r6)
+L447:tstl      -36(fp)
+jeql   L515
+cmpb   (r6),$2
+jneq   L516
+cvtlb  $5,(r6)
+movl   _xp,r0
+cvtlb  $2,20(r0)
+moval  _Znumber,r0
+movl   _xp,r1
+movc3  $20,(r0),(r1)
+movl   _xp,r0
+cvtlb  $2,16(r0)
+movl   _xp,r0
+clrb   21(r0)
+movl   _xp,4(r6)
+addl2  $28,_xp
+L516:bisb2     $8,(r6)
+clrl   -36(fp)
+L515:tstl      -40(fp)
+jeql   L517
+bisb2  $16,(r6)
+clrl   -40(fp)
+L517:tstl      -44(fp)
+jneq   L99987
+movl   _d124,r0
+jbr    L99986
+L472:cmpl      r8,$49
+jneq   L474
+calls  $0,_yylex
+movl   r0,r8
+pushl  -32(fp)
+pushl  r8
+calls  $2,_funnyreg
+jbr    L2000022
+L474:pushal    L476
+jbr    L2000002
+L477:movl      $1,-36(fp)
+calls  $0,_yylex
+movl   r0,r8
+cmpl   r8,$47
+jeql   L479
+cmpl   r8,$46
+jeql   L481
+cmpl   r8,$43
+jeql   L469
+bitb   $14,_tokensets[r8]
+jneq   L450
+pushal L484
+jbr    L2000002
+L479:calls     $0,_yylex
+movl   r0,r8
+cmpl   r8,$44
+jeql   L486
+cmpl   r8,$49
+jeql   L486
+movl   $1,_droppedLP
+addl3  $4,r6,-(sp)
+pushl  r8
+calls  $2,_exprparse
+movl   r0,r8
+clrl   _droppedLP
+jbr    L457
+L486:cmpl      r8,$44
+jneq   L487
+movl   _yylval,-28(fp)
+calls  $0,_yylex
+L2000023:movl  r0,r8
+cmpl   r8,$75
+jeql   L492
+jbr    L2000048
+L2000025:calls $0,_yylex
+movl   r0,r8
+pushl  -32(fp)
+pushl  r8
+calls  $2,_funnyreg
+jbr    L2000023
+L487:cmpl      r8,$49
+jeql   L2000025
+pushal L491
+jbr    L2000002
+L492:calls     $0,_yylex
+movl   r0,r8
+cmpl   r8,$67
+jneq   L493
+calls  $0,_yylex
+movl   r0,r8
+cvtlb  $4,(r6)
+jbr    L2000021
+L493:cvtlb     $2,(r6)
+jbr    L2000021
+L481:calls     $0,_yylex
+movl   r0,r8
+jbs    $1,_tokensets[r8],L496
+cvtbl  *_tokptr,r0
+bitb   $112,_tokensets[r0]
+jneq   L496
+jbc    $2,_tokensets[r8],L497
+pushl  _yylval
+pushl  r8
+calls  $2,_yukkyexpr
+movl   r0,r11
+jbr    L498
+L497:movl      _yylval,r11
+L498:calls     $0,_yylex
+movl   r0,r8
+jbr    L499
+L496:pushl     -8(fp)
+pushl  r8
+calls  $2,_exprparse
+movl   r0,r8
+movl   -4(fp),r11
+L499:cvtlb     $7,(r6)
+clrb   1(r6)
+movl   r11,4(r6)
+jbr    L467
+L500:calls     $0,_yylex
+movl   r0,r8
+cmpl   r8,$44
+jneq   L501
+movl   _yylval,-28(fp)
+calls  $0,_yylex
+L2000026:movl  r0,r8
+cmpl   r8,$75
+jeql   L506
+jbr    L2000048
+L2000028:calls $0,_yylex
+movl   r0,r8
+pushl  -32(fp)
+pushl  r8
+calls  $2,_funnyreg
+jbr    L2000026
+L501:cmpl      r8,$49
+jeql   L2000028
+pushal L505
+jbr    L2000002
+L506:calls     $0,_yylex
+movl   r0,r8
+cvtlb  $3,(r6)
+L2000021:cvtlb -28(fp),1(r6)
+L467:cmpl      r8,$73
+jneq   L447
+calls  $0,_yylex
+movl   r0,r8
+cmpl   r8,$44
+jneq   L508
+movl   _yylval,-28(fp)
+calls  $0,_yylex
+L2000029:movl  r0,r8
+cmpl   r8,$74
+jeql   L513
+pushl  $74
+jbr    L2000043
+L2000031:calls $0,_yylex
+movl   r0,r8
+pushl  -32(fp)
+pushl  r8
+calls  $2,_funnyreg
+jbr    L2000029
+L508:cmpl      r8,$49
+jeql   L2000031
+pushal L512
+jbr    L2000002
+L513:calls     $0,_yylex
+movl   r0,r8
+movl   $1,-40(fp)
+cvtlb  -28(fp),2(r6)
+jbr    L447
+L99987:movl    -44(fp),r0
+L99986:cvtlb   r0,3(r6)
+cmpl   r8,$72
+jneq   L445
+cmpl   r8,$72
+jneq   L2000046
+calls  $0,_yylex
+movl   r0,r8
+incl   r9
+addl2  $8,r6
+cmpl   r9,$6
+jleq   L2000033
+L445:cmpl      r9,$6
+jleq   L520
+pushal L521
+jbr    L2000002
+L520:tstb      _yyopcode
+jneq   L522
+movzbl _yyopcode+1,r0
+cmpl   r0,$143
+jeql   L527
+cmpl   r0,$175
+jeql   L527
+cmpl   r0,$207
+jneq   L528
+L527:incl      -92(fp)
+jbr    L522
+L2000035:movl  r9,r0
+jbr    L99984
+L528:clrl      -92(fp)
+L522:cmpl      r7,$33
+jeql   L2000035
+mnegl  r9,r0
+L99984:pushl   r0
+pushal _arglist
+subl2  $4,sp
+movw   _yyopcode,(sp)
+calls  $3,_insout
+jbr    L142
+L529:movl      $3,-88(fp)
+jbr    L530
+L2000037:moval L541,r0
+jbr    L99981
+L531:movl      $4,-88(fp)
+jbr    L530
+L532:movl      $5,-88(fp)
+jbr    L530
+L533:movl      $6,-88(fp)
+jbr    L530
+L534:movl      $7,-88(fp)
+jbr    L530
+L535:movl      $8,-88(fp)
+L530:calls     $0,_yylex
+movl   r0,r8
+cmpl   r8,$40
+jeql   L539
+cmpl   r8,$39
+jneq   L142
+L539:cmpl      r8,$40
+jeql   L540
+cmpl   r8,$39
+jeql   L540
+movl   -88(fp),r0
+tstl   _ty_float[r0]
+jneq   L2000037
+moval  L542,r0
+L99981:pushl   r0
+jbr    L2000002
+L540:movl      -88(fp),r0
+addl2  _ty_nbyte[r0],*_dotp
+cmpl   _passno,$2
+jneq   L543
+pushl  -88(fp)
+movl   _yylval,r0
+subl2  $20,sp
+movc3  $20,(r0),(sp)
+calls  $6,_bignumwrite
+L543:moval     _explist,_xp
+calls  $0,_yylex
+movl   r0,r8
+cmpl   r8,$72
+jneq   L99980
+movl   $1,r0
+jbr    L99979
+L99980:clrl    r0
+L99979:movl    r0,r7
+jeql   L538
+calls  $0,_yylex
+movl   r0,r8
+L538:tstl      r7
+jneq   L539
+jbr    L142
+L548:cmpl      r8,$50
+jneq   L2000017
+incl   _lineno
+jbr    L2000017
+.align 1
+.globl _funnyreg
+.data  1
+L559:.ascii    "Illegal register\0"
+.text
+.set   L550,0x800
+.data
+.text
+_funnyreg:.word        L550
+subl2  $8,sp
+moval  -4(fp),-8(fp)
+movl   4(ap),r0
+jbs    $1,_tokensets[r0],L554
+cvtbl  *_tokptr,r0
+bitb   $112,_tokensets[r0]
+jneq   L554
+movl   4(ap),r0
+jbc    $2,_tokensets[r0],L555
+pushl  _yylval
+pushl  r0
+calls  $2,_yukkyexpr
+movl   r0,r11
+jbr    L556
+L555:movl      _yylval,r11
+L556:calls     $0,_yylex
+movl   r0,4(ap)
+jbr    L557
+L554:pushl     -8(fp)
+pushl  4(ap)
+calls  $2,_exprparse
+movl   r0,4(ap)
+movl   -4(fp),r11
+L557:cmpl      _passno,$2
+jneq   L558
+cvtbl  20(r11),r0
+bicl2  $-31,r0
+cmpl   r0,$2
+jneq   L99978
+tstl   (r11)
+jlss   L99978
+cmpl   (r11),$16
+jlss   L558
+L99978:pushal  L559
+calls  $1,_yyerror
+clrl   r0
+ret
+L558:movl      (r11),*8(ap)
+movl   4(ap),r0
+ret
+.align 1
+.globl _shiftoerror
+.data  1
+L565:.ascii    "%s expected\0"
+.text
+.set   L560,0x0
+.data
+.text
+_shiftoerror:.word     L560
+pushl  4(ap)
+calls  $1,_tok_to_name
+pushl  r0
+pushal L565
+calls  $2,_yyerror
+ret
+.align 1
+.globl _yyerror
+.data  1
+L572:.ascii    "Assembler\72\12\0"
+.text
+.data  1
+L574:.ascii    "\"%s\", line %d\72 \0"
+.text
+.data  1
+L575:.ascii    "\12\0"
+.text
+.set   L566,0x0
+.data
+.text
+_yyerror:.word L566
+tstl   _anyerrs
+jneq   L570
+tstl   _anywarnings
+jneq   L570
+tstl   _silent
+jneq   L570
+pushal L572
+pushal __iob+20
+calls  $2,_fprintf
+L570:incl      _anyerrs
+tstl   _silent
+jeql   L573
+ret
+L573:pushl     _lineno
+pushl  _dotsname
+pushal L574
+pushal __iob+20
+calls  $4,_fprintf
+pushl  24(ap)
+pushl  20(ap)
+pushl  16(ap)
+pushl  12(ap)
+pushl  8(ap)
+pushl  4(ap)
+pushal __iob+20
+calls  $7,_fprintf
+pushal L575
+pushal __iob+20
+calls  $2,_fprintf
+ret
+.align 1
+.globl _yywarning
+.data  1
+L582:.ascii    "Assembler\72\12\0"
+.text
+.data  1
+L584:.ascii    "\"%s\", line %d\72 WARNING\72 \0"
+.text
+.data  1
+L585:.ascii    "\12\0"
+.text
+.set   L577,0x0
+.data
+.text
+_yywarning:.word       L577
+tstl   _anyerrs
+jneq   L581
+tstl   _anywarnings
+jneq   L581
+tstl   _silent
+jneq   L581
+pushal L582
+pushal __iob+20
+calls  $2,_fprintf
+L581:incl      _anywarnings
+tstl   _silent
+jeql   L583
+ret
+L583:pushl     _lineno
+pushl  _dotsname
+pushal L584
+pushal __iob+20
+calls  $4,_fprintf
+pushl  24(ap)
+pushl  20(ap)
+pushl  16(ap)
+pushl  12(ap)
+pushl  8(ap)
+pushl  4(ap)
+pushal __iob+20
+calls  $7,_fprintf
+pushal L585
+pushal __iob+20
+calls  $2,_fprintf
+ret
+
diff --git a/bin/as/test/aspseudo.o.ok b/bin/as/test/aspseudo.o.ok
new file mode 100644 (file)
index 0000000..7d1390e
Binary files /dev/null and b/bin/as/test/aspseudo.o.ok differ
diff --git a/bin/as/test/aspseudo.s b/bin/as/test/aspseudo.s
new file mode 100644 (file)
index 0000000..e7b996d
--- /dev/null
@@ -0,0 +1,3244 @@
+LL0:
+       .data
+       .data
+_sccsid:
+       .long   0x29232840
+       .long   0x73707361
+       .long   0x6f647565
+       .long   0x3509632e
+       .long   0x2820312e
+       .long   0x6b726542
+       .long   0x79656c65
+       .long   0x2f342029
+       .long   0x382f3033
+       .long   0x35
+       .comm   _rusefile,32
+       .comm   _relfil,4
+       .align  2
+       .globl  _instab
+_instab:
+       .data   2
+L105:
+       .ascii  "\0\0\0\0\2\0\5\0.byte\0"
+       .data
+       .long   L105
+       .long   0x0
+       .long   0x0
+       .long   0x2
+       .data   2
+L106:
+       .ascii  "\0\0\0\0\2\0\5\0.word\0"
+       .data
+       .long   L106
+       .long   0x0
+       .long   0x0
+       .long   0x3
+       .data   2
+L107:
+       .ascii  "\0\0\0\0\2\0\4\0.int\0"
+       .data
+       .long   L107
+       .long   0x0
+       .long   0x0
+       .long   0x4
+       .data   2
+L108:
+       .ascii  "\0\0\0\0\2\0\5\0.long\0"
+       .data
+       .long   L108
+       .long   0x0
+       .long   0x0
+       .long   0x5
+       .data   2
+L109:
+       .ascii  "\0\0\0\0\2\0\5\0.quad\0"
+       .data
+       .long   L109
+       .long   0x0
+       .long   0x0
+       .long   0x6
+       .data   2
+L110:
+       .ascii  "\0\0\0\0\2\0\5\0.octa\0"
+       .data
+       .long   L110
+       .long   0x0
+       .long   0x0
+       .long   0x7
+       .data   2
+L111:
+       .ascii  "\0\0\0\0\2\0\6\0.float\0"
+       .data
+       .long   L111
+       .long   0x0
+       .long   0x0
+       .long   0xe
+       .data   2
+L112:
+       .ascii  "\0\0\0\0\2\0\7\0.double\0"
+       .data
+       .long   L112
+       .long   0x0
+       .long   0x0
+       .long   0xf
+       .data   2
+L113:
+       .ascii  "\0\0\0\0\2\0\7\0.ffloat\0"
+       .data
+       .long   L113
+       .long   0x0
+       .long   0x0
+       .long   0xe
+       .data   2
+L114:
+       .ascii  "\0\0\0\0\2\0\7\0.dfloat\0"
+       .data
+       .long   L114
+       .long   0x0
+       .long   0x0
+       .long   0xf
+       .data   2
+L115:
+       .ascii  "\0\0\0\0\2\0\7\0.gfloat\0"
+       .data
+       .long   L115
+       .long   0x0
+       .long   0x0
+       .long   0x10
+       .data   2
+L116:
+       .ascii  "\0\0\0\0\2\0\7\0.hfloat\0"
+       .data
+       .long   L116
+       .long   0x0
+       .long   0x0
+       .long   0x11
+       .data   2
+L117:
+       .ascii  "\0\0\0\0\2\0\6\0.space\0"
+       .data
+       .long   L117
+       .long   0x0
+       .long   0x0
+       .long   0x1
+       .data   2
+L118:
+       .ascii  "\0\0\0\0\2\0\5\0.fill\0"
+       .data
+       .long   L118
+       .long   0x0
+       .long   0x0
+       .long   0x19
+       .data   2
+L119:
+       .ascii  "\0\0\0\0\2\0\6\0.ascii\0"
+       .data
+       .long   L119
+       .long   0x0
+       .long   0x0
+       .long   0x13
+       .data   2
+L120:
+       .ascii  "\0\0\0\0\2\0\6\0.asciz\0"
+       .data
+       .long   L120
+       .long   0x0
+       .long   0x0
+       .long   0x14
+       .data   2
+L121:
+       .ascii  "\0\0\0\0\2\0\5\0.data\0"
+       .data
+       .long   L121
+       .long   0x0
+       .long   0x0
+       .long   0x8
+       .data   2
+L122:
+       .ascii  "\0\0\0\0\2\0\5\0.text\0"
+       .data
+       .long   L122
+       .long   0x0
+       .long   0x0
+       .long   0xb
+       .data   2
+L123:
+       .ascii  "\0\0\0\0\2\0\6\0.align\0"
+       .data
+       .long   L123
+       .long   0x0
+       .long   0x0
+       .long   0x1f
+       .data   2
+L124:
+       .ascii  "\0\0\0\0\2\0\5\0.line\0"
+       .data
+       .long   L124
+       .long   0x0
+       .long   0x0
+       .long   0x17
+       .data   2
+L125:
+       .ascii  "\0\0\0\0\2\0\5\0.file\0"
+       .data
+       .long   L125
+       .long   0x0
+       .long   0x0
+       .long   0x16
+       .data   2
+L126:
+       .ascii  "\0\0\0\0\2\0\6\0.globl\0"
+       .data
+       .long   L126
+       .long   0x0
+       .long   0x0
+       .long   0x9
+       .data   2
+L127:
+       .ascii  "\0\0\0\0\2\0\5\0.comm\0"
+       .data
+       .long   L127
+       .long   0x0
+       .long   0x0
+       .long   0xc
+       .data   2
+L128:
+       .ascii  "\0\0\0\0\2\0\6\0.lcomm\0"
+       .data
+       .long   L128
+       .long   0x0
+       .long   0x0
+       .long   0xd
+       .data   2
+L129:
+       .ascii  "\0\0\0\0\2\0\4\0.set\0"
+       .data
+       .long   L129
+       .long   0x0
+       .long   0x0
+       .long   0xa
+       .data   2
+L130:
+       .ascii  "\0\0\0\0\2\0\5\0.lsym\0"
+       .data
+       .long   L130
+       .long   0x0
+       .long   0x0
+       .long   0x15
+       .data   2
+L131:
+       .ascii  "\0\0\0\0\2\0\4\0.org\0"
+       .data
+       .long   L131
+       .long   0x0
+       .long   0x0
+       .long   0x12
+       .data   2
+L132:
+       .ascii  "\0\0\0\0\2\0\5\0.stab\0"
+       .data
+       .long   L132
+       .long   0x0
+       .long   0x0
+       .long   0x1a
+       .data   2
+L133:
+       .ascii  "\0\0\0\0\2\0\6\0.stabd\0"
+       .data
+       .long   L133
+       .long   0x0
+       .long   0x0
+       .long   0x1d
+       .data   2
+L134:
+       .ascii  "\0\0\0\0\2\0\6\0.stabn\0"
+       .data
+       .long   L134
+       .long   0x0
+       .long   0x0
+       .long   0x1c
+       .data   2
+L135:
+       .ascii  "\0\0\0\0\2\0\6\0.stabs\0"
+       .data
+       .long   L135
+       .long   0x0
+       .long   0x0
+       .long   0x1b
+       .data   2
+L136:
+       .ascii  "\0\0\0\0\2\0\6\0.ABORT\0"
+       .data
+       .long   L136
+       .long   0x0
+       .long   0x0
+       .long   0x18
+       .data   2
+L137:
+       .ascii  "\0\0\0\0\2\0\3\0jbc\0"
+       .data
+       .long   L137
+       .long   0xe1
+       .long   0x0
+       .long   0x1e
+       .data   2
+L138:
+       .ascii  "\0\0\0\0\2\0\4\0jlbc\0"
+       .data
+       .long   L138
+       .long   0xe9
+       .long   0x0
+       .long   0x1e
+       .data   2
+L139:
+       .ascii  "\0\0\0\0\2\0\3\0jbs\0"
+       .data
+       .long   L139
+       .long   0xe0
+       .long   0x0
+       .long   0x1e
+       .data   2
+L140:
+       .ascii  "\0\0\0\0\2\0\4\0jlbs\0"
+       .data
+       .long   L140
+       .long   0xe8
+       .long   0x0
+       .long   0x1e
+       .data   2
+L141:
+       .ascii  "\0\0\0\0\2\0\4\0jbcc\0"
+       .data
+       .long   L141
+       .long   0xe5
+       .long   0x0
+       .long   0x1e
+       .data   2
+L142:
+       .ascii  "\0\0\0\0\2\0\4\0jbsc\0"
+       .data
+       .long   L142
+       .long   0xe4
+       .long   0x0
+       .long   0x1e
+       .data   2
+L143:
+       .ascii  "\0\0\0\0\2\0\4\0jbcs\0"
+       .data
+       .long   L143
+       .long   0xe3
+       .long   0x0
+       .long   0x1e
+       .data   2
+L144:
+       .ascii  "\0\0\0\0\2\0\4\0jbss\0"
+       .data
+       .long   L144
+       .long   0xe2
+       .long   0x0
+       .long   0x1e
+       .data   2
+L145:
+       .ascii  "\0\0\0\0\2\0\3\0jbr\0"
+       .data
+       .long   L145
+       .long   0x11
+       .long   0x0
+       .long   0x1e
+       .data   2
+L146:
+       .ascii  "\0\0\0\0\2\0\3\0jcc\0"
+       .data
+       .long   L146
+       .long   0x1e
+       .long   0x0
+       .long   0x1e
+       .data   2
+L147:
+       .ascii  "\0\0\0\0\2\0\3\0jcs\0"
+       .data
+       .long   L147
+       .long   0x1f
+       .long   0x0
+       .long   0x1e
+       .data   2
+L148:
+       .ascii  "\0\0\0\0\2\0\3\0jvc\0"
+       .data
+       .long   L148
+       .long   0x1c
+       .long   0x0
+       .long   0x1e
+       .data   2
+L149:
+       .ascii  "\0\0\0\0\2\0\3\0jvs\0"
+       .data
+       .long   L149
+       .long   0x1d
+       .long   0x0
+       .long   0x1e
+       .data   2
+L150:
+       .ascii  "\0\0\0\0\2\0\4\0jlss\0"
+       .data
+       .long   L150
+       .long   0x19
+       .long   0x0
+       .long   0x1e
+       .data   2
+L151:
+       .ascii  "\0\0\0\0\2\0\5\0jlssu\0"
+       .data
+       .long   L151
+       .long   0x1f
+       .long   0x0
+       .long   0x1e
+       .data   2
+L152:
+       .ascii  "\0\0\0\0\2\0\4\0jleq\0"
+       .data
+       .long   L152
+       .long   0x15
+       .long   0x0
+       .long   0x1e
+       .data   2
+L153:
+       .ascii  "\0\0\0\0\2\0\5\0jlequ\0"
+       .data
+       .long   L153
+       .long   0x1b
+       .long   0x0
+       .long   0x1e
+       .data   2
+L154:
+       .ascii  "\0\0\0\0\2\0\4\0jeql\0"
+       .data
+       .long   L154
+       .long   0x13
+       .long   0x0
+       .long   0x1e
+       .data   2
+L155:
+       .ascii  "\0\0\0\0\2\0\5\0jeqlu\0"
+       .data
+       .long   L155
+       .long   0x13
+       .long   0x0
+       .long   0x1e
+       .data   2
+L156:
+       .ascii  "\0\0\0\0\2\0\4\0jneq\0"
+       .data
+       .long   L156
+       .long   0x12
+       .long   0x0
+       .long   0x1e
+       .data   2
+L157:
+       .ascii  "\0\0\0\0\2\0\5\0jnequ\0"
+       .data
+       .long   L157
+       .long   0x12
+       .long   0x0
+       .long   0x1e
+       .data   2
+L158:
+       .ascii  "\0\0\0\0\2\0\4\0jgeq\0"
+       .data
+       .long   L158
+       .long   0x18
+       .long   0x0
+       .long   0x1e
+       .data   2
+L159:
+       .ascii  "\0\0\0\0\2\0\5\0jgequ\0"
+       .data
+       .long   L159
+       .long   0x1e
+       .long   0x0
+       .long   0x1e
+       .data   2
+L160:
+       .ascii  "\0\0\0\0\2\0\4\0jgtr\0"
+       .data
+       .long   L160
+       .long   0x14
+       .long   0x0
+       .long   0x1e
+       .data   2
+L161:
+       .ascii  "\0\0\0\0\2\0\5\0jgtru\0"
+       .data
+       .long   L161
+       .long   0x1a
+       .long   0x0
+       .long   0x1e
+       .data   2
+L162:
+       .ascii  "\0\0\0\0\2\0\2\0r0\0"
+       .data
+       .long   L162
+       .long   0x0
+       .long   0x0
+       .long   0x2c
+       .data   2
+L163:
+       .ascii  "\0\0\0\0\2\0\2\0r1\0"
+       .data
+       .long   L163
+       .long   0x1
+       .long   0x0
+       .long   0x2c
+       .data   2
+L164:
+       .ascii  "\0\0\0\0\2\0\2\0r2\0"
+       .data
+       .long   L164
+       .long   0x2
+       .long   0x0
+       .long   0x2c
+       .data   2
+L165:
+       .ascii  "\0\0\0\0\2\0\2\0r3\0"
+       .data
+       .long   L165
+       .long   0x3
+       .long   0x0
+       .long   0x2c
+       .data   2
+L166:
+       .ascii  "\0\0\0\0\2\0\2\0r4\0"
+       .data
+       .long   L166
+       .long   0x4
+       .long   0x0
+       .long   0x2c
+       .data   2
+L167:
+       .ascii  "\0\0\0\0\2\0\2\0r5\0"
+       .data
+       .long   L167
+       .long   0x5
+       .long   0x0
+       .long   0x2c
+       .data   2
+L168:
+       .ascii  "\0\0\0\0\2\0\2\0r6\0"
+       .data
+       .long   L168
+       .long   0x6
+       .long   0x0
+       .long   0x2c
+       .data   2
+L169:
+       .ascii  "\0\0\0\0\2\0\2\0r7\0"
+       .data
+       .long   L169
+       .long   0x7
+       .long   0x0
+       .long   0x2c
+       .data   2
+L170:
+       .ascii  "\0\0\0\0\2\0\2\0r8\0"
+       .data
+       .long   L170
+       .long   0x8
+       .long   0x0
+       .long   0x2c
+       .data   2
+L171:
+       .ascii  "\0\0\0\0\2\0\2\0r9\0"
+       .data
+       .long   L171
+       .long   0x9
+       .long   0x0
+       .long   0x2c
+       .data   2
+L172:
+       .ascii  "\0\0\0\0\2\0\3\0r10\0"
+       .data
+       .long   L172
+       .long   0xa
+       .long   0x0
+       .long   0x2c
+       .data   2
+L173:
+       .ascii  "\0\0\0\0\2\0\3\0r11\0"
+       .data
+       .long   L173
+       .long   0xb
+       .long   0x0
+       .long   0x2c
+       .data   2
+L174:
+       .ascii  "\0\0\0\0\2\0\3\0r12\0"
+       .data
+       .long   L174
+       .long   0xc
+       .long   0x0
+       .long   0x2c
+       .data   2
+L175:
+       .ascii  "\0\0\0\0\2\0\3\0r13\0"
+       .data
+       .long   L175
+       .long   0xd
+       .long   0x0
+       .long   0x2c
+       .data   2
+L176:
+       .ascii  "\0\0\0\0\2\0\3\0r14\0"
+       .data
+       .long   L176
+       .long   0xe
+       .long   0x0
+       .long   0x2c
+       .data   2
+L177:
+       .ascii  "\0\0\0\0\2\0\3\0r15\0"
+       .data
+       .long   L177
+       .long   0xf
+       .long   0x0
+       .long   0x2c
+       .data   2
+L178:
+       .ascii  "\0\0\0\0\2\0\2\0ap\0"
+       .data
+       .long   L178
+       .long   0xc
+       .long   0x0
+       .long   0x2c
+       .data   2
+L179:
+       .ascii  "\0\0\0\0\2\0\2\0fp\0"
+       .data
+       .long   L179
+       .long   0xd
+       .long   0x0
+       .long   0x2c
+       .data   2
+L180:
+       .ascii  "\0\0\0\0\2\0\2\0sp\0"
+       .data
+       .long   L180
+       .long   0xe
+       .long   0x0
+       .long   0x2c
+       .data   2
+L181:
+       .ascii  "\0\0\0\0\2\0\2\0pc\0"
+       .data
+       .long   L181
+       .long   0xf
+       .long   0x0
+       .long   0x2c
+       .data   2
+L182:
+       .ascii  "\0\0\0\0\2\0\4\0chmk\0"
+       .data
+       .long   L182
+       .long   0x1101bc
+       .long   0x0
+       .long   0x21
+       .data   2
+L183:
+       .ascii  "\0\0\0\0\2\0\4\0chme\0"
+       .data
+       .long   L183
+       .long   0x1101bd
+       .long   0x0
+       .long   0x21
+       .data   2
+L184:
+       .ascii  "\0\0\0\0\2\0\4\0chms\0"
+       .data
+       .long   L184
+       .long   0x1101be
+       .long   0x0
+       .long   0x21
+       .data   2
+L185:
+       .ascii  "\0\0\0\0\2\0\4\0chmu\0"
+       .data
+       .long   L185
+       .long   0x1101bf
+       .long   0x0
+       .long   0x21
+       .data   2
+L186:
+       .ascii  "\0\0\0\0\2\0\6\0prober\0"
+       .data
+       .long   L186
+       .long   0x1110030c
+       .long   0x80
+       .long   0x21
+       .data   2
+L187:
+       .ascii  "\0\0\0\0\2\0\6\0probew\0"
+       .data
+       .long   L187
+       .long   0x1110030d
+       .long   0x80
+       .long   0x21
+       .data   2
+L188:
+       .ascii  "\0\0\0\0\2\0\3\0rei\0"
+       .data
+       .long   L188
+       .long   0x2
+       .long   0x0
+       .long   0x20
+       .data   2
+L189:
+       .ascii  "\0\0\0\0\2\0\6\0ldpctx\0"
+       .data
+       .long   L189
+       .long   0x6
+       .long   0x0
+       .long   0x20
+       .data   2
+L190:
+       .ascii  "\0\0\0\0\2\0\6\0svpctx\0"
+       .data
+       .long   L190
+       .long   0x7
+       .long   0x0
+       .long   0x20
+       .data   2
+L191:
+       .ascii  "\0\0\0\0\2\0\4\0mtpr\0"
+       .data
+       .long   L191
+       .long   0x121202da
+       .long   0x0
+       .long   0x21
+       .data   2
+L192:
+       .ascii  "\0\0\0\0\2\0\4\0mfpr\0"
+       .data
+       .long   L192
+       .long   0x221202db
+       .long   0x0
+       .long   0x21
+       .data   2
+L193:
+       .ascii  "\0\0\0\0\2\0\3\0xfc\0"
+       .data
+       .long   L193
+       .long   0xfc
+       .long   0x0
+       .long   0x20
+       .data   2
+L194:
+       .ascii  "\0\0\0\0\2\0\3\0bpt\0"
+       .data
+       .long   L194
+       .long   0x3
+       .long   0x0
+       .long   0x20
+       .data   2
+L195:
+       .ascii  "\0\0\0\0\2\0\4\0bugw\0"
+       .data
+       .long   L195
+       .long   0x1101fe
+       .long   0x0
+       .long   0xff21
+       .data   2
+L196:
+       .ascii  "\0\0\0\0\2\0\4\0bugl\0"
+       .data
+       .long   L196
+       .long   0x1201fd
+       .long   0x0
+       .long   0xff21
+       .data   2
+L197:
+       .ascii  "\0\0\0\0\2\0\4\0halt\0"
+       .data
+       .long   L197
+       .long   0x0
+       .long   0x0
+       .long   0x20
+       .data   2
+L198:
+       .ascii  "\0\0\0\0\2\0\4\0movb\0"
+       .data
+       .long   L198
+       .long   0x20100290
+       .long   0x0
+       .long   0x21
+       .data   2
+L199:
+       .ascii  "\0\0\0\0\2\0\4\0movw\0"
+       .data
+       .long   L199
+       .long   0x211102b0
+       .long   0x0
+       .long   0x21
+       .data   2
+L200:
+       .ascii  "\0\0\0\0\2\0\4\0movl\0"
+       .data
+       .long   L200
+       .long   0x221202d0
+       .long   0x0
+       .long   0x21
+       .data   2
+L201:
+       .ascii  "\0\0\0\0\2\0\4\0movq\0"
+       .data
+       .long   L201
+       .long   0x2313027d
+       .long   0x0
+       .long   0x21
+       .data   2
+L202:
+       .ascii  "\0\0\0\0\2\0\4\0movo\0"
+       .data
+       .long   L202
+       .long   0x2414027d
+       .long   0x0
+       .long   0xfd21
+       .data   2
+L203:
+       .ascii  "\0\0\0\0\2\0\4\0movf\0"
+       .data
+       .long   L203
+       .long   0x25150250
+       .long   0x0
+       .long   0x21
+       .data   2
+L204:
+       .ascii  "\0\0\0\0\2\0\4\0movd\0"
+       .data
+       .long   L204
+       .long   0x26160270
+       .long   0x0
+       .long   0x21
+       .data   2
+L205:
+       .ascii  "\0\0\0\0\2\0\4\0movg\0"
+       .data
+       .long   L205
+       .long   0x27170250
+       .long   0x0
+       .long   0xfd21
+       .data   2
+L206:
+       .ascii  "\0\0\0\0\2\0\4\0movh\0"
+       .data
+       .long   L206
+       .long   0x28180270
+       .long   0x0
+       .long   0xfd21
+       .data   2
+L207:
+       .ascii  "\0\0\0\0\2\0\5\0pushl\0"
+       .data
+       .long   L207
+       .long   0x1201dd
+       .long   0x0
+       .long   0x21
+       .data   2
+L208:
+       .ascii  "\0\0\0\0\2\0\4\0clrb\0"
+       .data
+       .long   L208
+       .long   0x200194
+       .long   0x0
+       .long   0x21
+       .data   2
+L209:
+       .ascii  "\0\0\0\0\2\0\4\0clrw\0"
+       .data
+       .long   L209
+       .long   0x2101b4
+       .long   0x0
+       .long   0x21
+       .data   2
+L210:
+       .ascii  "\0\0\0\0\2\0\4\0clrf\0"
+       .data
+       .long   L210
+       .long   0x2501d4
+       .long   0x0
+       .long   0x21
+       .data   2
+L211:
+       .ascii  "\0\0\0\0\2\0\4\0clrl\0"
+       .data
+       .long   L211
+       .long   0x2201d4
+       .long   0x0
+       .long   0x21
+       .data   2
+L212:
+       .ascii  "\0\0\0\0\2\0\4\0clrd\0"
+       .data
+       .long   L212
+       .long   0x26017c
+       .long   0x0
+       .long   0x21
+       .data   2
+L213:
+       .ascii  "\0\0\0\0\2\0\4\0clrg\0"
+       .data
+       .long   L213
+       .long   0x27017c
+       .long   0x0
+       .long   0x21
+       .data   2
+L214:
+       .ascii  "\0\0\0\0\2\0\4\0clrq\0"
+       .data
+       .long   L214
+       .long   0x23017c
+       .long   0x0
+       .long   0x21
+       .data   2
+L215:
+       .ascii  "\0\0\0\0\2\0\4\0clrh\0"
+       .data
+       .long   L215
+       .long   0x28017c
+       .long   0x0
+       .long   0xfd21
+       .data   2
+L216:
+       .ascii  "\0\0\0\0\2\0\4\0clro\0"
+       .data
+       .long   L216
+       .long   0x24017c
+       .long   0x0
+       .long   0xfd21
+       .data   2
+L217:
+       .ascii  "\0\0\0\0\2\0\5\0mnegb\0"
+       .data
+       .long   L217
+       .long   0x2010028e
+       .long   0x0
+       .long   0x21
+       .data   2
+L218:
+       .ascii  "\0\0\0\0\2\0\5\0mnegw\0"
+       .data
+       .long   L218
+       .long   0x211102ae
+       .long   0x0
+       .long   0x21
+       .data   2
+L219:
+       .ascii  "\0\0\0\0\2\0\5\0mnegl\0"
+       .data
+       .long   L219
+       .long   0x221202ce
+       .long   0x0
+       .long   0x21
+       .data   2
+L220:
+       .ascii  "\0\0\0\0\2\0\5\0mnegf\0"
+       .data
+       .long   L220
+       .long   0x25150252
+       .long   0x0
+       .long   0x21
+       .data   2
+L221:
+       .ascii  "\0\0\0\0\2\0\5\0mnegg\0"
+       .data
+       .long   L221
+       .long   0x27170252
+       .long   0x0
+       .long   0xfd21
+       .data   2
+L222:
+       .ascii  "\0\0\0\0\2\0\5\0mnegd\0"
+       .data
+       .long   L222
+       .long   0x26160272
+       .long   0x0
+       .long   0x21
+       .data   2
+L223:
+       .ascii  "\0\0\0\0\2\0\5\0mnegh\0"
+       .data
+       .long   L223
+       .long   0x28180272
+       .long   0x0
+       .long   0xfd21
+       .data   2
+L224:
+       .ascii  "\0\0\0\0\2\0\5\0mcomb\0"
+       .data
+       .long   L224
+       .long   0x20100292
+       .long   0x0
+       .long   0x21
+       .data   2
+L225:
+       .ascii  "\0\0\0\0\2\0\5\0mcomw\0"
+       .data
+       .long   L225
+       .long   0x211102b2
+       .long   0x0
+       .long   0x21
+       .data   2
+L226:
+       .ascii  "\0\0\0\0\2\0\5\0mcoml\0"
+       .data
+       .long   L226
+       .long   0x221202d2
+       .long   0x0
+       .long   0x21
+       .data   2
+L227:
+       .ascii  "\0\0\0\0\2\0\5\0cvtbw\0"
+       .data
+       .long   L227
+       .long   0x21100299
+       .long   0x0
+       .long   0x21
+       .data   2
+L228:
+       .ascii  "\0\0\0\0\2\0\5\0cvtbl\0"
+       .data
+       .long   L228
+       .long   0x22100298
+       .long   0x0
+       .long   0x21
+       .data   2
+L229:
+       .ascii  "\0\0\0\0\2\0\5\0cvtwb\0"
+       .data
+       .long   L229
+       .long   0x20110233
+       .long   0x0
+       .long   0x21
+       .data   2
+L230:
+       .ascii  "\0\0\0\0\2\0\5\0cvtwl\0"
+       .data
+       .long   L230
+       .long   0x22110232
+       .long   0x0
+       .long   0x21
+       .data   2
+L231:
+       .ascii  "\0\0\0\0\2\0\5\0cvtlb\0"
+       .data
+       .long   L231
+       .long   0x201202f6
+       .long   0x0
+       .long   0x21
+       .data   2
+L232:
+       .ascii  "\0\0\0\0\2\0\5\0cvtlw\0"
+       .data
+       .long   L232
+       .long   0x211202f7
+       .long   0x0
+       .long   0x21
+       .data   2
+L233:
+       .ascii  "\0\0\0\0\2\0\5\0cvtbf\0"
+       .data
+       .long   L233
+       .long   0x2510024c
+       .long   0x0
+       .long   0x21
+       .data   2
+L234:
+       .ascii  "\0\0\0\0\2\0\5\0cvtbd\0"
+       .data
+       .long   L234
+       .long   0x2610026c
+       .long   0x0
+       .long   0x21
+       .data   2
+L235:
+       .ascii  "\0\0\0\0\2\0\5\0cvtbg\0"
+       .data
+       .long   L235
+       .long   0x2710024c
+       .long   0x0
+       .long   0xfd21
+       .data   2
+L236:
+       .ascii  "\0\0\0\0\2\0\5\0cvtbh\0"
+       .data
+       .long   L236
+       .long   0x2810026c
+       .long   0x0
+       .long   0xfd21
+       .data   2
+L237:
+       .ascii  "\0\0\0\0\2\0\5\0cvtwf\0"
+       .data
+       .long   L237
+       .long   0x2511024d
+       .long   0x0
+       .long   0x21
+       .data   2
+L238:
+       .ascii  "\0\0\0\0\2\0\5\0cvtwd\0"
+       .data
+       .long   L238
+       .long   0x2611026d
+       .long   0x0
+       .long   0x21
+       .data   2
+L239:
+       .ascii  "\0\0\0\0\2\0\5\0cvtwg\0"
+       .data
+       .long   L239
+       .long   0x2711024d
+       .long   0x0
+       .long   0xfd21
+       .data   2
+L240:
+       .ascii  "\0\0\0\0\2\0\5\0cvtwh\0"
+       .data
+       .long   L240
+       .long   0x2811026d
+       .long   0x0
+       .long   0xfd21
+       .data   2
+L241:
+       .ascii  "\0\0\0\0\2\0\5\0cvtlf\0"
+       .data
+       .long   L241
+       .long   0x2512024e
+       .long   0x0
+       .long   0x21
+       .data   2
+L242:
+       .ascii  "\0\0\0\0\2\0\5\0cvtld\0"
+       .data
+       .long   L242
+       .long   0x2612026e
+       .long   0x0
+       .long   0x21
+       .data   2
+L243:
+       .ascii  "\0\0\0\0\2\0\5\0cvtlg\0"
+       .data
+       .long   L243
+       .long   0x2712024e
+       .long   0x0
+       .long   0xfd21
+       .data   2
+L244:
+       .ascii  "\0\0\0\0\2\0\5\0cvtlh\0"
+       .data
+       .long   L244
+       .long   0x2812026e
+       .long   0x0
+       .long   0xfd21
+       .data   2
+L245:
+       .ascii  "\0\0\0\0\2\0\5\0cvtfb\0"
+       .data
+       .long   L245
+       .long   0x20150248
+       .long   0x0
+       .long   0x21
+       .data   2
+L246:
+       .ascii  "\0\0\0\0\2\0\5\0cvtdb\0"
+       .data
+       .long   L246
+       .long   0x20160268
+       .long   0x0
+       .long   0x21
+       .data   2
+L247:
+       .ascii  "\0\0\0\0\2\0\5\0cvtgb\0"
+       .data
+       .long   L247
+       .long   0x20170248
+       .long   0x0
+       .long   0xfd21
+       .data   2
+L248:
+       .ascii  "\0\0\0\0\2\0\5\0cvthb\0"
+       .data
+       .long   L248
+       .long   0x20180268
+       .long   0x0
+       .long   0xfd21
+       .data   2
+L249:
+       .ascii  "\0\0\0\0\2\0\5\0cvtfw\0"
+       .data
+       .long   L249
+       .long   0x21150249
+       .long   0x0
+       .long   0x21
+       .data   2
+L250:
+       .ascii  "\0\0\0\0\2\0\5\0cvtdw\0"
+       .data
+       .long   L250
+       .long   0x21160269
+       .long   0x0
+       .long   0x21
+       .data   2
+L251:
+       .ascii  "\0\0\0\0\2\0\5\0cvtgw\0"
+       .data
+       .long   L251
+       .long   0x21170249
+       .long   0x0
+       .long   0xfd21
+       .data   2
+L252:
+       .ascii  "\0\0\0\0\2\0\5\0cvthw\0"
+       .data
+       .long   L252
+       .long   0x21180269
+       .long   0x0
+       .long   0xfd21
+       .data   2
+L253:
+       .ascii  "\0\0\0\0\2\0\5\0cvtfl\0"
+       .data
+       .long   L253
+       .long   0x2215024a
+       .long   0x0
+       .long   0x21
+       .data   2
+L254:
+       .ascii  "\0\0\0\0\2\0\6\0cvtrfl\0"
+       .data
+       .long   L254
+       .long   0x2215024b
+       .long   0x0
+       .long   0x21
+       .data   2
+L255:
+       .ascii  "\0\0\0\0\2\0\5\0cvtdl\0"
+       .data
+       .long   L255
+       .long   0x2216026a
+       .long   0x0
+       .long   0x21
+       .data   2
+L256:
+       .ascii  "\0\0\0\0\2\0\6\0cvtrdl\0"
+       .data
+       .long   L256
+       .long   0x2216026b
+       .long   0x0
+       .long   0x21
+       .data   2
+L257:
+       .ascii  "\0\0\0\0\2\0\5\0cvtgl\0"
+       .data
+       .long   L257
+       .long   0x2217024a
+       .long   0x0
+       .long   0xfd21
+       .data   2
+L258:
+       .ascii  "\0\0\0\0\2\0\6\0cvtrgl\0"
+       .data
+       .long   L258
+       .long   0x2217024b
+       .long   0x0
+       .long   0xfd21
+       .data   2
+L259:
+       .ascii  "\0\0\0\0\2\0\5\0cvthl\0"
+       .data
+       .long   L259
+       .long   0x2218026a
+       .long   0x0
+       .long   0xfd21
+       .data   2
+L260:
+       .ascii  "\0\0\0\0\2\0\6\0cvtrhl\0"
+       .data
+       .long   L260
+       .long   0x2218026b
+       .long   0x0
+       .long   0xfd21
+       .data   2
+L261:
+       .ascii  "\0\0\0\0\2\0\5\0cvtfd\0"
+       .data
+       .long   L261
+       .long   0x26150256
+       .long   0x0
+       .long   0x21
+       .data   2
+L262:
+       .ascii  "\0\0\0\0\2\0\5\0cvtfg\0"
+       .data
+       .long   L262
+       .long   0x27150299
+       .long   0x0
+       .long   0xfd21
+       .data   2
+L263:
+       .ascii  "\0\0\0\0\2\0\5\0cvtfh\0"
+       .data
+       .long   L263
+       .long   0x28150298
+       .long   0x0
+       .long   0xfd21
+       .data   2
+L264:
+       .ascii  "\0\0\0\0\2\0\5\0cvtdf\0"
+       .data
+       .long   L264
+       .long   0x25160276
+       .long   0x0
+       .long   0x21
+       .data   2
+L265:
+       .ascii  "\0\0\0\0\2\0\5\0cvtdh\0"
+       .data
+       .long   L265
+       .long   0x28160232
+       .long   0x0
+       .long   0xfd21
+       .data   2
+L266:
+       .ascii  "\0\0\0\0\2\0\5\0cvtgf\0"
+       .data
+       .long   L266
+       .long   0x25170233
+       .long   0x0
+       .long   0xfd21
+       .data   2
+L267:
+       .ascii  "\0\0\0\0\2\0\5\0cvtgh\0"
+       .data
+       .long   L267
+       .long   0x28170256
+       .long   0x0
+       .long   0xfd21
+       .data   2
+L268:
+       .ascii  "\0\0\0\0\2\0\5\0cvthf\0"
+       .data
+       .long   L268
+       .long   0x251802f6
+       .long   0x0
+       .long   0xfd21
+       .data   2
+L269:
+       .ascii  "\0\0\0\0\2\0\5\0cvthd\0"
+       .data
+       .long   L269
+       .long   0x261802f7
+       .long   0x0
+       .long   0xfd21
+       .data   2
+L270:
+       .ascii  "\0\0\0\0\2\0\5\0cvthg\0"
+       .data
+       .long   L270
+       .long   0x27180276
+       .long   0x0
+       .long   0xfd21
+       .data   2
+L271:
+       .ascii  "\0\0\0\0\2\0\6\0movzbw\0"
+       .data
+       .long   L271
+       .long   0x2110029b
+       .long   0x0
+       .long   0x21
+       .data   2
+L272:
+       .ascii  "\0\0\0\0\2\0\6\0movzbl\0"
+       .data
+       .long   L272
+       .long   0x2210029a
+       .long   0x0
+       .long   0x21
+       .data   2
+L273:
+       .ascii  "\0\0\0\0\2\0\6\0movzwl\0"
+       .data
+       .long   L273
+       .long   0x2211023c
+       .long   0x0
+       .long   0x21
+       .data   2
+L274:
+       .ascii  "\0\0\0\0\2\0\4\0cmpb\0"
+       .data
+       .long   L274
+       .long   0x10100291
+       .long   0x0
+       .long   0x21
+       .data   2
+L275:
+       .ascii  "\0\0\0\0\2\0\4\0cmpw\0"
+       .data
+       .long   L275
+       .long   0x111102b1
+       .long   0x0
+       .long   0x21
+       .data   2
+L276:
+       .ascii  "\0\0\0\0\2\0\4\0cmpl\0"
+       .data
+       .long   L276
+       .long   0x121202d1
+       .long   0x0
+       .long   0x21
+       .data   2
+L277:
+       .ascii  "\0\0\0\0\2\0\4\0cmpf\0"
+       .data
+       .long   L277
+       .long   0x15150251
+       .long   0x0
+       .long   0x21
+       .data   2
+L278:
+       .ascii  "\0\0\0\0\2\0\4\0cmpd\0"
+       .data
+       .long   L278
+       .long   0x16160271
+       .long   0x0
+       .long   0x21
+       .data   2
+L279:
+       .ascii  "\0\0\0\0\2\0\4\0cmpg\0"
+       .data
+       .long   L279
+       .long   0x17170251
+       .long   0x0
+       .long   0xfd21
+       .data   2
+L280:
+       .ascii  "\0\0\0\0\2\0\4\0cmph\0"
+       .data
+       .long   L280
+       .long   0x18180271
+       .long   0x0
+       .long   0xfd21
+       .data   2
+L281:
+       .ascii  "\0\0\0\0\2\0\4\0incb\0"
+       .data
+       .long   L281
+       .long   0x300196
+       .long   0x0
+       .long   0x21
+       .data   2
+L282:
+       .ascii  "\0\0\0\0\2\0\4\0incw\0"
+       .data
+       .long   L282
+       .long   0x3101b6
+       .long   0x0
+       .long   0x21
+       .data   2
+L283:
+       .ascii  "\0\0\0\0\2\0\4\0incl\0"
+       .data
+       .long   L283
+       .long   0x3201d6
+       .long   0x0
+       .long   0x21
+       .data   2
+L284:
+       .ascii  "\0\0\0\0\2\0\4\0tstb\0"
+       .data
+       .long   L284
+       .long   0x100195
+       .long   0x0
+       .long   0x21
+       .data   2
+L285:
+       .ascii  "\0\0\0\0\2\0\4\0tstw\0"
+       .data
+       .long   L285
+       .long   0x1101b5
+       .long   0x0
+       .long   0x21
+       .data   2
+L286:
+       .ascii  "\0\0\0\0\2\0\4\0tstl\0"
+       .data
+       .long   L286
+       .long   0x1201d5
+       .long   0x0
+       .long   0x21
+       .data   2
+L287:
+       .ascii  "\0\0\0\0\2\0\4\0tstf\0"
+       .data
+       .long   L287
+       .long   0x150153
+       .long   0x0
+       .long   0x21
+       .data   2
+L288:
+       .ascii  "\0\0\0\0\2\0\4\0tstd\0"
+       .data
+       .long   L288
+       .long   0x160173
+       .long   0x0
+       .long   0x21
+       .data   2
+L289:
+       .ascii  "\0\0\0\0\2\0\4\0tstg\0"
+       .data
+       .long   L289
+       .long   0x170153
+       .long   0x0
+       .long   0xfd21
+       .data   2
+L290:
+       .ascii  "\0\0\0\0\2\0\4\0tsth\0"
+       .data
+       .long   L290
+       .long   0x180173
+       .long   0x0
+       .long   0xfd21
+       .data   2
+L291:
+       .ascii  "\0\0\0\0\2\0\5\0addb2\0"
+       .data
+       .long   L291
+       .long   0x30100280
+       .long   0x0
+       .long   0x21
+       .data   2
+L292:
+       .ascii  "\0\0\0\0\2\0\5\0addh2\0"
+       .data
+       .long   L292
+       .long   0x38180260
+       .long   0x0
+       .long   0xfd21
+       .data   2
+L293:
+       .ascii  "\0\0\0\0\2\0\5\0addb3\0"
+       .data
+       .long   L293
+       .long   0x10100381
+       .long   0x20
+       .long   0x21
+       .data   2
+L294:
+       .ascii  "\0\0\0\0\2\0\5\0addh3\0"
+       .data
+       .long   L294
+       .long   0x18180361
+       .long   0x28
+       .long   0xfd21
+       .data   2
+L295:
+       .ascii  "\0\0\0\0\2\0\5\0addw2\0"
+       .data
+       .long   L295
+       .long   0x311102a0
+       .long   0x0
+       .long   0x21
+       .data   2
+L296:
+       .ascii  "\0\0\0\0\2\0\5\0addw3\0"
+       .data
+       .long   L296
+       .long   0x111103a1
+       .long   0x21
+       .long   0x21
+       .data   2
+L297:
+       .ascii  "\0\0\0\0\2\0\5\0addl2\0"
+       .data
+       .long   L297
+       .long   0x321202c0
+       .long   0x0
+       .long   0x21
+       .data   2
+L298:
+       .ascii  "\0\0\0\0\2\0\5\0addl3\0"
+       .data
+       .long   L298
+       .long   0x121203c1
+       .long   0x22
+       .long   0x21
+       .data   2
+L299:
+       .ascii  "\0\0\0\0\2\0\5\0addf2\0"
+       .data
+       .long   L299
+       .long   0x35150240
+       .long   0x0
+       .long   0x21
+       .data   2
+L300:
+       .ascii  "\0\0\0\0\2\0\5\0addf3\0"
+       .data
+       .long   L300
+       .long   0x15150341
+       .long   0x25
+       .long   0x21
+       .data   2
+L301:
+       .ascii  "\0\0\0\0\2\0\5\0addd2\0"
+       .data
+       .long   L301
+       .long   0x36160260
+       .long   0x0
+       .long   0x21
+       .data   2
+L302:
+       .ascii  "\0\0\0\0\2\0\5\0addd3\0"
+       .data
+       .long   L302
+       .long   0x16160361
+       .long   0x26
+       .long   0x21
+       .data   2
+L303:
+       .ascii  "\0\0\0\0\2\0\5\0addg2\0"
+       .data
+       .long   L303
+       .long   0x37170240
+       .long   0x0
+       .long   0xfd21
+       .data   2
+L304:
+       .ascii  "\0\0\0\0\2\0\5\0addg3\0"
+       .data
+       .long   L304
+       .long   0x17170341
+       .long   0x27
+       .long   0xfd21
+       .data   2
+L305:
+       .ascii  "\0\0\0\0\2\0\4\0adwc\0"
+       .data
+       .long   L305
+       .long   0x321202d8
+       .long   0x0
+       .long   0x21
+       .data   2
+L306:
+       .ascii  "\0\0\0\0\2\0\5\0adawi\0"
+       .data
+       .long   L306
+       .long   0x31110258
+       .long   0x0
+       .long   0x21
+       .data   2
+L307:
+       .ascii  "\0\0\0\0\2\0\5\0subb2\0"
+       .data
+       .long   L307
+       .long   0x30100282
+       .long   0x0
+       .long   0x21
+       .data   2
+L308:
+       .ascii  "\0\0\0\0\2\0\5\0subb3\0"
+       .data
+       .long   L308
+       .long   0x10100383
+       .long   0x20
+       .long   0x21
+       .data   2
+L309:
+       .ascii  "\0\0\0\0\2\0\5\0subw2\0"
+       .data
+       .long   L309
+       .long   0x311102a2
+       .long   0x0
+       .long   0x21
+       .data   2
+L310:
+       .ascii  "\0\0\0\0\2\0\5\0subw3\0"
+       .data
+       .long   L310
+       .long   0x111103a3
+       .long   0x21
+       .long   0x21
+       .data   2
+L311:
+       .ascii  "\0\0\0\0\2\0\5\0subl2\0"
+       .data
+       .long   L311
+       .long   0x321202c2
+       .long   0x0
+       .long   0x21
+       .data   2
+L312:
+       .ascii  "\0\0\0\0\2\0\5\0subl3\0"
+       .data
+       .long   L312
+       .long   0x121203c3
+       .long   0x22
+       .long   0x21
+       .data   2
+L313:
+       .ascii  "\0\0\0\0\2\0\5\0subf2\0"
+       .data
+       .long   L313
+       .long   0x35150242
+       .long   0x0
+       .long   0x21
+       .data   2
+L314:
+       .ascii  "\0\0\0\0\2\0\5\0subf3\0"
+       .data
+       .long   L314
+       .long   0x15150343
+       .long   0x25
+       .long   0x21
+       .data   2
+L315:
+       .ascii  "\0\0\0\0\2\0\5\0subd2\0"
+       .data
+       .long   L315
+       .long   0x36160262
+       .long   0x0
+       .long   0x21
+       .data   2
+L316:
+       .ascii  "\0\0\0\0\2\0\5\0subd3\0"
+       .data
+       .long   L316
+       .long   0x16160363
+       .long   0x26
+       .long   0x21
+       .data   2
+L317:
+       .ascii  "\0\0\0\0\2\0\5\0subg2\0"
+       .data
+       .long   L317
+       .long   0x37170242
+       .long   0x0
+       .long   0xfd21
+       .data   2
+L318:
+       .ascii  "\0\0\0\0\2\0\5\0subg3\0"
+       .data
+       .long   L318
+       .long   0x17170343
+       .long   0x27
+       .long   0xfd21
+       .data   2
+L319:
+       .ascii  "\0\0\0\0\2\0\5\0subh2\0"
+       .data
+       .long   L319
+       .long   0x38180262
+       .long   0x0
+       .long   0xfd21
+       .data   2
+L320:
+       .ascii  "\0\0\0\0\2\0\5\0subh3\0"
+       .data
+       .long   L320
+       .long   0x18180363
+       .long   0x28
+       .long   0xfd21
+       .data   2
+L321:
+       .ascii  "\0\0\0\0\2\0\4\0decb\0"
+       .data
+       .long   L321
+       .long   0x300197
+       .long   0x0
+       .long   0x21
+       .data   2
+L322:
+       .ascii  "\0\0\0\0\2\0\4\0decw\0"
+       .data
+       .long   L322
+       .long   0x3101b7
+       .long   0x0
+       .long   0x21
+       .data   2
+L323:
+       .ascii  "\0\0\0\0\2\0\4\0decl\0"
+       .data
+       .long   L323
+       .long   0x3201d7
+       .long   0x0
+       .long   0x21
+       .data   2
+L324:
+       .ascii  "\0\0\0\0\2\0\4\0sbwc\0"
+       .data
+       .long   L324
+       .long   0x321202d9
+       .long   0x0
+       .long   0x21
+       .data   2
+L325:
+       .ascii  "\0\0\0\0\2\0\5\0mulb2\0"
+       .data
+       .long   L325
+       .long   0x30100284
+       .long   0x0
+       .long   0x21
+       .data   2
+L326:
+       .ascii  "\0\0\0\0\2\0\5\0mulb3\0"
+       .data
+       .long   L326
+       .long   0x10100385
+       .long   0x20
+       .long   0x21
+       .data   2
+L327:
+       .ascii  "\0\0\0\0\2\0\5\0mulw2\0"
+       .data
+       .long   L327
+       .long   0x311102a4
+       .long   0x0
+       .long   0x21
+       .data   2
+L328:
+       .ascii  "\0\0\0\0\2\0\5\0mulw3\0"
+       .data
+       .long   L328
+       .long   0x111103a5
+       .long   0x21
+       .long   0x21
+       .data   2
+L329:
+       .ascii  "\0\0\0\0\2\0\5\0mull2\0"
+       .data
+       .long   L329
+       .long   0x321202c4
+       .long   0x0
+       .long   0x21
+       .data   2
+L330:
+       .ascii  "\0\0\0\0\2\0\5\0mull3\0"
+       .data
+       .long   L330
+       .long   0x121203c5
+       .long   0x22
+       .long   0x21
+       .data   2
+L331:
+       .ascii  "\0\0\0\0\2\0\5\0mulf2\0"
+       .data
+       .long   L331
+       .long   0x35150244
+       .long   0x0
+       .long   0x21
+       .data   2
+L332:
+       .ascii  "\0\0\0\0\2\0\5\0mulf3\0"
+       .data
+       .long   L332
+       .long   0x15150345
+       .long   0x25
+       .long   0x21
+       .data   2
+L333:
+       .ascii  "\0\0\0\0\2\0\5\0muld2\0"
+       .data
+       .long   L333
+       .long   0x36160264
+       .long   0x0
+       .long   0x21
+       .data   2
+L334:
+       .ascii  "\0\0\0\0\2\0\5\0muld3\0"
+       .data
+       .long   L334
+       .long   0x16160365
+       .long   0x26
+       .long   0x21
+       .data   2
+L335:
+       .ascii  "\0\0\0\0\2\0\5\0mulg2\0"
+       .data
+       .long   L335
+       .long   0x37170244
+       .long   0x0
+       .long   0xfd21
+       .data   2
+L336:
+       .ascii  "\0\0\0\0\2\0\5\0mulg3\0"
+       .data
+       .long   L336
+       .long   0x17170345
+       .long   0x27
+       .long   0xfd21
+       .data   2
+L337:
+       .ascii  "\0\0\0\0\2\0\5\0mulh2\0"
+       .data
+       .long   L337
+       .long   0x38180264
+       .long   0x0
+       .long   0xfd21
+       .data   2
+L338:
+       .ascii  "\0\0\0\0\2\0\5\0mulh3\0"
+       .data
+       .long   L338
+       .long   0x18180365
+       .long   0x28
+       .long   0xfd21
+       .data   2
+L339:
+       .ascii  "\0\0\0\0\2\0\5\0emodf\0"
+       .data
+       .long   L339
+       .long   0x10150554
+       .long   0x252215
+       .long   0x21
+       .data   2
+L340:
+       .ascii  "\0\0\0\0\2\0\4\0emul\0"
+       .data
+       .long   L340
+       .long   0x1212047a
+       .long   0x2312
+       .long   0x21
+       .data   2
+L341:
+       .ascii  "\0\0\0\0\2\0\5\0emodd\0"
+       .data
+       .long   L341
+       .long   0x10160574
+       .long   0x262216
+       .long   0x21
+       .data   2
+L342:
+       .ascii  "\0\0\0\0\2\0\5\0emodg\0"
+       .data
+       .long   L342
+       .long   0x11170554
+       .long   0x272217
+       .long   0xfd21
+       .data   2
+L343:
+       .ascii  "\0\0\0\0\2\0\5\0emodh\0"
+       .data
+       .long   L343
+       .long   0x11180574
+       .long   0x282218
+       .long   0xfd21
+       .data   2
+L344:
+       .ascii  "\0\0\0\0\2\0\5\0divb2\0"
+       .data
+       .long   L344
+       .long   0x30100286
+       .long   0x0
+       .long   0x21
+       .data   2
+L345:
+       .ascii  "\0\0\0\0\2\0\5\0divb3\0"
+       .data
+       .long   L345
+       .long   0x10100387
+       .long   0x20
+       .long   0x21
+       .data   2
+L346:
+       .ascii  "\0\0\0\0\2\0\5\0divw2\0"
+       .data
+       .long   L346
+       .long   0x311102a6
+       .long   0x0
+       .long   0x21
+       .data   2
+L347:
+       .ascii  "\0\0\0\0\2\0\5\0divw3\0"
+       .data
+       .long   L347
+       .long   0x111103a7
+       .long   0x21
+       .long   0x21
+       .data   2
+L348:
+       .ascii  "\0\0\0\0\2\0\5\0divl2\0"
+       .data
+       .long   L348
+       .long   0x321202c6
+       .long   0x0
+       .long   0x21
+       .data   2
+L349:
+       .ascii  "\0\0\0\0\2\0\5\0divl3\0"
+       .data
+       .long   L349
+       .long   0x121203c7
+       .long   0x22
+       .long   0x21
+       .data   2
+L350:
+       .ascii  "\0\0\0\0\2\0\5\0divf2\0"
+       .data
+       .long   L350
+       .long   0x35150246
+       .long   0x0
+       .long   0x21
+       .data   2
+L351:
+       .ascii  "\0\0\0\0\2\0\5\0divf3\0"
+       .data
+       .long   L351
+       .long   0x15150347
+       .long   0x25
+       .long   0x21
+       .data   2
+L352:
+       .ascii  "\0\0\0\0\2\0\5\0divd2\0"
+       .data
+       .long   L352
+       .long   0x36160266
+       .long   0x0
+       .long   0x21
+       .data   2
+L353:
+       .ascii  "\0\0\0\0\2\0\5\0divd3\0"
+       .data
+       .long   L353
+       .long   0x16160367
+       .long   0x16
+       .long   0x21
+       .data   2
+L354:
+       .ascii  "\0\0\0\0\2\0\5\0divg2\0"
+       .data
+       .long   L354
+       .long   0x37170246
+       .long   0x0
+       .long   0xfd21
+       .data   2
+L355:
+       .ascii  "\0\0\0\0\2\0\5\0divg3\0"
+       .data
+       .long   L355
+       .long   0x17170347
+       .long   0x27
+       .long   0xfd21
+       .data   2
+L356:
+       .ascii  "\0\0\0\0\2\0\5\0divh2\0"
+       .data
+       .long   L356
+       .long   0x38180266
+       .long   0x0
+       .long   0xfd21
+       .data   2
+L357:
+       .ascii  "\0\0\0\0\2\0\5\0divh3\0"
+       .data
+       .long   L357
+       .long   0x18180367
+       .long   0x18
+       .long   0xfd21
+       .data   2
+L358:
+       .ascii  "\0\0\0\0\2\0\4\0ediv\0"
+       .data
+       .long   L358
+       .long   0x1312047b
+       .long   0x2222
+       .long   0x21
+       .data   2
+L359:
+       .ascii  "\0\0\0\0\2\0\4\0bitb\0"
+       .data
+       .long   L359
+       .long   0x10100293
+       .long   0x0
+       .long   0x21
+       .data   2
+L360:
+       .ascii  "\0\0\0\0\2\0\4\0bitl\0"
+       .data
+       .long   L360
+       .long   0x121202d3
+       .long   0x0
+       .long   0x21
+       .data   2
+L361:
+       .ascii  "\0\0\0\0\2\0\4\0bitw\0"
+       .data
+       .long   L361
+       .long   0x111102b3
+       .long   0x0
+       .long   0x21
+       .data   2
+L362:
+       .ascii  "\0\0\0\0\2\0\5\0bisb2\0"
+       .data
+       .long   L362
+       .long   0x30100288
+       .long   0x0
+       .long   0x21
+       .data   2
+L363:
+       .ascii  "\0\0\0\0\2\0\5\0bisb3\0"
+       .data
+       .long   L363
+       .long   0x10100389
+       .long   0x20
+       .long   0x21
+       .data   2
+L364:
+       .ascii  "\0\0\0\0\2\0\5\0bisw2\0"
+       .data
+       .long   L364
+       .long   0x311102a8
+       .long   0x0
+       .long   0x21
+       .data   2
+L365:
+       .ascii  "\0\0\0\0\2\0\5\0bisw3\0"
+       .data
+       .long   L365
+       .long   0x111103a9
+       .long   0x21
+       .long   0x21
+       .data   2
+L366:
+       .ascii  "\0\0\0\0\2\0\5\0bisl2\0"
+       .data
+       .long   L366
+       .long   0x321202c8
+       .long   0x0
+       .long   0x21
+       .data   2
+L367:
+       .ascii  "\0\0\0\0\2\0\5\0bisl3\0"
+       .data
+       .long   L367
+       .long   0x121203c9
+       .long   0x22
+       .long   0x21
+       .data   2
+L368:
+       .ascii  "\0\0\0\0\2\0\5\0bicb2\0"
+       .data
+       .long   L368
+       .long   0x3010028a
+       .long   0x0
+       .long   0x21
+       .data   2
+L369:
+       .ascii  "\0\0\0\0\2\0\5\0bicb3\0"
+       .data
+       .long   L369
+       .long   0x1010038b
+       .long   0x20
+       .long   0x21
+       .data   2
+L370:
+       .ascii  "\0\0\0\0\2\0\5\0bicw2\0"
+       .data
+       .long   L370
+       .long   0x311102aa
+       .long   0x0
+       .long   0x21
+       .data   2
+L371:
+       .ascii  "\0\0\0\0\2\0\5\0bicw3\0"
+       .data
+       .long   L371
+       .long   0x111103ab
+       .long   0x21
+       .long   0x21
+       .data   2
+L372:
+       .ascii  "\0\0\0\0\2\0\5\0bicl2\0"
+       .data
+       .long   L372
+       .long   0x321202ca
+       .long   0x0
+       .long   0x21
+       .data   2
+L373:
+       .ascii  "\0\0\0\0\2\0\5\0bicl3\0"
+       .data
+       .long   L373
+       .long   0x121203cb
+       .long   0x22
+       .long   0x21
+       .data   2
+L374:
+       .ascii  "\0\0\0\0\2\0\5\0xorb2\0"
+       .data
+       .long   L374
+       .long   0x3010028c
+       .long   0x0
+       .long   0x21
+       .data   2
+L375:
+       .ascii  "\0\0\0\0\2\0\5\0xorb3\0"
+       .data
+       .long   L375
+       .long   0x1010038d
+       .long   0x20
+       .long   0x21
+       .data   2
+L376:
+       .ascii  "\0\0\0\0\2\0\5\0xorw2\0"
+       .data
+       .long   L376
+       .long   0x311102ac
+       .long   0x0
+       .long   0x21
+       .data   2
+L377:
+       .ascii  "\0\0\0\0\2\0\5\0xorw3\0"
+       .data
+       .long   L377
+       .long   0x111103ad
+       .long   0x21
+       .long   0x21
+       .data   2
+L378:
+       .ascii  "\0\0\0\0\2\0\5\0xorl2\0"
+       .data
+       .long   L378
+       .long   0x321202cc
+       .long   0x0
+       .long   0x21
+       .data   2
+L379:
+       .ascii  "\0\0\0\0\2\0\5\0xorl3\0"
+       .data
+       .long   L379
+       .long   0x121203cd
+       .long   0x22
+       .long   0x21
+       .data   2
+L380:
+       .ascii  "\0\0\0\0\2\0\4\0ashl\0"
+       .data
+       .long   L380
+       .long   0x12100378
+       .long   0x22
+       .long   0x21
+       .data   2
+L381:
+       .ascii  "\0\0\0\0\2\0\4\0ashq\0"
+       .data
+       .long   L381
+       .long   0x13100379
+       .long   0x23
+       .long   0x21
+       .data   2
+L382:
+       .ascii  "\0\0\0\0\2\0\4\0rotl\0"
+       .data
+       .long   L382
+       .long   0x1210039c
+       .long   0x22
+       .long   0x21
+       .data   2
+L383:
+       .ascii  "\0\0\0\0\2\0\5\0polyf\0"
+       .data
+       .long   L383
+       .long   0x11150355
+       .long   0x80
+       .long   0x21
+       .data   2
+L384:
+       .ascii  "\0\0\0\0\2\0\5\0polyd\0"
+       .data
+       .long   L384
+       .long   0x11160375
+       .long   0x80
+       .long   0x21
+       .data   2
+L385:
+       .ascii  "\0\0\0\0\2\0\5\0polyg\0"
+       .data
+       .long   L385
+       .long   0x11170355
+       .long   0x80
+       .long   0xfd21
+       .data   2
+L386:
+       .ascii  "\0\0\0\0\2\0\5\0polyh\0"
+       .data
+       .long   L386
+       .long   0x11180375
+       .long   0x80
+       .long   0xfd21
+       .data   2
+L387:
+       .ascii  "\0\0\0\0\2\0\5\0pushr\0"
+       .data
+       .long   L387
+       .long   0x1101bb
+       .long   0x0
+       .long   0x21
+       .data   2
+L388:
+       .ascii  "\0\0\0\0\2\0\4\0popr\0"
+       .data
+       .long   L388
+       .long   0x1101ba
+       .long   0x0
+       .long   0x21
+       .data   2
+L389:
+       .ascii  "\0\0\0\0\2\0\6\0movpsl\0"
+       .data
+       .long   L389
+       .long   0x2201dc
+       .long   0x0
+       .long   0x21
+       .data   2
+L390:
+       .ascii  "\0\0\0\0\2\0\6\0bispsw\0"
+       .data
+       .long   L390
+       .long   0x1101b8
+       .long   0x0
+       .long   0x21
+       .data   2
+L391:
+       .ascii  "\0\0\0\0\2\0\6\0bicpsw\0"
+       .data
+       .long   L391
+       .long   0x1101b9
+       .long   0x0
+       .long   0x21
+       .data   2
+L392:
+       .ascii  "\0\0\0\0\2\0\5\0movab\0"
+       .data
+       .long   L392
+       .long   0x2280029e
+       .long   0x0
+       .long   0x21
+       .data   2
+L393:
+       .ascii  "\0\0\0\0\2\0\6\0pushab\0"
+       .data
+       .long   L393
+       .long   0x80019f
+       .long   0x0
+       .long   0x21
+       .data   2
+L394:
+       .ascii  "\0\0\0\0\2\0\5\0movaw\0"
+       .data
+       .long   L394
+       .long   0x2281023e
+       .long   0x0
+       .long   0x21
+       .data   2
+L395:
+       .ascii  "\0\0\0\0\2\0\6\0pushaw\0"
+       .data
+       .long   L395
+       .long   0x81013f
+       .long   0x0
+       .long   0x21
+       .data   2
+L396:
+       .ascii  "\0\0\0\0\2\0\5\0movaf\0"
+       .data
+       .long   L396
+       .long   0x228502de
+       .long   0x0
+       .long   0x21
+       .data   2
+L397:
+       .ascii  "\0\0\0\0\2\0\5\0moval\0"
+       .data
+       .long   L397
+       .long   0x228202de
+       .long   0x0
+       .long   0x21
+       .data   2
+L398:
+       .ascii  "\0\0\0\0\2\0\6\0pushaf\0"
+       .data
+       .long   L398
+       .long   0x8501df
+       .long   0x0
+       .long   0x21
+       .data   2
+L399:
+       .ascii  "\0\0\0\0\2\0\6\0pushal\0"
+       .data
+       .long   L399
+       .long   0x8201df
+       .long   0x0
+       .long   0x21
+       .data   2
+L400:
+       .ascii  "\0\0\0\0\2\0\6\0pushad\0"
+       .data
+       .long   L400
+       .long   0x86017f
+       .long   0x0
+       .long   0x21
+       .data   2
+L401:
+       .ascii  "\0\0\0\0\2\0\6\0pushag\0"
+       .data
+       .long   L401
+       .long   0x87017f
+       .long   0x0
+       .long   0x21
+       .data   2
+L402:
+       .ascii  "\0\0\0\0\2\0\6\0pushaq\0"
+       .data
+       .long   L402
+       .long   0x83017f
+       .long   0x0
+       .long   0x21
+       .data   2
+L403:
+       .ascii  "\0\0\0\0\2\0\6\0pushah\0"
+       .data
+       .long   L403
+       .long   0x88017f
+       .long   0x0
+       .long   0xfd21
+       .data   2
+L404:
+       .ascii  "\0\0\0\0\2\0\6\0pushao\0"
+       .data
+       .long   L404
+       .long   0x84017f
+       .long   0x0
+       .long   0xfd21
+       .data   2
+L405:
+       .ascii  "\0\0\0\0\2\0\5\0movad\0"
+       .data
+       .long   L405
+       .long   0x2286027e
+       .long   0x0
+       .long   0x21
+       .data   2
+L406:
+       .ascii  "\0\0\0\0\2\0\5\0movag\0"
+       .data
+       .long   L406
+       .long   0x2287027e
+       .long   0x0
+       .long   0x21
+       .data   2
+L407:
+       .ascii  "\0\0\0\0\2\0\5\0movaq\0"
+       .data
+       .long   L407
+       .long   0x2283027e
+       .long   0x0
+       .long   0x21
+       .data   2
+L408:
+       .ascii  "\0\0\0\0\2\0\5\0movah\0"
+       .data
+       .long   L408
+       .long   0x2288027e
+       .long   0x0
+       .long   0xfd21
+       .data   2
+L409:
+       .ascii  "\0\0\0\0\2\0\5\0movao\0"
+       .data
+       .long   L409
+       .long   0x2284027e
+       .long   0x0
+       .long   0xfd21
+       .data   2
+L410:
+       .ascii  "\0\0\0\0\2\0\5\0index\0"
+       .data
+       .long   L410
+       .long   0x1212060a
+       .long   0x22121212
+       .long   0x21
+       .data   2
+L411:
+       .ascii  "\0\0\0\0\2\0\6\0insque\0"
+       .data
+       .long   L411
+       .long   0x8080020e
+       .long   0x0
+       .long   0x21
+       .data   2
+L412:
+       .ascii  "\0\0\0\0\2\0\6\0remque\0"
+       .data
+       .long   L412
+       .long   0x2280020f
+       .long   0x0
+       .long   0x21
+       .data   2
+L413:
+       .ascii  "\0\0\0\0\2\0\6\0insqhi\0"
+       .data
+       .long   L413
+       .long   0x8380025c
+       .long   0x0
+       .long   0x121
+       .data   2
+L414:
+       .ascii  "\0\0\0\0\2\0\6\0insqti\0"
+       .data
+       .long   L414
+       .long   0x8380025d
+       .long   0x0
+       .long   0x121
+       .data   2
+L415:
+       .ascii  "\0\0\0\0\2\0\6\0remqhi\0"
+       .data
+       .long   L415
+       .long   0x2283025e
+       .long   0x0
+       .long   0x121
+       .data   2
+L416:
+       .ascii  "\0\0\0\0\2\0\6\0remqti\0"
+       .data
+       .long   L416
+       .long   0x2283025f
+       .long   0x0
+       .long   0x121
+       .data   2
+L417:
+       .ascii  "\0\0\0\0\2\0\3\0ffc\0"
+       .data
+       .long   L417
+       .long   0x101204eb
+       .long   0x2210
+       .long   0x21
+       .data   2
+L418:
+       .ascii  "\0\0\0\0\2\0\3\0ffs\0"
+       .data
+       .long   L418
+       .long   0x101204ea
+       .long   0x2210
+       .long   0x21
+       .data   2
+L419:
+       .ascii  "\0\0\0\0\2\0\4\0extv\0"
+       .data
+       .long   L419
+       .long   0x101204ee
+       .long   0x2210
+       .long   0x21
+       .data   2
+L420:
+       .ascii  "\0\0\0\0\2\0\5\0extzv\0"
+       .data
+       .long   L420
+       .long   0x101204ef
+       .long   0x2210
+       .long   0x21
+       .data   2
+L421:
+       .ascii  "\0\0\0\0\2\0\4\0cmpv\0"
+       .data
+       .long   L421
+       .long   0x101204ec
+       .long   0x1210
+       .long   0x21
+       .data   2
+L422:
+       .ascii  "\0\0\0\0\2\0\5\0cmpzv\0"
+       .data
+       .long   L422
+       .long   0x101204ed
+       .long   0x1210
+       .long   0x21
+       .data   2
+L423:
+       .ascii  "\0\0\0\0\2\0\4\0insv\0"
+       .data
+       .long   L423
+       .long   0x121204f0
+       .long   0x1010
+       .long   0x21
+       .data   2
+L424:
+       .ascii  "\0\0\0\0\2\0\4\0bneq\0"
+       .data
+       .long   L424
+       .long   0x400112
+       .long   0x0
+       .long   0x21
+       .data   2
+L425:
+       .ascii  "\0\0\0\0\2\0\5\0bnequ\0"
+       .data
+       .long   L425
+       .long   0x400112
+       .long   0x0
+       .long   0x21
+       .data   2
+L426:
+       .ascii  "\0\0\0\0\2\0\4\0beql\0"
+       .data
+       .long   L426
+       .long   0x400113
+       .long   0x0
+       .long   0x21
+       .data   2
+L427:
+       .ascii  "\0\0\0\0\2\0\5\0beqlu\0"
+       .data
+       .long   L427
+       .long   0x400113
+       .long   0x0
+       .long   0x21
+       .data   2
+L428:
+       .ascii  "\0\0\0\0\2\0\4\0bgtr\0"
+       .data
+       .long   L428
+       .long   0x400114
+       .long   0x0
+       .long   0x21
+       .data   2
+L429:
+       .ascii  "\0\0\0\0\2\0\4\0bleq\0"
+       .data
+       .long   L429
+       .long   0x400115
+       .long   0x0
+       .long   0x21
+       .data   2
+L430:
+       .ascii  "\0\0\0\0\2\0\4\0bgeq\0"
+       .data
+       .long   L430
+       .long   0x400118
+       .long   0x0
+       .long   0x21
+       .data   2
+L431:
+       .ascii  "\0\0\0\0\2\0\4\0blss\0"
+       .data
+       .long   L431
+       .long   0x400119
+       .long   0x0
+       .long   0x21
+       .data   2
+L432:
+       .ascii  "\0\0\0\0\2\0\5\0bgtru\0"
+       .data
+       .long   L432
+       .long   0x40011a
+       .long   0x0
+       .long   0x21
+       .data   2
+L433:
+       .ascii  "\0\0\0\0\2\0\5\0blequ\0"
+       .data
+       .long   L433
+       .long   0x40011b
+       .long   0x0
+       .long   0x21
+       .data   2
+L434:
+       .ascii  "\0\0\0\0\2\0\3\0bvc\0"
+       .data
+       .long   L434
+       .long   0x40011c
+       .long   0x0
+       .long   0x21
+       .data   2
+L435:
+       .ascii  "\0\0\0\0\2\0\3\0bvs\0"
+       .data
+       .long   L435
+       .long   0x40011d
+       .long   0x0
+       .long   0x21
+       .data   2
+L436:
+       .ascii  "\0\0\0\0\2\0\5\0bgequ\0"
+       .data
+       .long   L436
+       .long   0x40011e
+       .long   0x0
+       .long   0x21
+       .data   2
+L437:
+       .ascii  "\0\0\0\0\2\0\3\0bcc\0"
+       .data
+       .long   L437
+       .long   0x40011e
+       .long   0x0
+       .long   0x21
+       .data   2
+L438:
+       .ascii  "\0\0\0\0\2\0\5\0blssu\0"
+       .data
+       .long   L438
+       .long   0x40011f
+       .long   0x0
+       .long   0x21
+       .data   2
+L439:
+       .ascii  "\0\0\0\0\2\0\3\0bcs\0"
+       .data
+       .long   L439
+       .long   0x40011f
+       .long   0x0
+       .long   0x21
+       .data   2
+L440:
+       .ascii  "\0\0\0\0\2\0\3\0brb\0"
+       .data
+       .long   L440
+       .long   0x400111
+       .long   0x0
+       .long   0x21
+       .data   2
+L441:
+       .ascii  "\0\0\0\0\2\0\3\0brw\0"
+       .data
+       .long   L441
+       .long   0x410131
+       .long   0x0
+       .long   0x21
+       .data   2
+L442:
+       .ascii  "\0\0\0\0\2\0\3\0jmp\0"
+       .data
+       .long   L442
+       .long   0x800117
+       .long   0x0
+       .long   0x21
+       .data   2
+L443:
+       .ascii  "\0\0\0\0\2\0\3\0bbs\0"
+       .data
+       .long   L443
+       .long   0x101203e0
+       .long   0x40
+       .long   0x21
+       .data   2
+L444:
+       .ascii  "\0\0\0\0\2\0\3\0bbc\0"
+       .data
+       .long   L444
+       .long   0x101203e1
+       .long   0x40
+       .long   0x21
+       .data   2
+L445:
+       .ascii  "\0\0\0\0\2\0\4\0bbss\0"
+       .data
+       .long   L445
+       .long   0x101203e2
+       .long   0x40
+       .long   0x21
+       .data   2
+L446:
+       .ascii  "\0\0\0\0\2\0\4\0bbcs\0"
+       .data
+       .long   L446
+       .long   0x101203e3
+       .long   0x40
+       .long   0x21
+       .data   2
+L447:
+       .ascii  "\0\0\0\0\2\0\4\0bbsc\0"
+       .data
+       .long   L447
+       .long   0x101203e4
+       .long   0x40
+       .long   0x21
+       .data   2
+L448:
+       .ascii  "\0\0\0\0\2\0\4\0bbcc\0"
+       .data
+       .long   L448
+       .long   0x101203e5
+       .long   0x40
+       .long   0x21
+       .data   2
+L449:
+       .ascii  "\0\0\0\0\2\0\5\0bbssi\0"
+       .data
+       .long   L449
+       .long   0x101203e6
+       .long   0x40
+       .long   0x21
+       .data   2
+L450:
+       .ascii  "\0\0\0\0\2\0\5\0bbcci\0"
+       .data
+       .long   L450
+       .long   0x101203e7
+       .long   0x40
+       .long   0x21
+       .data   2
+L451:
+       .ascii  "\0\0\0\0\2\0\4\0blbs\0"
+       .data
+       .long   L451
+       .long   0x401202e8
+       .long   0x0
+       .long   0x21
+       .data   2
+L452:
+       .ascii  "\0\0\0\0\2\0\4\0blbc\0"
+       .data
+       .long   L452
+       .long   0x401202e9
+       .long   0x0
+       .long   0x21
+       .data   2
+L453:
+       .ascii  "\0\0\0\0\2\0\4\0acbb\0"
+       .data
+       .long   L453
+       .long   0x1010049d
+       .long   0x4130
+       .long   0x21
+       .data   2
+L454:
+       .ascii  "\0\0\0\0\2\0\4\0acbw\0"
+       .data
+       .long   L454
+       .long   0x1111043d
+       .long   0x4131
+       .long   0x21
+       .data   2
+L455:
+       .ascii  "\0\0\0\0\2\0\4\0acbl\0"
+       .data
+       .long   L455
+       .long   0x121204f1
+       .long   0x4132
+       .long   0x21
+       .data   2
+L456:
+       .ascii  "\0\0\0\0\2\0\4\0acbf\0"
+       .data
+       .long   L456
+       .long   0x1515044f
+       .long   0x4135
+       .long   0x21
+       .data   2
+L457:
+       .ascii  "\0\0\0\0\2\0\4\0acbd\0"
+       .data
+       .long   L457
+       .long   0x1616046f
+       .long   0x4136
+       .long   0x21
+       .data   2
+L458:
+       .ascii  "\0\0\0\0\2\0\4\0acbg\0"
+       .data
+       .long   L458
+       .long   0x1717044f
+       .long   0x4137
+       .long   0xfd21
+       .data   2
+L459:
+       .ascii  "\0\0\0\0\2\0\4\0acbh\0"
+       .data
+       .long   L459
+       .long   0x1818046f
+       .long   0x4138
+       .long   0xfd21
+       .data   2
+L460:
+       .ascii  "\0\0\0\0\2\0\6\0aoblss\0"
+       .data
+       .long   L460
+       .long   0x321203f2
+       .long   0x40
+       .long   0x21
+       .data   2
+L461:
+       .ascii  "\0\0\0\0\2\0\6\0aobleq\0"
+       .data
+       .long   L461
+       .long   0x321203f3
+       .long   0x40
+       .long   0x21
+       .data   2
+L462:
+       .ascii  "\0\0\0\0\2\0\6\0sobgeq\0"
+       .data
+       .long   L462
+       .long   0x403202f4
+       .long   0x0
+       .long   0x21
+       .data   2
+L463:
+       .ascii  "\0\0\0\0\2\0\6\0sobgtr\0"
+       .data
+       .long   L463
+       .long   0x403202f5
+       .long   0x0
+       .long   0x21
+       .data   2
+L464:
+       .ascii  "\0\0\0\0\2\0\5\0caseb\0"
+       .data
+       .long   L464
+       .long   0x1010038f
+       .long   0x10
+       .long   0x21
+       .data   2
+L465:
+       .ascii  "\0\0\0\0\2\0\5\0casew\0"
+       .data
+       .long   L465
+       .long   0x111103af
+       .long   0x11
+       .long   0x21
+       .data   2
+L466:
+       .ascii  "\0\0\0\0\2\0\5\0casel\0"
+       .data
+       .long   L466
+       .long   0x121203cf
+       .long   0x12
+       .long   0x21
+       .data   2
+L467:
+       .ascii  "\0\0\0\0\2\0\4\0bsbb\0"
+       .data
+       .long   L467
+       .long   0x400110
+       .long   0x0
+       .long   0x21
+       .data   2
+L468:
+       .ascii  "\0\0\0\0\2\0\4\0bsbw\0"
+       .data
+       .long   L468
+       .long   0x410130
+       .long   0x0
+       .long   0x21
+       .data   2
+L469:
+       .ascii  "\0\0\0\0\2\0\3\0jsb\0"
+       .data
+       .long   L469
+       .long   0x800116
+       .long   0x0
+       .long   0x21
+       .data   2
+L470:
+       .ascii  "\0\0\0\0\2\0\3\0rsb\0"
+       .data
+       .long   L470
+       .long   0x5
+       .long   0x0
+       .long   0x20
+       .data   2
+L471:
+       .ascii  "\0\0\0\0\2\0\5\0callg\0"
+       .data
+       .long   L471
+       .long   0x808002fa
+       .long   0x0
+       .long   0x21
+       .data   2
+L472:
+       .ascii  "\0\0\0\0\2\0\5\0calls\0"
+       .data
+       .long   L472
+       .long   0x801202fb
+       .long   0x0
+       .long   0x21
+       .data   2
+L473:
+       .ascii  "\0\0\0\0\2\0\3\0ret\0"
+       .data
+       .long   L473
+       .long   0x4
+       .long   0x0
+       .long   0x20
+       .data   2
+L474:
+       .ascii  "\0\0\0\0\2\0\5\0movc3\0"
+       .data
+       .long   L474
+       .long   0x80110328
+       .long   0x80
+       .long   0x21
+       .data   2
+L475:
+       .ascii  "\0\0\0\0\2\0\5\0movc5\0"
+       .data
+       .long   L475
+       .long   0x8011052c
+       .long   0x801110
+       .long   0x21
+       .data   2
+L476:
+       .ascii  "\0\0\0\0\2\0\5\0movtc\0"
+       .data
+       .long   L476
+       .long   0x8011062e
+       .long   0x80118010
+       .long   0x21
+       .data   2
+L477:
+       .ascii  "\0\0\0\0\2\0\6\0movtuc\0"
+       .data
+       .long   L477
+       .long   0x8011062f
+       .long   0x80118010
+       .long   0x21
+       .data   2
+L478:
+       .ascii  "\0\0\0\0\2\0\5\0cmpc3\0"
+       .data
+       .long   L478
+       .long   0x80110329
+       .long   0x80
+       .long   0x21
+       .data   2
+L479:
+       .ascii  "\0\0\0\0\2\0\5\0cmpc5\0"
+       .data
+       .long   L479
+       .long   0x8011052d
+       .long   0x801110
+       .long   0x21
+       .data   2
+L480:
+       .ascii  "\0\0\0\0\2\0\5\0scanc\0"
+       .data
+       .long   L480
+       .long   0x8011042a
+       .long   0x1080
+       .long   0x21
+       .data   2
+L481:
+       .ascii  "\0\0\0\0\2\0\5\0spanc\0"
+       .data
+       .long   L481
+       .long   0x8011042b
+       .long   0x1080
+       .long   0x21
+       .data   2
+L482:
+       .ascii  "\0\0\0\0\2\0\4\0locc\0"
+       .data
+       .long   L482
+       .long   0x1110033a
+       .long   0x80
+       .long   0x21
+       .data   2
+L483:
+       .ascii  "\0\0\0\0\2\0\4\0skpc\0"
+       .data
+       .long   L483
+       .long   0x1110033b
+       .long   0x80
+       .long   0x21
+       .data   2
+L484:
+       .ascii  "\0\0\0\0\2\0\6\0matchc\0"
+       .data
+       .long   L484
+       .long   0x80110439
+       .long   0x8011
+       .long   0x21
+       .data   2
+L485:
+       .ascii  "\0\0\0\0\2\0\3\0crc\0"
+       .data
+       .long   L485
+       .long   0x1280040b
+       .long   0x8011
+       .long   0x21
+       .data   2
+L486:
+       .ascii  "\0\0\0\0\2\0\4\0movp\0"
+       .data
+       .long   L486
+       .long   0x80110334
+       .long   0x80
+       .long   0x21
+       .data   2
+L487:
+       .ascii  "\0\0\0\0\2\0\5\0cmpp3\0"
+       .data
+       .long   L487
+       .long   0x80110335
+       .long   0x80
+       .long   0x21
+       .data   2
+L488:
+       .ascii  "\0\0\0\0\2\0\5\0cmpp4\0"
+       .data
+       .long   L488
+       .long   0x80110437
+       .long   0x8011
+       .long   0x21
+       .data   2
+L489:
+       .ascii  "\0\0\0\0\2\0\5\0addp4\0"
+       .data
+       .long   L489
+       .long   0x80110420
+       .long   0x8011
+       .long   0x21
+       .data   2
+L490:
+       .ascii  "\0\0\0\0\2\0\5\0addp6\0"
+       .data
+       .long   L490
+       .long   0x80110621
+       .long   0x80118011
+       .long   0x21
+       .data   2
+L491:
+       .ascii  "\0\0\0\0\2\0\5\0subp4\0"
+       .data
+       .long   L491
+       .long   0x80110422
+       .long   0x8011
+       .long   0x21
+       .data   2
+L492:
+       .ascii  "\0\0\0\0\2\0\5\0subp6\0"
+       .data
+       .long   L492
+       .long   0x80110623
+       .long   0x80118011
+       .long   0x21
+       .data   2
+L493:
+       .ascii  "\0\0\0\0\2\0\4\0mulp\0"
+       .data
+       .long   L493
+       .long   0x80110625
+       .long   0x80118011
+       .long   0x21
+       .data   2
+L494:
+       .ascii  "\0\0\0\0\2\0\4\0divp\0"
+       .data
+       .long   L494
+       .long   0x80110627
+       .long   0x80118011
+       .long   0x21
+       .data   2
+L495:
+       .ascii  "\0\0\0\0\2\0\5\0cvtlp\0"
+       .data
+       .long   L495
+       .long   0x111203f9
+       .long   0x80
+       .long   0x21
+       .data   2
+L496:
+       .ascii  "\0\0\0\0\2\0\5\0cvtpl\0"
+       .data
+       .long   L496
+       .long   0x80110336
+       .long   0x22
+       .long   0x21
+       .data   2
+L497:
+       .ascii  "\0\0\0\0\2\0\5\0cvtpt\0"
+       .data
+       .long   L497
+       .long   0x80110524
+       .long   0x801180
+       .long   0x21
+       .data   2
+L498:
+       .ascii  "\0\0\0\0\2\0\5\0cvttp\0"
+       .data
+       .long   L498
+       .long   0x80110526
+       .long   0x801180
+       .long   0x21
+       .data   2
+L499:
+       .ascii  "\0\0\0\0\2\0\5\0cvtps\0"
+       .data
+       .long   L499
+       .long   0x80110408
+       .long   0x8011
+       .long   0x21
+       .data   2
+L500:
+       .ascii  "\0\0\0\0\2\0\5\0cvtsp\0"
+       .data
+       .long   L500
+       .long   0x80110409
+       .long   0x8011
+       .long   0x21
+       .data   2
+L501:
+       .ascii  "\0\0\0\0\2\0\4\0ashp\0"
+       .data
+       .long   L501
+       .long   0x111006f8
+       .long   0x80111080
+       .long   0x21
+       .data   2
+L502:
+       .ascii  "\0\0\0\0\2\0\6\0editpc\0"
+       .data
+       .long   L502
+       .long   0x80110438
+       .long   0x8080
+       .long   0x21
+       .data   2
+L503:
+       .ascii  "\0\0\0\0\2\0\3\0nop\0"
+       .data
+       .long   L503
+       .long   0x1
+       .long   0x0
+       .long   0x20
+       .data   2
+L504:
+       .ascii  "\0\0\0\0\2\0\4\0escd\0"
+       .data
+       .long   L504
+       .long   0xfd
+       .long   0x0
+       .long   0x20
+       .data   2
+L505:
+       .ascii  "\0\0\0\0\2\0\4\0esce\0"
+       .data
+       .long   L505
+       .long   0xfe
+       .long   0x0
+       .long   0x20
+       .data   2
+L506:
+       .ascii  "\0\0\0\0\2\0\4\0escf\0"
+       .data
+       .long   L506
+       .long   0xff
+       .long   0x0
+       .long   0x20
+       .data   2
+L507:
+       .ascii  "\0\0\0\0\0\0\0\0\0\0\0"
+       .data
+       .long   L507
+       .long   0x0
+       .long   0x0
+       .long   0x0
+       .data
diff --git a/bin/as/test/asscan1.o.ok b/bin/as/test/asscan1.o.ok
new file mode 100644 (file)
index 0000000..3fd5f58
Binary files /dev/null and b/bin/as/test/asscan1.o.ok differ
diff --git a/bin/as/test/asscan1.s b/bin/as/test/asscan1.s
new file mode 100644 (file)
index 0000000..ef7b3a3
--- /dev/null
@@ -0,0 +1,375 @@
+.data
+.data
+_sccsid:.long  0x29232840
+.long  0x63737361
+.long  0x2e316e61
+.long  0x2e350963
+.long  0x42282031
+.long  0x656b7265
+.long  0x2979656c
+.long  0x332f3420
+.long  0x35382f30
+.long  0x0
+.comm  _rusefile,32
+.comm  _relfil,4
+.comm  _bufstart,4
+.comm  _buftail,4
+.comm  _emptybuf,4
+.comm  _tok_free,4
+.comm  _tok_temp,4
+.comm  _bufno,4
+.comm  _tokbuf,8192
+.comm  _tokptr,4
+.comm  _tokub,4
+.comm  _yylval,4
+.comm  _yybignum,20
+.comm  _yyopcode,2
+.comm  _newfflag,4
+.comm  _newfname,4
+.comm  _scanlineno,4
+.comm  _charsets,0
+.comm  _type,0
+.text
+LL0:.align     1
+.globl _inittokfile
+.set   L125,0x0
+.data
+.text
+_inittokfile:.word     L125
+cmpl   _passno,$1
+jneq   L129
+tstl   _useVM
+jeql   L130
+moval  _tokbuf,_bufstart
+moval  _tokbuf+4096,_buftail
+movl   _bufstart,r0
+movl   _buftail,4(r0)
+movl   _buftail,r0
+clrl   4(r0)
+L130:mnegl     $1,_tokbuf
+mnegl  $1,_tokbuf+4096
+L129:clrl      _tok_temp
+clrl   _tok_free
+clrl   _bufno
+ashl   $12,_bufno,r0
+addl2  $_tokbuf,r0
+movl   r0,_emptybuf
+clrl   _tokptr
+clrl   _tokub
+ret
+.align 1
+.globl _closetokfile
+.data  1
+L144:.ascii    "Unexpected end of file writing the interpass tmp file\0"
+.text
+.set   L132,0x0
+.data
+.text
+_closetokfile:.word    L132
+cmpl   _passno,$1
+jneq   L136
+tstl   _useVM
+jeql   L137
+movl   *_emptybuf,r0
+incl   *_emptybuf
+addl3  $8,_emptybuf,r1
+cvtlb  $35,(r1)[r0]
+L136:ret
+L137:xorl3     $1,_bufno,r0
+ashl   $12,r0,r0
+tstl   _tokbuf(r0)
+jlss   L139
+pushl  $4096
+xorl3  $1,_bufno,r0
+ashl   $12,r0,r0
+pushab _tokbuf[r0]
+movl   _tokfile,r0
+cvtbl  18(r0),-(sp)
+calls  $3,_write
+cmpl   r0,$4096
+jeql   L139
+L142:pushal    L144
+calls  $1,_yyerror
+pushl  $2
+calls  $1,_exit
+L139:ashl      $12,_bufno,r0
+movl   _tokbuf(r0),r1
+incl   _tokbuf(r0)
+ashl   $12,_bufno,r0
+addl2  $_tokbuf+8,r0
+cvtlb  $35,(r0)[r1]
+pushl  $4096
+ashl   $12,_bufno,r0
+pushab _tokbuf[r0]
+movl   _tokfile,r0
+cvtbl  18(r0),-(sp)
+calls  $3,_write
+cmpl   r0,$4096
+jneq   L142
+jbr    L136
+.align 1
+.globl _yylex
+.lcomm L152,4
+.data  1
+L161:.ascii    "Too many expressions; try simplyfing\0"
+.text
+.data  1
+L166:.ascii    "Too many expressions; try simplyfing\0"
+.text
+.data  1
+L201:.ascii    "Unexpected end of file writing the interpass tmp file\0"
+.text
+.data  1
+L205:.ascii    "Unexpected end of file while reading the interpass tmp file\0"
+.text
+.set   L148,0xe00
+.data
+.text
+_yylex:.word   L148
+subl2  $8,sp
+movl   _tokptr,r11
+L153:cmpl      r11,_tokub
+jgeq   L154
+cvtbl  (r11)+,r10
+movl   r10,_yylval
+movl   r10,r0
+casel  r0,$26,$18
+L2000006:
+.word  L182-L2000006
+.word  L182-L2000006
+.word  L182-L2000006
+.word  L182-L2000006
+.word  L173-L2000006
+.word  L182-L2000006
+.word  L172-L2000006
+.word  L172-L2000006
+.word  L159-L2000006
+.word  L157-L2000006
+.word  L174-L2000006
+.word  L153-L2000006
+.word  L175-L2000006
+.word  L159-L2000006
+.word  L164-L2000006
+.word  L168-L2000006
+.word  L182-L2000006
+.word  L170-L2000006
+.word  L170-L2000006
+L155:movl      r11,_tokptr
+movl   r10,r0
+ret
+L157:movl      $35,r10
+movl   r10,_yylval
+jbr    L155
+L159:cmpl      _xp,$_explist+560
+jlss   L160
+pushal L161
+calls  $1,_yyerror
+jbr    L162
+L160:movl      _xp,r9
+addl2  $28,_xp
+L162:movc3     $20,_Znumber,(r9)
+cvtlb  $2,16(r9)
+movl   (r11),(r9)
+addl2  $4,r11
+L163:cvtlb     $2,20(r9)
+clrb   21(r9)
+clrl   24(r9)
+movl   r9,_yylval
+jbr    L155
+L164:cmpl      _xp,$_explist+560
+jlss   L165
+pushal L166
+calls  $1,_yyerror
+jbr    L167
+L165:movl      _xp,r9
+addl2  $28,_xp
+L167:movc3     $20,(r11),(r9)
+addl2  $20,r11
+jbr    L163
+L168:movl      (r11),_yylval
+addl2  $4,r11
+movl   _yylval,_lastnam
+jbr    L155
+L170:cvtbl     (r11)+,_yylval
+jbr    L155
+L172:movw      (r11),_yyopcode
+addl2  $2,r11
+jbr    L155
+L173:movw      (r11),_yyopcode
+addl2  $2,r11
+movl   (r11),L152
+addl2  $4,r11
+movl   L152,_lastjxxx
+jbr    L155
+L174:movl      (r11),_yylval
+addl2  $4,r11
+addl2  _yylval,_lineno
+jbr    L153
+L175:movzwl    (r11),r0
+addl2  $2,r0
+addl2  r0,r11
+jbr    L153
+L182:movl      (r11),_yylval
+addl2  $4,r11
+jbr    L155
+L154:tstl      _useVM
+jeql   L186
+cmpl   _passno,$2
+jneq   L187
+movl   _emptybuf,r0
+movl   4(r0),_tok_temp
+movl   _tok_free,4(r0)
+movl   _emptybuf,_tok_free
+movl   _tok_temp,_emptybuf
+jbr    L188
+L187:movl      _emptybuf,r0
+movl   4(r0),_emptybuf
+L188:incl      _bufno
+tstl   _emptybuf
+jneq   L189
+cmpl   _passno,$2
+jeql   L191
+pushl  $4096
+pushl  $8
+calls  $2,_Calloc
+movl   r0,-4(fp)
+movl   r0,_emptybuf
+clrl   -8(fp)
+L2000001:movl  _buftail,r0
+movl   -4(fp),4(r0)
+movl   -4(fp),_buftail
+addl2  $4096,-4(fp)
+aoblss $8,-8(fp),L2000001
+movl   _buftail,r0
+clrl   4(r0)
+L189:addl3     $8,_emptybuf,r11
+cmpl   _passno,$1
+jeql   L2000003
+jbr    L197
+L2000005:tstl  *_emptybuf
+jlss   L2000003
+pushl  $4096
+pushl  _emptybuf
+movl   _tokfile,r0
+cvtbl  18(r0),-(sp)
+calls  $3,_write
+cmpl   r0,$4096
+jeql   L2000003
+pushal L201
+calls  $1,_yyerror
+pushl  $2
+calls  $1,_exit
+L2000003:pushl _emptybuf
+calls  $1,_scan_dot_s
+jbr    L197
+L186:xorl2     $1,_bufno
+ashl   $12,_bufno,r0
+movab  _tokbuf[r0],_emptybuf
+addl3  $8,_emptybuf,r11
+cmpl   _passno,$1
+jeql   L2000005
+pushl  $4096
+pushl  _emptybuf
+movl   _tokfile,r0
+cvtbl  18(r0),-(sp)
+calls  $3,_read
+cmpl   r0,$4096
+jeql   L197
+L191:pushal    L205
+calls  $1,_yyerror
+pushl  $1
+calls  $1,_exit
+L197:addl3     *_emptybuf,r11,_tokub
+jbr    L153
+.align 1
+.globl _buildskip
+.data  1
+L213:.ascii    "Internal error\72 bad skip construction\0"
+.text
+.set   L207,0xe00
+.data
+.text
+_buildskip:.word       L207
+subl2  $4,sp
+movl   4(ap),r11
+movl   8(ap),r10
+tstl   _useVM
+jeql   L99999
+movl   _emptybuf,r0
+jbr    L99998
+L99999:moval   _tokbuf+4096,r0
+L99998:movl    r0,r9
+cmpl   r11,r9
+jleq   L99997
+movl   $1,r0
+jbr    L99996
+L99997:clrl    r0
+L99996:cmpl    r10,r9
+jleq   L99995
+movl   $1,r1
+jbr    L99994
+L99995:clrl    r1
+L99994:xorl2   r1,r0
+jeql   L211
+cvtlb  $38,(r11)+
+movw   $4097,(r11)
+addl2  $4099,r11
+addl3  $8,_emptybuf,r11
+L211:cmpl      r11,r10
+jleq   L212
+pushal L213
+calls  $1,_yyerror
+jbr    L214
+L2000008:cvtlb $38,(r11)+
+subl3  r11,r10,r0
+subl2  $2,r0
+cvtlw  r0,(r11)
+addl3  $2,r10,r0
+subl2  r11,r0
+addl2  r0,r11
+L214:ret
+L212:subl3     r11,r10,r0
+movl   r0,-4(fp)
+cmpl   r0,$4
+jgeq   L2000008
+L219:tstl      -4(fp)
+jleq   L214
+cvtlb  $37,(r11)+
+decl   -4(fp)
+jbr    L219
+.align 1
+.globl _movestr
+.set   L221,0x0
+.data
+.text
+_movestr:.word L221
+tstl   12(ap)
+jgtr   L225
+ret
+L225:movc3     12(ap),*8(ap),*4(ap)
+ret
+.align 1
+.globl _new_dot_s
+.set   L227,0x0
+.data
+.text
+_new_dot_s:.word       L227
+movl   $1,_newfflag
+movl   4(ap),_newfname
+movl   4(ap),_dotsname
+movl   $1,_lineno
+movl   $1,_scanlineno
+ret
+.align 1
+.globl _min
+.set   L232,0x0
+.data
+.text
+_min:.word     L232
+cmpl   4(ap),8(ap)
+jgeq   L99993
+movl   4(ap),r0
+jbr    L99992
+L99993:movl    8(ap),r0
+L99992:ret
+
diff --git a/bin/as/test/asscan2.o.ok b/bin/as/test/asscan2.o.ok
new file mode 100644 (file)
index 0000000..a864f58
Binary files /dev/null and b/bin/as/test/asscan2.o.ok differ
diff --git a/bin/as/test/asscan2.s b/bin/as/test/asscan2.s
new file mode 100644 (file)
index 0000000..525ad18
--- /dev/null
@@ -0,0 +1,794 @@
+.data
+.data
+_sccsid:.long  0x29232840
+.long  0x63737361
+.long  0x2e326e61
+.long  0x2e350963
+.long  0x42282031
+.long  0x656b7265
+.long  0x2979656c
+.long  0x332f3420
+.long  0x35382f30
+.long  0x0
+.comm  _rusefile,32
+.comm  _relfil,4
+.comm  _bufstart,4
+.comm  _buftail,4
+.comm  _emptybuf,4
+.comm  _tok_free,4
+.comm  _tok_temp,4
+.comm  _bufno,4
+.comm  _tokbuf,8192
+.comm  _tokptr,4
+.comm  _tokub,4
+.comm  _yylval,4
+.comm  _yybignum,20
+.comm  _yyopcode,2
+.comm  _newfflag,4
+.comm  _newfname,4
+.comm  _scanlineno,4
+.comm  _charsets,0
+.comm  _type,0
+.data
+.align 2
+_oval:.long    50
+.comm  _inbufunget,8
+.comm  _inbuffer,4096
+.align 2
+.globl _Ginbufptr
+_Ginbufptr:.long       _inbuffer
+.align 2
+.globl _Ginbufcnt
+_Ginbufcnt:.long       0
+.comm  _scannerhadeof,4
+.text
+LL0:.align     1
+.globl _fillinbuffer
+.set   L129,0x0
+.data
+.text
+_fillinbuffer:.word    L129
+subl2  $12,sp
+clrl   -4(fp)
+tstl   _scannerhadeof
+jneq   L133
+cvtwl  $4096,-8(fp)
+L136:pushl     -8(fp)
+addl3  $_inbuffer,-4(fp),-(sp)
+cvtbl  __iob+18,-(sp)
+calls  $3,_read
+movl   r0,-12(fp)
+tstl   r0
+jneq   L138
+movl   $1,_scannerhadeof
+L138:tstl      -12(fp)
+jleq   L140
+addl2  -12(fp),-4(fp)
+subl2  -12(fp),-8(fp)
+jeql   L140
+jbr    L136
+L133:clrl      _scannerhadeof
+L140:tstl      -4(fp)
+jneq   L141
+mnegb  $1,_inbuffer
+movl   $1,-4(fp)
+L141:subl3     $1,-4(fp),r0
+movl   r0,_Ginbufcnt
+moval  _inbuffer+1,_Ginbufptr
+ret
+.align 1
+.globl _scan_dot_s
+.data  1
+L240:.ascii    "New line in a string constant\0"
+.text
+.data  1
+L260:.ascii    "Illegal character mapped\72 %d, char read\72(octal) %o\0"
+.text
+.set   L143,0xfc0
+.data
+.text
+_scan_dot_s:.word      L143
+subl2  $44,sp
+addl3  $8,4(ap),r6
+addl3  $4048,4(ap),-24(fp)
+movl   _Ginbufptr,r11
+movl   _Ginbufcnt,r10
+tstl   _newfflag
+jeql   L149
+clrl   _newfflag
+pushl  $3
+pushl  _newfname
+calls  $1,_strlen
+addl3  $1,r0,-(sp)
+pushl  _newfname
+calls  $3,_savestr
+movl   r0,r9
+cvtlb  $22,(r6)+
+cvtlb  $42,(r6)+
+movl   r9,(r6)
+addl2  $4,r6
+cvtlb  $23,(r6)+
+cvtlb  $39,(r6)+
+movl   $1,(r6)
+L2000025:addl2 $4,r6
+L149:cmpl      r6,-24(fp)
+jgeq   L156
+L151:movl      r10,r0
+decl   r10
+tstl   r0
+jleq   L99999
+cvtbl  (r11)+,r0
+jbr    L99998
+L99999:calls   $0,_fillinbuffer
+movl   _Ginbufptr,r11
+movl   _Ginbufcnt,r10
+cvtbl  -1(r11),r0
+L99998:movl    r0,-8(fp)
+ashl   $1,r0,r0
+cvtwl  _type+2(r0),r9
+movl   r9,r0
+casel  r0,$49,$15
+L2000040:
+.word  L184-L2000040
+.word  L182-L2000040
+.word  L155-L2000040
+.word  L258-L2000040
+.word  L183-L2000040
+.word  L194-L2000040
+.word  L217-L2000040
+.word  L225-L2000040
+.word  L178-L2000040
+.word  L168-L2000040
+.word  L220-L2000040
+.word  L220-L2000040
+.word  L222-L2000040
+.word  L261-L2000040
+.word  L261-L2000040
+.word  L157-L2000040
+L261:movl      r9,r8
+L167:movl      r8,_oval
+cvtlb  r8,(r6)+
+movl   r8,r0
+casel  r0,$26,$18
+L2000041:
+.word  L2000035-L2000041
+.word  L2000035-L2000041
+.word  L2000035-L2000041
+.word  L2000035-L2000041
+.word  L275-L2000041
+.word  L2000035-L2000041
+.word  L274-L2000041
+.word  L274-L2000041
+.word  L265-L2000041
+.word  L149-L2000041
+.word  L265-L2000041
+.word  L149-L2000041
+.word  L149-L2000041
+.word  L265-L2000041
+.word  L269-L2000041
+.word  L265-L2000041
+.word  L265-L2000041
+.word  L266-L2000041
+.word  L266-L2000041
+jbr    L149
+L155:clrl      r11
+cvtlb  $35,(r6)+
+L156:addl3     $8,4(ap),r0
+subl3  r0,r6,r0
+movl   r0,*4(ap)
+cvtlb  $61,(r6)+
+movl   r11,_Ginbufptr
+movl   r10,_Ginbufcnt
+ret
+L157:movl      r10,r0
+decl   r10
+tstl   r0
+jleq   L99997
+cvtbl  (r11)+,r0
+jbr    L99996
+L99997:calls   $0,_fillinbuffer
+movl   _Ginbufptr,r11
+movl   _Ginbufcnt,r10
+cvtbl  -1(r11),r0
+L99996:movl    r0,-8(fp)
+cmpl   r0,$42
+jneq   L158
+clrl   -32(fp)
+movl   $1,-44(fp)
+movl   r10,r0
+decl   r10
+tstl   r0
+jgtr   L2000029
+jbr    L99987
+L2000037:movl  r10,r0
+decl   r10
+tstl   r0
+jleq   L99993
+cvtbl  (r11)+,r0
+jbr    L99992
+L99993:calls   $0,_fillinbuffer
+movl   _Ginbufptr,r11
+movl   _Ginbufcnt,r10
+cvtbl  -1(r11),r0
+L99992:movl    r0,-8(fp)
+cmpl   r0,$47
+jeql   L99991
+movl   $1,r0
+jbr    L99990
+L99991:clrl    r0
+L99990:movl    r0,-44(fp)
+jbr    L159
+L2000004:movl  -8(fp),r0
+cmpl   r0,$-1
+jeql   L155
+cmpl   r0,$10
+jneq   L2000002
+incl   _scanlineno
+incl   -32(fp)
+movl   r10,r0
+decl   r10
+tstl   r0
+jleq   L99987
+L2000029:cvtbl (r11)+,r0
+jbr    L99986
+L2000002:cmpl  r0,$42
+jeql   L2000037
+movl   r10,r0
+decl   r10
+tstl   r0
+jgtr   L2000029
+L99987:calls   $0,_fillinbuffer
+movl   _Ginbufptr,r11
+movl   _Ginbufcnt,r10
+cvtbl  -1(r11),r0
+L99986:movl    r0,-8(fp)
+L159:tstl      -44(fp)
+jneq   L2000004
+movl   $36,r8
+movl   -32(fp),r9
+jbr    L167
+L158:incl      r10
+cvtlb  -8(fp),-(r11)
+cvtbl  $64,r9
+jbr    L261
+L168:cmpl      _oval,$50
+jneq   L179
+movl   r10,r0
+decl   r10
+tstl   r0
+jleq   L99985
+L2000030:cvtbl (r11)+,r0
+jbr    L99984
+L99985:calls   $0,_fillinbuffer
+movl   _Ginbufptr,r11
+movl   _Ginbufcnt,r10
+cvtbl  -1(r11),r0
+L99984:movl    r0,-8(fp)
+bitw   $1024,_charsets[r0]
+jneq   L2000009
+bitw   $16,_charsets[r0]
+jeql   L179
+clrl   -28(fp)
+jbr    L173
+L2000009:movl  r10,r0
+decl   r10
+tstl   r0
+jleq   L99985
+jbr    L2000030
+L99981:calls   $0,_fillinbuffer
+movl   _Ginbufptr,r11
+movl   _Ginbufcnt,r10
+cvtbl  -1(r11),r0
+L99980:movl    r0,-8(fp)
+L173:movl      -8(fp),r0
+bitw   $16,_charsets[r0]
+jeql   L175
+mull3  $10,-28(fp),r0
+addl2  -8(fp),r0
+subl3  $48,r0,-28(fp)
+movl   r10,r0
+decl   r10
+tstl   r0
+jleq   L99981
+cvtbl  (r11)+,r0
+jbr    L99980
+L2000013:movl  r10,r0
+decl   r10
+tstl   r0
+jleq   L99979
+cvtbl  (r11)+,r0
+jbr    L99978
+L99979:calls   $0,_fillinbuffer
+movl   _Ginbufptr,r11
+movl   _Ginbufcnt,r10
+cvtbl  -1(r11),r0
+L99978:movl    r0,-8(fp)
+L175:movl      -8(fp),r0
+bitw   $1024,_charsets[r0]
+jneq   L2000013
+cmpl   r0,$34
+jneq   L179
+cvtlb  $23,(r6)+
+cvtlb  $39,(r6)+
+subl3  $1,-28(fp),(r6)
+addl2  $4,r6
+cvtlb  $22,(r6)+
+L178:clrl      -32(fp)
+clrl   -40(fp)
+L230:movl      r10,r0
+decl   r10
+tstl   r0
+jleq   L99956
+cvtbl  (r11)+,r0
+jbr    L99955
+L99977:calls   $0,_fillinbuffer
+movl   _Ginbufptr,r11
+movl   _Ginbufcnt,r10
+cvtbl  -1(r11),r0
+jbr    L99976
+L2000015:cmpl  -8(fp),$-1
+jeql   L180
+movl   r10,r0
+decl   r10
+tstl   r0
+jleq   L99977
+cvtbl  (r11)+,r0
+L99976:movl    r0,-8(fp)
+L179:cmpl      -8(fp),$10
+jneq   L2000015
+L180:cmpl      -8(fp),$-1
+jeql   L155
+movl   $50,_oval
+movl   _oval,r9
+movl   r9,r8
+incl   _scanlineno
+jbr    L167
+L182:incl      _scanlineno
+jbr    L261
+L183:movl      $53,_oval
+jbr    L151
+L184:movl      r10,r0
+decl   r10
+tstl   r0
+jleq   L99975
+cvtbl  (r11)+,r0
+jbr    L99974
+L99975:calls   $0,_fillinbuffer
+movl   _Ginbufptr,r11
+movl   _Ginbufcnt,r10
+cvtbl  -1(r11),r0
+L99974:movl    r0,-8(fp)
+bitw   $16,_charsets[r0]
+jeql   L185
+subl3  $48,r0,r9
+cmpl   r0,$49
+jneq   L189
+movl   r10,r0
+decl   r10
+tstl   r0
+jleq   L99973
+cvtbl  (r11)+,r0
+jbr    L99972
+L99973:calls   $0,_fillinbuffer
+movl   _Ginbufptr,r11
+movl   _Ginbufcnt,r10
+cvtbl  -1(r11),r0
+L99972:movl    r0,-8(fp)
+ashl   $1,r0,r0
+jbc    $7,_charsets(r0),L187
+subl3  $38,-8(fp),r9
+jbr    L189
+L187:incl      r10
+cvtlb  -8(fp),-(r11)
+jbr    L189
+L2000039:cmpl  -8(fp),$43
+jneq   L191
+incl   r9
+jbr    L189
+L191:decl      r9
+L189:movl      r10,r0
+decl   r10
+tstl   r0
+jleq   L99971
+cvtbl  (r11)+,r0
+jbr    L99970
+L99971:calls   $0,_fillinbuffer
+movl   _Ginbufptr,r11
+movl   _Ginbufcnt,r10
+cvtbl  -1(r11),r0
+L99970:movl    r0,-8(fp)
+ashl   $1,r0,r0
+jbs    $6,_charsets(r0),L2000039
+incl   r10
+cvtlb  -8(fp),-(r11)
+movl   $44,r8
+jbr    L167
+L185:incl      r10
+cvtlb  -8(fp),-(r11)
+movl   $49,r8
+jbr    L167
+L194:movl      -8(fp),-12(fp)
+movl   -8(fp),r0
+bitw   $256,_charsets[r0]
+jeql   L195
+movl   r10,r0
+decl   r10
+tstl   r0
+jleq   L99968
+cvtbl  (r11)+,r0
+jbr    L99967
+L99968:calls   $0,_fillinbuffer
+movl   _Ginbufptr,r11
+movl   _Ginbufcnt,r10
+cvtbl  -1(r11),r0
+L99967:movl    r0,-8(fp)
+cmpl   r0,$96
+jeql   L99969
+cmpl   r0,$94
+jneq   L196
+L99969:jbss    $6,-12(fp),L2000000
+L2000000:movl  -12(fp),r0
+cmpl   r0,$98
+jeql   L199
+cmpl   r0,$108
+jeql   L201
+cmpl   r0,$119
+jeql   L200
+movl   _d124,r9
+L197:movl      $43,r8
+jbr    L167
+L199:movl      $1,r9
+jbr    L197
+L200:movl      $2,r9
+jbr    L197
+L201:movl      $4,r9
+jbr    L197
+L196:incl      r10
+cvtlb  -8(fp),-(r11)
+movl   -12(fp),-8(fp)
+L195:moval     _yytext,r7
+L205:cmpl      r7,$_yytext+4096
+jgeq   L204
+cvtlb  -8(fp),(r7)+
+L204:movl      r10,r0
+decl   r10
+tstl   r0
+jleq   L99966
+cvtbl  (r11)+,r0
+jbr    L99965
+L99966:calls   $0,_fillinbuffer
+movl   _Ginbufptr,r11
+movl   _Ginbufcnt,r10
+cvtbl  -1(r11),r0
+L99965:movl    r0,-8(fp)
+ashl   $1,r0,r0
+bitw   $24,_charsets(r0)
+jneq   L205
+clrb   (r7)
+jbr    L207
+L2000017:movl  r10,r0
+decl   r10
+tstl   r0
+jleq   L99964
+cvtbl  (r11)+,r0
+jbr    L99963
+L99964:calls   $0,_fillinbuffer
+movl   _Ginbufptr,r11
+movl   _Ginbufcnt,r10
+cvtbl  -1(r11),r0
+L99963:movl    r0,-8(fp)
+L207:movl      -8(fp),r0
+bitw   $1024,_charsets[r0]
+jneq   L2000017
+incl   r10
+cvtlb  r0,-(r11)
+pushl  $1
+calls  $1,_lookup
+movl   (r0),-16(fp)
+movl   -16(fp),r0
+movzbl 12(r0),r0
+cmpl   r0,$0
+jeql   L212
+cmpl   r0,$30
+jeql   L215
+cmpl   r0,$32
+jeql   L215
+cmpl   r0,$33
+jeql   L215
+cmpl   r0,$246
+jneq   L216
+L212:movl      -16(fp),r9
+movl   $41,r8
+jbr    L167
+L215:movl      -16(fp),r0
+movb   4(r0),-33(fp)
+movb   13(r0),-34(fp)
+L2000032:movl  -16(fp),r0
+movzbl 12(r0),r8
+jbr    L167
+L216:movl      -16(fp),r0
+movzbl 4(r0),r9
+jbr    L2000032
+L217:movl      r11,_Ginbufptr
+movl   r10,_Ginbufcnt
+pushl  -8(fp)
+calls  $1,_number
+movl   r0,r8
+movl   _Ginbufptr,r11
+movl   _Ginbufcnt,r10
+movl   _yylval,r9
+jbr    L167
+L220:movl      r10,r0
+decl   r10
+tstl   r0
+jleq   L99962
+cvtbl  (r11)+,r0
+jbr    L99961
+L99962:calls   $0,_fillinbuffer
+movl   _Ginbufptr,r11
+movl   _Ginbufcnt,r10
+cvtbl  -1(r11),r0
+L99961:movl    r0,-12(fp)
+cmpl   r0,-8(fp)
+jeql   L261
+incl   r10
+cvtlb  r0,-(r11)
+jbr    L261
+L222:movl      r10,r0
+decl   r10
+tstl   r0
+jleq   L99960
+cvtbl  (r11)+,r0
+jbr    L99959
+L99960:calls   $0,_fillinbuffer
+movl   _Ginbufptr,r11
+movl   _Ginbufcnt,r10
+cvtbl  -1(r11),r0
+L99959:movl    r0,-8(fp)
+cmpl   r0,$40
+jneq   L223
+movl   $48,r8
+movl   r8,r9
+jbr    L167
+L223:incl      r10
+cvtlb  -8(fp),-(r11)
+movl   $61,r8
+jbr    L167
+L225:movl      r10,r0
+decl   r10
+tstl   r0
+jleq   L99958
+cvtbl  (r11)+,r0
+jbr    L99957
+L99958:calls   $0,_fillinbuffer
+movl   _Ginbufptr,r11
+movl   _Ginbufcnt,r10
+cvtbl  -1(r11),r0
+L99957:movl    r0,r9
+cmpl   r9,$10
+jneq   L226
+incl   _scanlineno
+L226:movl      $39,r8
+jbr    L167
+L99956:calls   $0,_fillinbuffer
+movl   _Ginbufptr,r11
+movl   _Ginbufcnt,r10
+cvtbl  -1(r11),r0
+L99955:movl    r0,-8(fp)
+cmpl   r0,$10
+jeql   L238
+cmpl   r0,$34
+jeql   L234
+cmpl   r0,$92
+jeql   L245
+L236:decl      *_strfile
+jlss   L99954
+movl   _strfile,r0
+movl   4(r0),r1
+incl   4(r0)
+cvtlb  -8(fp),(r1)
+jbr    L228
+L2000019:mnegl *_strfile,r0
+movl   _strfile,r1
+cmpl   r0,12(r1)
+jgeq   L99952
+movl   r1,r0
+cvtlb  -8(fp),*4(r0)
+cvtbl  *4(r0),r0
+cmpl   r0,$10
+jeql   L99951
+movl   _strfile,r0
+incl   4(r0)
+jbr    L228
+L99951:pushl   _strfile
+movl   _strfile,r0
+movzbl *4(r0),-(sp)
+L2000020:calls $2,__flsbuf
+L228:incl      -40(fp)
+jbr    L230
+L99954:movl    _strfile,r0
+jbs    $7,16(r0),L2000019
+L99952:pushl   _strfile
+movzbl -8(fp),-(sp)
+jbr    L2000020
+L238:pushal    L240
+calls  $1,_yywarning
+incl   _scanlineno
+incl   -32(fp)
+movl   r10,r0
+decl   r10
+tstl   r0
+jleq   L99948
+cvtbl  (r11)+,r0
+jbr    L99947
+L99948:calls   $0,_fillinbuffer
+movl   _Ginbufptr,r11
+movl   _Ginbufcnt,r10
+cvtbl  -1(r11),r0
+L99947:movl    r0,-8(fp)
+incl   r0
+jneq   L244
+decl   *_strfile
+jlss   L99946
+movl   _strfile,r0
+movl   4(r0),r1
+incl   4(r0)
+cvtlb  $10,(r1)
+jbr    L99945
+L99946:movl    _strfile,r0
+jbc    $7,16(r0),L99944
+mnegl  *_strfile,r0
+movl   _strfile,r1
+cmpl   r0,12(r1)
+jgeq   L99944
+movl   r1,r0
+cvtlb  $10,*4(r0)
+cvtbl  *4(r0),r0
+cmpl   r0,$10
+jeql   L99943
+movl   _strfile,r0
+incl   4(r0)
+jbr    L99945
+L99943:pushl   _strfile
+movl   _strfile,r0
+movzbl *4(r0),-(sp)
+jbr    L2000021
+L99944:pushl   _strfile
+movzbl $10,-(sp)
+L2000021:calls $2,__flsbuf
+L99945:incl    r10
+mnegb  $1,-(r11)
+L234:tstl      -32(fp)
+jeql   L257
+cvtlb  $36,(r6)+
+movl   -32(fp),(r6)
+addl2  $4,r6
+L257:decl      *_strfile
+jlss   L99936
+movl   _strfile,r0
+movl   4(r0),r1
+incl   4(r0)
+clrb   (r1)
+jbr    L99935
+L244:incl      r10
+cvtlb  -8(fp),-(r11)
+L2000033:movl  $10,-8(fp)
+jbr    L236
+L245:movl      r10,r0
+decl   r10
+tstl   r0
+jleq   L99940
+cvtbl  (r11)+,r0
+jbr    L99939
+L99940:calls   $0,_fillinbuffer
+movl   _Ginbufptr,r11
+movl   _Ginbufcnt,r10
+cvtbl  -1(r11),r0
+L99939:movl    r0,-8(fp)
+bitw   $2048,_charsets[r0]
+jeql   L246
+cmpl   r0,$98
+jeql   L249
+cmpl   r0,$102
+jeql   L250
+cmpl   r0,$110
+jeql   L2000033
+cmpl   r0,$114
+jeql   L252
+cmpl   r0,$116
+jeql   L253
+L246:movl      -8(fp),r0
+bitw   $8192,_charsets[r0]
+jneq   L254
+jbr    L236
+L249:movl      $8,-8(fp)
+jbr    L236
+L250:movl      $12,-8(fp)
+jbr    L236
+L252:movl      $13,-8(fp)
+jbr    L236
+L253:movl      $9,-8(fp)
+jbr    L236
+L254:clrl      -4(fp)
+clrl   -28(fp)
+jbr    L255
+L2000023:movl  -8(fp),r0
+bitw   $8192,_charsets[r0]
+jeql   L256
+incl   -4(fp)
+ashl   $3,-28(fp),-28(fp)
+subl3  $48,r0,r0
+addl2  r0,-28(fp)
+movl   r10,r0
+decl   r10
+tstl   r0
+jleq   L99938
+cvtbl  (r11)+,r0
+jbr    L99937
+L99938:calls   $0,_fillinbuffer
+movl   _Ginbufptr,r11
+movl   _Ginbufcnt,r10
+cvtbl  -1(r11),r0
+L99937:movl    r0,-8(fp)
+L255:cmpl      -4(fp),$3
+jlss   L2000023
+L256:incl      r10
+cvtlb  -8(fp),-(r11)
+cvtbl  -28(fp),-8(fp)
+jbr    L236
+L99936:movl    _strfile,r0
+jbc    $7,16(r0),L99934
+mnegl  *_strfile,r0
+movl   _strfile,r1
+cmpl   r0,12(r1)
+jgeq   L99934
+movl   r1,r0
+clrb   *4(r0)
+cvtbl  *4(r0),r0
+cmpl   r0,$10
+jeql   L99933
+movl   _strfile,r0
+incl   4(r0)
+jbr    L99935
+L99933:pushl   _strfile
+movl   _strfile,r0
+movzbl *4(r0),-(sp)
+jbr    L2000024
+L99934:pushl   _strfile
+movzbl $0,-(sp)
+L2000024:calls $2,__flsbuf
+L99935:pushl   $1
+addl3  $1,-40(fp),-(sp)
+pushl  $0
+calls  $3,_savestr
+movl   r0,r9
+movl   $42,r8
+decw   6(r9)
+jbr    L167
+L258:movl      _lineno,-32(fp)
+movl   _scanlineno,_lineno
+pushl  -8(fp)
+pushl  r9
+pushal L260
+calls  $3,_yyerror
+movl   -32(fp),_lineno
+movl   $52,r8
+jbr    L167
+L265:movl      r9,(r6)
+jbr    L2000025
+L266:cvtlb     r9,(r6)+
+jbr    L149
+L269:movc3     $20,_yybignum,(r6)
+addl2  $20,r6
+jbr    L149
+L274:moval     -34(fp),r0
+movw   (r0),(r6)
+addl2  $2,r6
+jbr    L149
+L275:moval     -34(fp),r0
+movw   (r0),(r6)
+addl2  $2,r6
+L2000035:calls $0,_symalloc
+movl   r0,(r6)
+jbr    L2000025
+
diff --git a/bin/as/test/asscan3.o.ok b/bin/as/test/asscan3.o.ok
new file mode 100644 (file)
index 0000000..8931db1
Binary files /dev/null and b/bin/as/test/asscan3.o.ok differ
diff --git a/bin/as/test/asscan3.s b/bin/as/test/asscan3.s
new file mode 100644 (file)
index 0000000..235e75b
--- /dev/null
@@ -0,0 +1,168 @@
+.data
+.data
+_sccsid:.long  0x29232840
+.long  0x63737361
+.long  0x2e336e61
+.long  0x2e350963
+.long  0x42282031
+.long  0x656b7265
+.long  0x2979656c
+.long  0x332f3420
+.long  0x35382f30
+.long  0x0
+.comm  _rusefile,32
+.comm  _relfil,4
+.comm  _bufstart,4
+.comm  _buftail,4
+.comm  _emptybuf,4
+.comm  _tok_free,4
+.comm  _tok_temp,4
+.comm  _bufno,4
+.comm  _tokbuf,8192
+.comm  _tokptr,4
+.comm  _tokub,4
+.comm  _yylval,4
+.comm  _yybignum,20
+.comm  _yyopcode,2
+.comm  _newfflag,4
+.comm  _newfname,4
+.comm  _scanlineno,4
+.comm  _charsets,0
+.comm  _type,0
+.align 1
+.globl _type
+_type:.long    0x350033
+.long  0x340034
+.long  0x340034
+.long  0x340034
+.long  0x340034
+.long  0x320035
+.long  0x340034
+.long  0x340035
+.long  0x340034
+.long  0x340034
+.long  0x340034
+.long  0x340034
+.long  0x340034
+.long  0x340034
+.long  0x340034
+.long  0x340034
+.long  0x350034
+.long  0x390047
+.long  0x2e003a
+.long  0x450031
+.long  0x2f0038
+.long  0x2d004b
+.long  0x480043
+.long  0x36003d
+.long  0x370040
+.long  0x370037
+.long  0x370037
+.long  0x370037
+.long  0x370037
+.long  0x420037
+.long  0x3b0041
+.long  0x3c0034
+.long  0x340034
+.long  0x360036
+.long  0x360036
+.long  0x360036
+.long  0x360036
+.long  0x360036
+.long  0x360036
+.long  0x360036
+.long  0x360036
+.long  0x360036
+.long  0x360036
+.long  0x360036
+.long  0x360036
+.long  0x360036
+.long  0x340049
+.long  0x3f004a
+.long  0x3e0036
+.long  0x360036
+.long  0x360036
+.long  0x360036
+.long  0x360036
+.long  0x360036
+.long  0x360036
+.long  0x360036
+.long  0x360036
+.long  0x360036
+.long  0x360036
+.long  0x360036
+.long  0x360036
+.long  0x360036
+.long  0x440034
+.long  0x460034
+.long  0x34
+.align 1
+.globl _charsets
+_charsets:.long        0x0
+.long  0x0
+.long  0x0
+.long  0x0
+.long  0x4000000
+.long  0x1000
+.long  0x0
+.long  0x0
+.long  0x0
+.long  0x0
+.long  0x0
+.long  0x0
+.long  0x0
+.long  0x0
+.long  0x0
+.long  0x0
+.long  0x400
+.long  0x1000
+.long  0x8
+.long  0x0
+.long  0x0
+.long  0x400000
+.long  0x400000
+.long  0x208
+.long  0x20902090
+.long  0x20902090
+.long  0x20902090
+.long  0x20102010
+.long  0x100010
+.long  0x0
+.long  0x0
+.long  0x0
+.long  0xc0000
+.long  0xc010c
+.long  0x2c402c
+.long  0x4028402c
+.long  0x84028
+.long  0x80008
+.long  0x80108
+.long  0x80008
+.long  0x80008
+.long  0x80008
+.long  0x80008
+.long  0x1080008
+.long  0x80009
+.long  0x8
+.long  0x1000
+.long  0x80000
+.long  0xa0000
+.long  0xa090a
+.long  0x2a402a
+.long  0x4028482a
+.long  0x84028
+.long  0x80008
+.long  0x80108
+.long  0x80808
+.long  0x80008
+.long  0x80808
+.long  0x80808
+.long  0x1080008
+.long  0x80009
+.long  0x8
+.long  0x0
+.long  0x0
+.long  0x0
+.data
+.text
+LL0:
diff --git a/bin/as/test/asscan4.o.ok b/bin/as/test/asscan4.o.ok
new file mode 100644 (file)
index 0000000..46b368b
Binary files /dev/null and b/bin/as/test/asscan4.o.ok differ
diff --git a/bin/as/test/asscan4.s b/bin/as/test/asscan4.s
new file mode 100644 (file)
index 0000000..bef7768
--- /dev/null
@@ -0,0 +1,502 @@
+.data
+.data
+_sccsid:.long  0x29232840
+.long  0x63737361
+.long  0x2e346e61
+.long  0x2e350963
+.long  0x42282031
+.long  0x656b7265
+.long  0x2979656c
+.long  0x332f3420
+.long  0x35382f30
+.long  0x0
+.comm  _rusefile,32
+.comm  _relfil,4
+.comm  _bufstart,4
+.comm  _buftail,4
+.comm  _emptybuf,4
+.comm  _tok_free,4
+.comm  _tok_temp,4
+.comm  _bufno,4
+.comm  _tokbuf,8192
+.comm  _tokptr,4
+.comm  _tokub,4
+.comm  _yylval,4
+.comm  _yybignum,20
+.comm  _yyopcode,2
+.comm  _newfflag,4
+.comm  _newfname,4
+.comm  _scanlineno,4
+.comm  _charsets,0
+.comm  _type,0
+.lcomm _numbuf,128
+.text
+LL0:.align     1
+.globl _number
+.set   L126,0xf80
+.data
+.text
+_number:.word  L126
+subl2  $20,sp
+movl   4(ap),r11
+movl   _Ginbufptr,r8
+movl   _Ginbufcnt,r7
+moval  _numbuf,r9
+movl   $10,-4(fp)
+movl   r11,r0
+casel  r0,$48,$9
+L2000005:
+.word  L133-L2000005
+.word  L181-L2000005
+.word  L181-L2000005
+.word  L181-L2000005
+.word  L181-L2000005
+.word  L181-L2000005
+.word  L181-L2000005
+.word  L181-L2000005
+.word  L181-L2000005
+.word  L181-L2000005
+jbr    L131
+L2000002:cmpl  r0,$10
+jeql   L195
+cmpl   r0,$16
+jeql   L196
+jbr    L192
+L2000004:cvtbl (r8)+,r0
+jbr    L99992
+L133:movl      r7,r0
+decl   r7
+tstl   r0
+jleq   L99999
+cvtbl  (r8)+,r0
+jbr    L99998
+L99999:calls   $0,_fillinbuffer
+movl   _Ginbufptr,r8
+movl   _Ginbufcnt,r7
+cvtbl  -1(r8),r0
+L99998:movl    r0,r11
+movl   r11,r0
+cmpl   r0,$72
+jeql   L146
+jgtr   L163
+cmpl   r0,$55
+jeql   L160
+jgtr   L164
+cmpl   r0,$51
+jeql   L160
+jgtr   L165
+cmpl   r0,$49
+jeql   L160
+jgtr   L166
+cmpl   r0,$48
+jeql   L160
+L161:incl      r7
+cvtlb  r11,-(r8)
+clrl   r10
+jbr    L162
+L137:mnegl     $1,_yylval
+L2000000:movl  $34,r10
+L138:movl      r8,_Ginbufptr
+movl   r7,_Ginbufcnt
+movl   r10,r0
+ret
+L139:movl      r7,r0
+decl   r7
+tstl   r0
+jleq   L99997
+cvtbl  (r8)+,r0
+jbr    L99996
+L99997:calls   $0,_fillinbuffer
+movl   _Ginbufptr,r8
+movl   _Ginbufcnt,r7
+cvtbl  -1(r8),r0
+L99996:cvtlb   r0,-9(fp)
+incl   r7
+movb   -9(fp),-(r8)
+cvtbl  -9(fp),r0
+bitw   $624,_charsets[r0]
+jneq   L141
+movl   $1,_yylval
+jbr    L2000000
+L141:cvtbl     $102,r11
+L142:movl      r8,_Ginbufptr
+movl   r7,_Ginbufcnt
+pushl  r11
+calls  $1,_floatnumber
+movc3  $20,(r0),_yybignum
+movl   $40,r0
+ret
+L144:cvtbl     $100,r11
+jbr    L142
+L146:cvtbl     $104,r11
+jbr    L142
+L148:cvtbl     $103,r11
+jbr    L142
+L150:movl      $48,r11
+movl   $16,-4(fp)
+jbr    L131
+L160:movl      $8,-4(fp)
+jbr    L131
+L166:cmpl      r0,$50
+jeql   L160
+jbr    L161
+L165:cmpl      r0,$53
+jeql   L160
+jgtr   L167
+cmpl   r0,$52
+jeql   L160
+jbr    L161
+L167:cmpl      r0,$54
+jeql   L160
+jbr    L161
+L164:cmpl      r0,$70
+jeql   L141
+jgtr   L168
+cmpl   r0,$57
+jeql   L160
+jgtr   L169
+cmpl   r0,$56
+jeql   L160
+jbr    L161
+L169:cmpl      r0,$68
+jeql   L144
+jbr    L161
+L168:cmpl      r0,$71
+jeql   L148
+jbr    L161
+L163:cmpl      r0,$102
+jeql   L139
+jgtr   L170
+cmpl   r0,$98
+jeql   L137
+jgtr   L171
+cmpl   r0,$88
+jeql   L150
+jbr    L161
+L171:cmpl      r0,$100
+jeql   L144
+jbr    L161
+L170:cmpl      r0,$104
+jeql   L146
+jgtr   L172
+cmpl   r0,$103
+jeql   L148
+jbr    L161
+L172:cmpl      r0,$120
+jeql   L150
+jbr    L161
+L181:movl      r7,r0
+decl   r7
+tstl   r0
+jleq   L99995
+cvtbl  (r8)+,r0
+jbr    L99994
+L99995:calls   $0,_fillinbuffer
+movl   _Ginbufptr,r8
+movl   _Ginbufcnt,r7
+cvtbl  -1(r8),r0
+L99994:cvtlb   r0,-9(fp)
+cvtbl  -9(fp),r0
+cmpl   r0,$98
+jeql   L185
+cmpl   r0,$102
+jneq   L186
+subl3  $47,r11,_yylval
+jbr    L2000000
+L185:subl3     $47,r11,r0
+mnegl  r0,_yylval
+jbr    L2000000
+L186:incl      r7
+movb   -9(fp),-(r8)
+movl   $10,-4(fp)
+L131:clrl      r10
+L191:subl3     $48,r11,-8(fp)
+movl   -4(fp),r0
+cmpl   r0,$8
+jneq   L2000002
+ashl   $3,r10,r10
+jbr    L192
+L195:mull2     $10,r10
+jbr    L192
+L196:ashl      $4,r10,r10
+bitw   $2,_charsets[r11]
+jeql   L197
+subl3  $87,r11,-8(fp)
+jbr    L192
+L197:bitw      $4,_charsets[r11]
+jeql   L192
+subl3  $55,r11,-8(fp)
+L192:cvtlb     r11,(r9)+
+subl2  -8(fp),r10
+movl   r7,r0
+decl   r7
+tstl   r0
+jgtr   L2000004
+calls  $0,_fillinbuffer
+movl   _Ginbufptr,r8
+movl   _Ginbufcnt,r7
+cvtbl  -1(r8),r0
+L99992:movl    r0,r11
+bitw   $16,_charsets[r11]
+jneq   L191
+cmpl   -4(fp),$16
+jneq   L189
+bitw   $6,_charsets[r11]
+jneq   L191
+L189:incl      r7
+cvtlb  r11,-(r8)
+clrb   (r9)
+subl3  $_numbuf,r9,-20(fp)
+movl   -4(fp),r0
+cmpl   r0,$8
+jeql   L209
+cmpl   r0,$10
+jeql   L207
+cmpl   r0,$16
+jeql   L204
+L162:mnegl     r10,_yylval
+movl   $39,r10
+jbr    L138
+L204:cmpl      -20(fp),$8
+jleq   L162
+L206:pushal    -16(fp)
+pushl  -4(fp)
+pushal _numbuf
+calls  $3,_as_atoi
+movc3  $20,(r0),_yybignum
+movl   $40,r10
+jbr    L138
+L207:cmpl      -20(fp),$10
+jgeq   L206
+jbr    L162
+L209:cmpl      -20(fp),$11
+jgtr   L206
+cmpl   -20(fp),$11
+jneq   L162
+cmpb   _numbuf,$3
+jgtr   L206
+jbr    L162
+.align 1
+.globl _floatnumber
+.data  1
+L216:.ascii    "Floating number too long.\0"
+.text
+.data  1
+L217:.ascii    "Floating 0%c conflicts with exponent %c; choose %c\0"
+.text
+.data  1
+L238:.ascii    "Badly formatted floating point number.\0"
+.text
+.lcomm L247,20
+.set   L212,0xc00
+.data
+.text
+_floatnumber:.word     L212
+subl2  $28,sp
+moval  L216,-12(fp)
+moval  L217,-16(fp)
+movl   _Ginbufptr,r11
+movl   _Ginbufcnt,r10
+moval  _numbuf,-4(fp)
+clrl   -24(fp)
+clrl   -28(fp)
+movl   r11,_Ginbufptr
+movl   r10,_Ginbufcnt
+pushal -4(fp)
+pushl  $1
+calls  $2,_scanint
+bisl2  r0,-24(fp)
+movl   _Ginbufptr,r11
+movl   _Ginbufcnt,r10
+movl   r10,r0
+decl   r10
+tstl   r0
+jleq   L99991
+cvtbl  (r11)+,r0
+jbr    L99990
+L99991:calls   $0,_fillinbuffer
+movl   _Ginbufptr,r11
+movl   _Ginbufcnt,r10
+cvtbl  -1(r11),r0
+L99990:movl    r0,-8(fp)
+cmpl   -4(fp),$_numbuf+128
+jneq   L219
+cmpl   _passno,$2
+jeql   L2000010
+jbr    L222
+L2000014:incl  -28(fp)
+cvtlb  $46,*-4(fp)
+incl   -4(fp)
+movl   r11,_Ginbufptr
+movl   r10,_Ginbufcnt
+pushal -4(fp)
+pushl  $0
+calls  $2,_scanint
+bisl2  r0,-24(fp)
+movl   _Ginbufptr,r11
+movl   _Ginbufcnt,r10
+movl   r10,r0
+decl   r10
+tstl   r0
+jleq   L99989
+cvtbl  (r11)+,r0
+jbr    L99988
+L99989:calls   $0,_fillinbuffer
+movl   _Ginbufptr,r11
+movl   _Ginbufcnt,r10
+cvtbl  -1(r11),r0
+L99988:movl    r0,-8(fp)
+cmpl   -4(fp),$_numbuf+128
+jneq   L223
+cmpl   _passno,$2
+jneq   L222
+L2000010:pushl -12(fp)
+calls  $1,_yywarning
+jbr    L222
+L219:movl      -8(fp),r0
+bitw   $512,_charsets[r0]
+jneq   L2000014
+L223:movl      -8(fp),r0
+bitw   $32,_charsets[r0]
+jeql   L226
+incl   -28(fp)
+cmpl   r0,4(ap)
+jeql   L227
+cmpl   _passno,$2
+jneq   L227
+pushl  4(ap)
+pushl  r0
+pushl  4(ap)
+pushl  -16(fp)
+calls  $4,_yywarning
+L227:movl      4(ap),r0
+cmpl   r0,$100
+jeql   L232
+cmpl   r0,$102
+jneq   L233
+L232:movb      $101,*-4(fp)
+L2000006:incl  -4(fp)
+movl   r11,_Ginbufptr
+movl   r10,_Ginbufcnt
+pushal -4(fp)
+pushl  $1
+calls  $2,_scanint
+bisl2  r0,-24(fp)
+movl   _Ginbufptr,r11
+movl   _Ginbufcnt,r10
+movl   r10,r0
+decl   r10
+tstl   r0
+jgtr   L2000008
+calls  $0,_fillinbuffer
+movl   _Ginbufptr,r11
+movl   _Ginbufcnt,r10
+cvtbl  -1(r11),r0
+L99986:movl    r0,-8(fp)
+cmpl   -4(fp),$_numbuf+128
+jneq   L226
+cmpl   _passno,$2
+jneq   L222
+jbr    L2000010
+L2000008:cvtbl (r11)+,r0
+jbr    L99986
+L233:cvtlb     4(ap),*-4(fp)
+jbr    L2000006
+L226:tstl      -24(fp)
+jneq   L99985
+tstl   -28(fp)
+jneq   L236
+L99985:pushal  L238
+calls  $1,_yyerror
+L236:incl      r10
+cvtlb  -8(fp),-(r11)
+clrb   *-4(fp)
+incl   -4(fp)
+L222:movl      4(ap),r0
+casel  r0,$100,$4
+L2000015:
+.word  L242-L2000015
+.word  L239-L2000015
+.word  L241-L2000015
+.word  L243-L2000015
+.word  L244-L2000015
+L239:movl      r11,_Ginbufptr
+movl   r10,_Ginbufcnt
+pushal -20(fp)
+pushl  4(ap)
+pushal _numbuf
+calls  $3,_as_atof
+movab  L247,r1
+movc3  $20,(r0),(r1)
+movab  L247,r0
+ret
+L241:movl      $5,4(ap)
+jbr    L239
+L242:movl      $6,4(ap)
+jbr    L239
+L243:movl      $7,4(ap)
+L2000012:incl  _nGHnumbers
+jbr    L239
+L244:movl      $8,4(ap)
+jbr    L2000012
+.align 1
+.globl _scanint
+.set   L248,0xc00
+.data
+.text
+_scanint:.word L248
+subl2  $8,sp
+clrl   -8(fp)
+movl   _Ginbufptr,r11
+movl   _Ginbufcnt,r10
+movl   r10,r0
+decl   r10
+tstl   r0
+jleq   L99984
+L2000023:cvtbl (r11)+,r0
+jbr    L99983
+L99984:calls   $0,_fillinbuffer
+movl   _Ginbufptr,r11
+movl   _Ginbufcnt,r10
+cvtbl  -1(r11),r0
+L99983:movl    r0,-4(fp)
+bitw   $64,_charsets[r0]
+jeql   L256
+tstl   4(ap)
+jeql   L254
+tstl   -8(fp)
+jneq   L254
+movl   *8(ap),r0
+incl   *8(ap)
+cvtlb  -4(fp),(r0)
+jbr    L255
+L254:movl      $1,-8(fp)
+L255:movl      r10,r0
+decl   r10
+tstl   r0
+jleq   L99984
+jbr    L2000023
+L2000022:movl  *8(ap),r0
+incl   *8(ap)
+cvtlb  -4(fp),(r0)
+movl   r10,r0
+decl   r10
+tstl   r0
+jleq   L99980
+cvtbl  (r11)+,r0
+jbr    L99979
+L99980:calls   $0,_fillinbuffer
+movl   _Ginbufptr,r11
+movl   _Ginbufcnt,r10
+cvtbl  -1(r11),r0
+L99979:movl    r0,-4(fp)
+L256:movl      -4(fp),r0
+bitw   $16,_charsets[r0]
+jneq   L2000022
+incl   r10
+cvtlb  r0,-(r11)
+movl   r11,_Ginbufptr
+movl   r10,_Ginbufcnt
+movl   -8(fp),r0
+ret
+
diff --git a/bin/as/test/assizetab.o.ok b/bin/as/test/assizetab.o.ok
new file mode 100644 (file)
index 0000000..9b68e59
Binary files /dev/null and b/bin/as/test/assizetab.o.ok differ
diff --git a/bin/as/test/assizetab.s b/bin/as/test/assizetab.s
new file mode 100644 (file)
index 0000000..f6510df
--- /dev/null
@@ -0,0 +1,197 @@
+.data
+.data
+_sccsid:.long  0x29232840
+.long  0x69737361
+.long  0x6174657a
+.long  0x9632e62
+.long  0x20312e35
+.long  0x72654228
+.long  0x656c656b
+.long  0x34202979
+.long  0x2f30332f
+.long  0x3538
+.comm  _rusefile,32
+.comm  _relfil,4
+.align 2
+.globl _reflen
+_reflen:.long  0
+.long  0
+.long  1
+.long  1
+.long  2
+.long  2
+.long  4
+.long  4
+.long  8
+.long  8
+.long  16
+.long  16
+.align 2
+.globl _lgreflen
+_lgreflen:.long        -1
+.long  -1
+.long  0
+.long  0
+.long  1
+.long  1
+.long  2
+.long  2
+.long  3
+.long  3
+.long  4
+.long  4
+.align 2
+.globl _len124
+_len124:.long  0
+.long  2
+.long  4
+.long  0
+.long  6
+.long  0
+.long  0
+.long  0
+.long  8
+.long  0
+.long  0
+.long  0
+.long  0
+.long  0
+.long  0
+.long  0
+.long  10
+.long  0
+.globl _mod124
+_mod124:.long  0x200000
+.long  0x40
+.long  0x0
+.long  0x0
+.long  0x0
+.align 2
+.globl _type_124
+_type_124:.long        0
+.long  0
+.long  1
+.long  0
+.long  2
+.long  0
+.long  0
+.long  0
+.long  3
+.long  0
+.long  0
+.long  0
+.long  0
+.long  0
+.long  0
+.long  0
+.long  4
+.long  0
+.align 2
+.globl _ty_NORELOC
+_ty_NORELOC:.long      0
+.long  0
+.long  0
+.long  1
+.long  1
+.long  1
+.long  1
+.long  1
+.long  1
+.long  1
+.align 2
+.globl _ty_float
+_ty_float:.long        0
+.long  0
+.long  0
+.long  0
+.long  0
+.long  1
+.long  1
+.long  1
+.long  1
+.long  0
+.align 2
+.globl _ty_LEN
+_ty_LEN:.long  2
+.long  4
+.long  6
+.long  8
+.long  10
+.long  6
+.long  8
+.long  8
+.long  10
+.long  0
+.align 2
+.globl _ty_nbyte
+_ty_nbyte:.long        1
+.long  2
+.long  4
+.long  8
+.long  16
+.long  4
+.long  8
+.long  8
+.long  16
+.long  0
+.align 2
+.globl _ty_nlg
+_ty_nlg:.long  0
+.long  1
+.long  2
+.long  3
+.long  4
+.long  2
+.long  3
+.long  3
+.long  4
+.long  -1
+.align 2
+.globl _ty_string
+_ty_string:.data       2
+L120:.ascii    "byte\0"
+.data
+.long  L120
+.data  2
+L121:.ascii    "word\0"
+.data
+.long  L121
+.data  2
+L122:.ascii    "long\0"
+.data
+.long  L122
+.data  2
+L123:.ascii    "quad\0"
+.data
+.long  L123
+.data  2
+L124:.ascii    "octa\0"
+.data
+.long  L124
+.data  2
+L125:.ascii    "f_float\0"
+.data
+.long  L125
+.data  2
+L126:.ascii    "d_float\0"
+.data
+.long  L126
+.data  2
+L127:.ascii    "g_float\0"
+.data
+.long  L127
+.data  2
+L128:.ascii    "h_float\0"
+.data
+.long  L128
+.data  2
+L129:.ascii    "unpackd\0"
+.data
+.long  L129
+.data  2
+L130:.ascii    "??snark??\0"
+.data
+.long  L130
+.data
+.text
+LL0:
diff --git a/bin/as/test/assyms.o.ok b/bin/as/test/assyms.o.ok
new file mode 100644 (file)
index 0000000..d81d3ba
Binary files /dev/null and b/bin/as/test/assyms.o.ok differ
diff --git a/bin/as/test/assyms.s b/bin/as/test/assyms.s
new file mode 100644 (file)
index 0000000..fc1dda9
--- /dev/null
@@ -0,0 +1,919 @@
+.data
+.data
+_sccsid:.long  0x29232840
+.long  0x79737361
+.long  0x632e736d
+.long  0x312e3509
+.long  0x65422820
+.long  0x6c656b72
+.long  0x20297965
+.long  0x30332f34
+.long  0x35382f
+.comm  _rusefile,32
+.comm  _relfil,4
+.comm  _allochead,4
+.comm  _alloctail,4
+.comm  _newbox,4
+.comm  _nextsym,4
+.comm  _symsleft,4
+.comm  _symptrs,4
+.comm  _symdelim,36
+.comm  _symptrub,4
+.comm  _htab,4
+.comm  _itab,1200
+.comm  _nsyms,4
+.comm  _njxxx,4
+.comm  _nforgotten,4
+.comm  _nlabels,4
+.data
+.align 2
+.globl _strplhead
+_strplhead:.long       0
+.text
+LL0:.align     1
+.globl _symtabinit
+.set   L125,0x0
+.data
+.text
+_symtabinit:.word      L125
+clrl   _allochead
+clrl   _alloctail
+clrl   _nextsym
+clrl   _symsleft
+calls  $0,_strpoolalloc
+clrl   _htab
+calls  $0,_htaballoc
+ret
+.align 1
+.globl _syminstall
+.set   L132,0xf80
+.data
+.text
+_syminstall:.word      L132
+clrl   r7
+L2000001:movl  $-1431655766,_itab[r7]
+aoblss $300,r7,L2000001
+moval  _instab,r11
+jbr    L141
+L2000005:addl3 $8,(r11),r9
+moval  _yytext,r8
+L142:movb      (r9)+,(r8)+
+jneq   L142
+pushl  $0
+calls  $1,_lookup
+movl   r0,r10
+tstl   (r10)
+jneq   L139
+movl   r11,(r10)
+cmpb   12(r11),$33
+jeql   L145
+cmpb   12(r11),$32
+jeql   L145
+tstb   12(r11)
+jneq   L139
+L145:movzbl    13(r11),r0
+cmpl   _itab[r0],$-1431655766
+jneq   L146
+pushl  $4
+pushl  $256
+calls  $2,_ClearCalloc
+movzbl 13(r11),r1
+movl   r0,_itab[r1]
+clrl   r7
+L2000003:movzbl        13(r11),r0
+ashl   $2,r7,r1
+addl3  r1,_itab[r0],r0
+movl   $-1431655766,(r0)
+aoblss $256,r7,L2000003
+L146:movzbl    4(r11),r0
+movzbl 13(r11),r1
+ashl   $2,r0,r0
+addl2  _itab[r1],r0
+movl   r11,(r0)
+L139:addl2     $16,r11
+L141:movl      (r11),r0
+tstb   8(r0)
+jneq   L2000005
+ret
+.align 1
+.globl _freezesymtab
+.set   L151,0xf00
+.data
+.text
+_freezesymtab:.word    L151
+subl2  $4,sp
+clrl   r10
+movl   _allochead,r8
+jbr    L157
+L2000009:addl3 $4,r8,r11
+addl3  $4804,r8,r9
+cmpl   r9,_alloctail
+jleq   L99999
+movl   _nextsym,r0
+jbr    L99998
+L99999:movl    r9,r0
+L99998:movl    r0,r9
+jbr    L160
+L2000007:movzbl        12(r11),r0
+cmpl   r0,$248
+jgequ  L158
+movzbl 4(r11),r0
+jbs    $7,r0,L163
+bitb   $30,4(r11)
+jneq   L164
+cvtlb  $1,4(r11)
+jbr    L163
+L164:movzbl    4(r11),r0
+bicl2  $-31,r0
+cmpl   r0,$6
+jneq   L166
+L2000012:cvtwl 16(r11),r0
+mull2  $28,r0
+addl2  _usedot(r0),8(r11)
+jbr    L163
+L166:movzbl    4(r11),r0
+bicl2  $-31,r0
+cmpl   r0,$4
+jeql   L2000012
+movzbl 4(r11),r0
+bicl2  $-31,r0
+cmpl   r0,$8
+jneq   L163
+movl   8(r11),-4(fp)
+addl3  _datbase,_hdr+12,8(r11)
+addl2  -4(fp),_hdr+12
+L163:tstl      _savelabels
+jneq   L99997
+movzbl 12(r11),r0
+cmpl   r0,$246
+jneq   L99997
+movl   (r11),r0
+jbc    $1,4(r0),L99997
+movl   (r11),r0
+cmpb   8(r0),$76
+jeql   L158
+L99997:cvtlw   r10,16(r11)
+incl   r10
+L158:addl2     $24,r11
+L160:cmpl      r11,r9
+jlss   L2000007
+movl   (r8),r8
+L157:tstl      r8
+jneq   L2000009
+ret
+.align 1
+.globl _stabfix
+.set   L173,0xe00
+.data
+.text
+_stabfix:.word L173
+movl   _symptrs,r10
+L2000013:movl  (r10),r11
+cmpl   r10,_symptrub
+jlss   L2000015
+ret
+L2000015:tstb  13(r11)
+jeql   L177
+movzbl 4(r11),r0
+jbc    $7,r0,L177
+movl   20(r11),r9
+movzbl 12(r11),r0
+cmpl   r0,$247
+jneq   L181
+movzbl 5(r11),r0
+ashl   $16,r0,r0
+movzwl 6(r11),r1
+bisl3  r1,r0,8(r11)
+addl2  8(r9),8(r11)
+jbr    L182
+L181:movl      8(r9),8(r11)
+L182:movw      16(r9),16(r11)
+movb   4(r9),4(r11)
+L177:addl2     $4,r10
+jbr    L2000013
+.align 1
+.globl _Calloc
+.data  1
+L190:.ascii    "Ran out of Memory\0"
+.text
+.set   L183,0x800
+.data
+.text
+_Calloc:.word  L183
+mull3  8(ap),4(ap),-(sp)
+calls  $1,_sbrk
+movl   r0,r11
+cmpl   r11,$-1
+jneq   L188
+pushal L190
+calls  $1,_yyerror
+calls  $0,_delexit
+L188:movl      r11,r0
+ret
+.align 1
+.globl _ClearCalloc
+.set   L192,0xc00
+.data
+.text
+_ClearCalloc:.word     L192
+mull3  8(ap),4(ap),r10
+pushl  8(ap)
+pushl  4(ap)
+calls  $2,_Calloc
+movl   r0,r11
+movc5  $0, (r0), $0, r10, (r11)
+movl   r11,r0
+ret
+.align 1
+.globl _symalloc
+.set   L196,0x0
+.data
+.text
+_symalloc:.word        L196
+tstl   _symsleft
+jneq   L200
+pushl  $4804
+pushl  $1
+calls  $2,_ClearCalloc
+movl   r0,_newbox
+movzbl $200,_symsleft
+addl3  $4,r0,_nextsym
+tstl   _alloctail
+jneq   L201
+movl   r0,_alloctail
+movl   r0,_allochead
+jbr    L200
+L201:movl      _newbox,*_alloctail
+movl   _newbox,_alloctail
+L200:decl      _symsleft
+incl   _nsyms
+movl   _nextsym,r0
+addl2  $24,_nextsym
+ret
+.align 1
+.globl _strpoolalloc
+.set   L203,0x800
+.data
+.text
+_strpoolalloc:.word    L203
+pushl  $8200
+pushl  $1
+calls  $2,_Calloc
+movl   r0,r11
+clrl   4(r11)
+movl   _strplhead,(r11)
+movl   r11,_strplhead
+ret
+.align 1
+.globl _symcmp
+.set   L208,0xc00
+.data
+.text
+_symcmp:.word  L208
+movl   *4(ap),r11
+movl   *8(ap),r10
+cmpw   16(r11),16(r10)
+jgeq   L212
+L2000016:mnegl $1,r0
+ret
+L212:cmpw      16(r11),16(r10)
+jleq   L213
+L2000017:movl  $1,r0
+ret
+L213:cmpl      8(r11),8(r10)
+jlssu  L2000016
+cmpl   8(r11),8(r10)
+jgtru  L2000017
+movzbl 12(r11),r0
+cmpl   r0,$248
+jgequ  L2000016
+movzbl 12(r10),r0
+cmpl   r0,$248
+jgequ  L2000017
+clrl   r0
+ret
+.align 1
+.globl _sortsymtab
+.data  1
+L231:.ascii    "INTERNAL ERROR\72 overfilled symbol table indirection table\0"
+.text
+.data  1
+L233:.ascii    "INTERNAL ERROR\72 installed %d syms, should have installed %d\0"
+.text
+.set   L219,0xe00
+.data
+.text
+_sortsymtab:.word      L219
+subl2  $16,sp
+pushl  $4
+addl3  $2,_nsyms,-(sp)
+calls  $2,_Calloc
+movl   r0,_symptrs
+clrl   *_symptrs
+addl2  $4,_symptrs
+movl   _symptrs,r10
+clrl   -16(fp)
+movl   _allochead,r9
+jbr    L225
+L2000021:addl3 $4,r9,r11
+addl3  $4804,r9,-4(fp)
+cmpl   -4(fp),_alloctail
+jleq   L99996
+movl   _nextsym,r0
+jbr    L99995
+L99996:movl    -4(fp),r0
+L99995:movl    r0,-4(fp)
+jbr    L228
+L2000019:tstb  13(r11)
+jeql   L229
+movzbl 4(r11),r0
+jbc    $7,r0,L229
+movl   20(r11),r0
+movl   8(r0),8(r11)
+movl   20(r11),r0
+movw   16(r0),16(r11)
+L229:cmpl      -16(fp),_nsyms
+jlss   L230
+pushal L231
+calls  $1,_yyerror
+L230:movl      r11,(r10)+
+incl   -16(fp)
+addl2  $24,r11
+L228:cmpl      r11,-4(fp)
+jlss   L2000019
+movl   (r9),r9
+L225:tstl      r9
+jneq   L2000021
+cmpl   -16(fp),_nsyms
+jeql   L232
+pushl  _nsyms
+pushl  -16(fp)
+pushal L233
+calls  $3,_yyerror
+L232:ashl      $2,_nsyms,r0
+addl3  _symptrs,r0,_symptrub
+pushal _symcmp
+pushl  $4
+pushl  _nsyms
+pushl  _symptrs
+calls  $4,_qsort
+movl   _symptrs,_symdelim
+movl   _symptrs,r10
+movl   (r10),r11
+clrl   -8(fp)
+movl   $1,-12(fp)
+jbr    L237
+L2000023:cvtwl 16(r11),r0
+cmpl   r0,-8(fp)
+jneq   L239
+addl2  $4,r10
+movl   (r10),r11
+L240:tstl      r11
+jneq   L2000023
+L239:movl      -12(fp),r0
+movl   r10,_symdelim[r0]
+incl   -8(fp)
+incl   -12(fp)
+L237:cmpl      -8(fp),$8
+jlss   L240
+ret
+.align 1
+.globl _htaballoc
+.set   L241,0x800
+.data
+.text
+_htaballoc:.word       L241
+pushl  $4420
+pushl  $1
+calls  $2,_ClearCalloc
+movl   r0,r11
+tstl   _htab
+jneq   L245
+movl   r11,_htab
+jbr    L246
+L245:movl      _htab,r0
+movl   4(r0),4(r11)
+movl   _htab,r0
+movl   r11,4(r0)
+L246:ret
+.align 1
+.globl _lookup
+.lcomm L251,4
+.lcomm L252,4
+.lcomm L253,4
+.lcomm L254,4
+.lcomm L255,4
+.set   L247,0xf80
+.data
+.text
+_lookup:.word  L247
+clrl   L253
+clrl   r7
+moval  _yytext,r10
+jbr    L258
+L2000027:ashl  $2,r7,r7
+cvtbl  (r10)+,r0
+addl2  r0,r7
+L258:tstb      (r10)
+jneq   L2000027
+cvtbl  -1(r10),r0
+ashl   $5,r0,r0
+addl2  r0,r7
+divl3  $1103,r7,r0
+mull2  $1103,r0
+subl2  r0,r7
+jgeq   L259
+addl2  $1103,r7
+L259:movl      r7,L251
+movl   _htab,L252
+jbr    L262
+L2000031:addl3 $8,L252,r0
+ashl   $2,L251,r1
+addl3  r1,r0,r11
+movl   $1,r7
+addl3  $4420,L252,L255
+jbr    L265
+L2000029:cmpl  r7,$1103
+jgeq   L264
+moval  _yytext,r10
+addl3  $8,*(r11),r9
+L266:tstb      (r10)
+jeql   L267
+tstb   (r9)
+jeql   L267
+cmpb   (r10)+,(r9)+
+jeql   L266
+L263:ashl      $2,r7,r0
+addl2  r0,r11
+cmpl   r11,L255
+jlss   L99994
+cvtwl  $1103,r0
+jbr    L99993
+L267:cmpb      (r9),(r10)
+jneq   L263
+L2000034:movl  r11,r0
+ret
+L99994:clrl    r0
+L99993:ashl    $2,r0,r0
+subl2  r0,r11
+addl2  $2,r7
+L265:tstl      (r11)
+jneq   L2000029
+L264:tstl      (r11)
+jneq   L260
+tstl   L253
+jneq   L260
+cmpl   *L252,$551
+jgeq   L260
+movl   r11,L253
+movl   L252,L254
+L260:movl      L252,r0
+movl   4(r0),L252
+L262:tstl      L252
+jneq   L2000031
+tstl   L253
+jneq   L272
+calls  $0,_htaballoc
+movl   _htab,r0
+movl   4(r0),L252
+addl3  $8,L252,r0
+ashl   $2,L251,r1
+addl3  r1,r0,r11
+jbr    L273
+L272:movl      L254,L252
+movl   L253,r11
+L273:tstl      4(ap)
+jeql   L2000034
+calls  $0,_symalloc
+movl   r0,(r11)
+incl   *L252
+moval  _yytext,r10
+clrl   r8
+jbr    L277
+L2000033:incl  r8
+L277:tstb      (r10)+
+jneq   L2000033
+pushl  $3
+addl3  $1,r8,-(sp)
+pushal _yytext
+calls  $3,_savestr
+movl   r0,*(r11)
+jbr    L2000034
+.align 1
+.globl _savestr
+.set   L278,0x800
+.data
+.lcomm _rel_temp,4
+.comm  _r_can_1PC,8
+.comm  _r_can_0PC,8
+.text
+_savestr:.word L278
+subl2  $4,sp
+movl   $11,-4(fp)
+jbc    $1,12(ap),L282
+addl2  8(ap),-4(fp)
+L282:movl      _strplhead,r0
+subl3  4(r0),$8192,r0
+cmpl   -4(fp),r0
+jlss   L283
+calls  $0,_strpoolalloc
+L283:addl3     $8,_strplhead,r0
+movl   _strplhead,r1
+addl3  4(r1),r0,r11
+movl   _strfilepos,(r11)
+cvtlw  8(ap),6(r11)
+cvtlw  12(ap),4(r11)
+jbc    $1,12(ap),L284
+tstl   4(ap)
+jeql   L284
+pushl  8(ap)
+pushl  4(ap)
+addl3  $8,r11,-(sp)
+calls  $3,_movestr
+L284:jlbc      12(ap),L286
+tstl   4(ap)
+jeql   L287
+pushl  _strfile
+pushl  8(ap)
+pushl  $1
+pushl  4(ap)
+calls  $4,_fwrite
+L287:addl2     8(ap),_strfilepos
+L286:movl      _strplhead,r0
+addl2  -4(fp),4(r0)
+movl   r11,r0
+ret
+.align 1
+.globl _initoutrel
+.set   L294,0x0
+.data
+.text
+_initoutrel:.word      L294
+clrl   _r_can_0PC
+insv   $0,$0,$24,_r_can_0PC+4
+insv   $0,$24,$1,_r_can_0PC+4
+insv   $0,$25,$2,_r_can_0PC+4
+insv   $0,$27,$1,_r_can_0PC+4
+movq   _r_can_0PC,_r_can_1PC
+insv   $1,$24,$1,_r_can_1PC+4
+ret
+.align 1
+.globl _outrel
+.data  1
+L304:.ascii    "Padding error\0"
+.text
+.data  1
+L306:.ascii    "Undefined reference\0"
+.text
+.data  1
+L309:.ascii    "Illegal Relocation of floating or large int number.\0"
+.text
+.set   L299,0xc00
+.data
+.text
+_outrel:.word  L299
+subl2  $12,sp
+movl   4(ap),r11
+cvtbl  20(r11),r0
+bicl3  $32,r0,r10
+bicl3  $-17,8(ap),-12(fp)
+bicl2  $16,8(ap)
+bitl   $7,_bitoff
+jeql   L303
+pushal L304
+calls  $1,_yyerror
+L303:tstl      r10
+jneq   L305
+pushal L306
+calls  $1,_yyerror
+L305:cmpl      r10,$2
+jneq   L99992
+tstl   -12(fp)
+jeql   L307
+L99992:movl    8(ap),r0
+tstl   _ty_NORELOC[r0]
+jeql   L308
+pushal L309
+calls  $1,_yyerror
+L308:tstl      -12(fp)
+jeql   L99991
+moval  _r_can_1PC,r0
+jbr    L99990
+L99991:moval   _r_can_0PC,r0
+L99990:movq    (r0),-8(fp)
+cmpl   _dotp,$_usedot+112
+jlss   L99988
+tstl   _readonlydata
+jeql   L99989
+L99988:clrl    r0
+jbr    L99987
+L99989:movl    _datbase,r0
+L99987:subl3   r0,*_dotp,-8(fp)
+movl   8(ap),r0
+insv   _ty_nlg[r0],$25,$2,-4(fp)
+movl   r10,r0
+cmpl   r0,$1
+jneq   L313
+movl   24(r11),r0
+cvtwl  16(r0),r0
+insv   r0,$0,$24,-4(fp)
+insv   $1,$27,$1,-4(fp)
+jbr    L310
+L2000036:movl  _tok_free,_rel_temp
+movl   _rel_temp,r0
+movl   4(r0),_tok_free
+jbr    L317
+L313:tstl      _readonlydata
+jeql   L314
+bicl3  $1,r10,r0
+cmpl   r0,$6
+jneq   L314
+extzv  $0,$1,r10,r0
+bisl3  $4,r0,r10
+L314:insv      r10,$0,$24,-4(fp)
+L310:tstl      _relfil
+jeql   L99986
+cmpl   *_relfil,$511
+jlss   L315
+L99986:tstl    _tok_free
+jneq   L2000036
+pushl  $4096
+pushl  $1
+calls  $2,_Calloc
+movl   r0,_rel_temp
+L317:clrl      *_rel_temp
+movl   _rel_temp,r0
+movl   _relfil,4(r0)
+subl3  $_usedot,_dotp,r0
+divl2  $28,r0
+movl   _rel_temp,_rusefile[r0]
+movl   _rusefile[r0],_relfil
+L315:moval     -8(fp),r0
+movl   *_relfil,r1
+incl   *_relfil
+ashl   $3,r1,r1
+addl3  $8,_relfil,r2
+addl2  r2,r1
+movq   (r0),(r1)
+L307:movl      8(ap),r0
+addl2  _ty_nbyte[r0],*_dotp
+tstl   -12(fp)
+jeql   L318
+subl2  *_dotp,(r11)
+L318:movl      8(ap),r0
+casel  r0,$3,$5
+L2000037:
+.word  L326-L2000037
+.word  L326-L2000037
+.word  L326-L2000037
+.word  L326-L2000037
+.word  L326-L2000037
+.word  L326-L2000037
+pushl  _txtfil
+movl   8(ap),r0
+pushl  _ty_nbyte[r0]
+pushl  r11
+calls  $3,_bwrite
+L319:ret
+L326:pushl     8(ap)
+subl2  $20,sp
+movc3  $20,(r11),(sp)
+calls  $6,_bignumwrite
+jbr    L319
+.align 1
+.globl _closeoutrel
+.set   L332,0x0
+.data
+.text
+_closeoutrel:.word     L332
+subl2  $4,sp
+clrl   _trsize
+clrl   -4(fp)
+L2000039:pushl 4(ap)
+movl   -4(fp),r0
+pushl  _rusefile[r0]
+calls  $2,_Closeoutrel
+addl2  r0,_trsize
+aoblss $4,-4(fp),L2000039
+clrl   _drsize
+clrl   -4(fp)
+L2000041:pushl 4(ap)
+addl3  $4,-4(fp),r0
+pushl  _rusefile[r0]
+calls  $2,_Closeoutrel
+addl2  r0,_drsize
+aoblss $4,-4(fp),L2000041
+addl3  _drsize,_trsize,r0
+ret
+.align 1
+.globl _Closeoutrel
+.set   L343,0x0
+.data
+.text
+_Closeoutrel:.word     L343
+subl2  $4,sp
+tstl   4(ap)
+jneq   L347
+clrl   r0
+ret
+L347:pushl     8(ap)
+movl   4(ap),r0
+pushl  4(r0)
+calls  $2,_Closeoutrel
+movl   r0,-4(fp)
+pushl  8(ap)
+ashl   $3,*4(ap),-(sp)
+addl3  $8,4(ap),-(sp)
+calls  $3,_bwrite
+ashl   $3,*4(ap),r0
+addl2  -4(fp),r0
+ret
+.align 1
+.globl _sizesymtab
+.set   L349,0x0
+.data
+.text
+_sizesymtab:.word      L349
+subl3  _njxxx,_nsyms,r0
+subl2  _nforgotten,r0
+tstl   _savelabels
+jeql   L99985
+clrl   r1
+jbr    L99984
+L99985:movl    _nlabels,r1
+L99984:subl2   r1,r0
+mull2  $12,r0
+ret
+.align 1
+.globl _symwrite
+.data  1
+L372:.ascii    "INTERNAL ERROR\72 Wrote %d symbols, wanted to write %d symbols\12\0"
+.text
+.data  1
+L393:.ascii    "INTERNAL ERROR\72 Wrote %d strings, wanted %d\12\0"
+.text
+.set   L354,0xe00
+.data
+.text
+_symwrite:.word        L354
+movab  -2072(sp),sp
+subl3  _njxxx,_nsyms,r0
+subl2  _nforgotten,r0
+tstl   _savelabels
+jeql   L99983
+clrl   r1
+jbr    L99982
+L99983:movl    _nlabels,r1
+L99982:subl3   r1,r0,-8(fp)
+clrl   -4(fp)
+movl   $4,-16(fp)
+movl   _allochead,r9
+jbr    L360
+L2000045:addl3 $4,r9,r11
+addl3  $4804,r9,r10
+cmpl   r10,_alloctail
+jleq   L99981
+movl   _nextsym,r0
+jbr    L99980
+L99981:movl    r10,r0
+L99980:movl    r0,r10
+jbr    L363
+L2000043:movzbl        12(r11),r0
+cmpl   r0,$248
+jgequ  L361
+tstl   _savelabels
+jneq   L365
+movzbl 12(r11),r0
+cmpl   r0,$246
+jneq   L365
+movl   (r11),r0
+jbc    $1,4(r0),L365
+movl   (r11),r0
+cmpb   8(r0),$76
+jeql   L361
+L365:incl      -4(fp)
+movl   (r11),-12(fp)
+tstl   (r11)
+jeql   L366
+movl   (r11),r0
+movw   6(r0),16(r11)
+jeql   L366
+movl   -16(fp),(r11)
+cvtwl  16(r11),r0
+addl2  r0,-16(fp)
+jbr    L367
+L366:clrl      (r11)
+L367:tstb      13(r11)
+jeql   L368
+movb   13(r11),4(r11)
+jbr    L369
+L368:movzbl    4(r11),r0
+bicl2  $32,r0
+cvtlb  r0,4(r11)
+L369:tstl      _readonlydata
+jeql   L370
+movzbl 4(r11),r0
+bicl2  $1,r0
+cmpl   r0,$6
+jneq   L370
+extzv  $0,$1,4(r11),r0
+bisl2  $4,r0
+cvtlb  r0,4(r11)
+L370:pushl     4(ap)
+pushl  $12
+pushl  r11
+calls  $3,_bwrite
+movl   -12(fp),(r11)
+L361:addl2     $24,r11
+L363:cmpl      r11,r10
+jlss   L2000043
+movl   (r9),r9
+L360:tstl      r9
+jneq   L2000045
+cmpl   -4(fp),-8(fp)
+jeql   L371
+pushl  -8(fp)
+pushl  -4(fp)
+pushal L372
+calls  $3,_yyerror
+L371:pushl     4(ap)
+pushl  $4
+pushal -16(fp)
+calls  $3,_bwrite
+clrl   -4(fp)
+movl   _allochead,r9
+jbr    L375
+L2000047:addl3 $4,r9,r11
+addl3  $4804,r9,r10
+cmpl   r10,_alloctail
+jleq   L99979
+movl   _nextsym,r0
+jbr    L99978
+L99979:movl    r10,r0
+L99978:movl    r0,r10
+L378:cmpl      r11,r10
+jgeq   L373
+movzbl 12(r11),r0
+cmpl   r0,$248
+jgequ  L376
+tstl   _savelabels
+jneq   L380
+movzbl 12(r11),r0
+cmpl   r0,$246
+jneq   L380
+movl   (r11),r0
+jbc    $1,4(r0),L380
+movl   (r11),r0
+cmpb   8(r0),$76
+jeql   L376
+L380:incl      -4(fp)
+movl   (r11),r0
+tstw   6(r0)
+jeql   L376
+movl   (r11),r0
+jbc    $1,4(r0),L382
+pushl  4(ap)
+movl   (r11),r0
+movzwl 6(r0),-(sp)
+addl3  $8,(r11),-(sp)
+calls  $3,_bwrite
+L376:addl2     $24,r11
+jbr    L378
+L382:movl      (r11),r0
+jlbc   4(r0),L376
+pushl  $0
+pushl  *(r11)
+pushl  _strfile
+calls  $3,_fseek
+movl   (r11),r0
+movzwl 6(r0),-2068(fp)
+L388:tstl      -2068(fp)
+jleq   L376
+pushl  _strfile
+pushl  -2068(fp)
+pushl  $2048
+calls  $2,_min
+pushl  r0
+pushl  $1
+pushal -2064(fp)
+calls  $4,_fread
+movl   r0,-2072(fp)
+tstl   r0
+jeql   L376
+pushl  4(ap)
+pushl  r0
+pushal -2064(fp)
+calls  $3,_bwrite
+subl2  -2072(fp),-2068(fp)
+jbr    L388
+L373:movl      (r9),r9
+L375:tstl      r9
+jneq   L2000047
+cmpl   -4(fp),-8(fp)
+jeql   L392
+pushl  -8(fp)
+pushl  -4(fp)
+pushal L393
+calls  $3,_yyerror
+L392:ret
+
diff --git a/bin/as/test/bignum1.o.ok b/bin/as/test/bignum1.o.ok
new file mode 100644 (file)
index 0000000..2ffee45
Binary files /dev/null and b/bin/as/test/bignum1.o.ok differ
diff --git a/bin/as/test/bignum1.s b/bin/as/test/bignum1.s
new file mode 100644 (file)
index 0000000..458a828
--- /dev/null
@@ -0,0 +1,560 @@
+.data
+.data
+_sccsid:.long  0x29232840
+.long  0x6e676962
+.long  0x2e316d75
+.long  0x2e350963
+.long  0x42282031
+.long  0x656b7265
+.long  0x2979656c
+.long  0x332f3420
+.long  0x35382f30
+.long  0x0
+.comm  _rusefile,32
+.comm  _relfil,4
+.text
+LL0:.align     1
+.globl _as_atof
+.data  1
+L121:.ascii    "Floating conversion over/underflowed\12\0"
+.text
+.lcomm L122,20
+.set   L105,0x0
+.data
+.text
+_as_atof:.word L105
+subl2  $20,sp
+movc3  $20,_Znumber,-20(fp)
+clrl   _errno
+movl   8(ap),r0
+casel  r0,$5,$3
+L2000000:
+.word  L114-L2000000
+.word  L114-L2000000
+.word  L116-L2000000
+.word  L116-L2000000
+L111:cmpl      _errno,$34
+jneq   L119
+cmpl   _passno,$2
+jneq   L119
+pushal L121
+calls  $1,_yywarning
+L119:moval     -20(fp),r0
+movab  L122,r1
+movc3  $20,(r0),(r1)
+movab  L122,r0
+ret
+L114:cvtlb     $6,-4(fp)
+clrl   *12(ap)
+pushl  4(ap)
+calls  $1,_atof
+movd   r0,-20(fp)
+jbr    L111
+L116:pushl     8(ap)
+pushl  4(ap)
+calls  $2,_bigatof
+movc3  $20,(r0),-20(fp)
+jbr    L111
+.align 1
+.globl _as_atoi
+.data
+L180:.long     0x2020100
+.long  0x3030303
+.long  0x4040404
+.long  0x4040404
+.long  0x3030201
+.long  0x4040404
+.space 8
+.long  0x0
+.space 12
+.long  0x4040302
+.space 12
+.text
+.data  1
+L184:.ascii    "%s%s\12\0"
+.text
+.data  1
+L185:.ascii    "n_n.num_tag != 0\0"
+.text
+.data  1
+L186:.ascii    "Botch width computation\0"
+.text
+.lcomm L187,20
+.set   L123,0xe00
+.data
+.text
+_as_atoi:.word L123
+subl2  $56,sp
+movl   4(ap),r11
+clrl   -56(fp)
+clrl   -52(fp)
+L129:tstb      (r11)
+jeql   L128
+cvtbl  (r11),r0
+cmpl   r0,$43
+jeql   L127
+cmpl   r0,$45
+jeql   L134
+cmpl   r0,$48
+jeql   L127
+L128:movc3     $20,_Znumber,-28(fp)
+movc3  $20,_Znumber,-48(fp)
+moval  -28(fp),r10
+pushl  r10
+calls  $1,_numclear
+moval  -48(fp),-4(fp)
+pushl  -4(fp)
+calls  $1,_numclear
+L137:tstb      (r11)
+jeql   L143
+cvtbl  (r11),r0
+casel  r0,$48,$54
+L2000008:
+.word  L151-L2000008
+.word  L151-L2000008
+.word  L151-L2000008
+.word  L151-L2000008
+.word  L151-L2000008
+.word  L151-L2000008
+.word  L151-L2000008
+.word  L151-L2000008
+.word  L141-L2000008
+.word  L141-L2000008
+.word  L143-L2000008
+.word  L143-L2000008
+.word  L143-L2000008
+.word  L143-L2000008
+.word  L143-L2000008
+.word  L143-L2000008
+.word  L143-L2000008
+.word  L157-L2000008
+.word  L157-L2000008
+.word  L157-L2000008
+.word  L157-L2000008
+.word  L157-L2000008
+.word  L157-L2000008
+.word  L143-L2000008
+.word  L143-L2000008
+.word  L143-L2000008
+.word  L143-L2000008
+.word  L143-L2000008
+.word  L143-L2000008
+.word  L143-L2000008
+.word  L143-L2000008
+.word  L143-L2000008
+.word  L143-L2000008
+.word  L143-L2000008
+.word  L143-L2000008
+.word  L143-L2000008
+.word  L143-L2000008
+.word  L143-L2000008
+.word  L143-L2000008
+.word  L143-L2000008
+.word  L143-L2000008
+.word  L143-L2000008
+.word  L143-L2000008
+.word  L143-L2000008
+.word  L143-L2000008
+.word  L143-L2000008
+.word  L143-L2000008
+.word  L143-L2000008
+.word  L143-L2000008
+.word  L164-L2000008
+.word  L164-L2000008
+.word  L164-L2000008
+.word  L164-L2000008
+.word  L164-L2000008
+.word  L164-L2000008
+L143:pushl     r10
+calls  $1,_posovf
+bisl2  r0,-56(fp)
+tstl   -52(fp)
+jeql   L173
+jbc    $3,-56(fp),L174
+bicl2  $12,-56(fp)
+jbr    L173
+L134:xorl2     $1,-52(fp)
+L127:incl      r11
+jbr    L129
+L141:cmpl      8(ap),$10
+jlss   L143
+L151:cvtbl     (r11),r0
+subl3  $48,r0,-8(fp)
+jbr    L138
+L2000002:cmpl  r0,$10
+jeql   L172
+cmpl   r0,$16
+jeql   L171
+L168:pushl     -8(fp)
+pushl  r10
+pushl  r10
+calls  $3,_numaddd
+bisl2  r0,-56(fp)
+incl   r11
+jbr    L137
+L157:cmpl      8(ap),$16
+jlss   L143
+cvtbl  (r11),r0
+subl3  $55,r0,-8(fp)
+jbr    L138
+L164:cmpl      8(ap),$16
+jlss   L143
+cvtbl  (r11),r0
+subl3  $87,r0,-8(fp)
+L138:movl      8(ap),r0
+cmpl   r0,$8
+jneq   L2000002
+pushl  r10
+pushl  r10
+pushl  $3
+L2000006:calls $3,_numshift
+L2000007:bisl2 r0,-56(fp)
+jbr    L168
+L171:pushl     r10
+pushl  r10
+pushl  $4
+jbr    L2000006
+L172:pushl     r10
+pushl  -4(fp)
+pushl  $1
+calls  $3,_numshift
+bisl2  r0,-56(fp)
+pushl  r10
+pushl  r10
+pushl  $3
+calls  $3,_numshift
+bisl2  r0,-56(fp)
+pushl  r10
+pushl  -4(fp)
+pushl  r10
+calls  $3,_numaddv
+jbr    L2000007
+L174:pushl     r10
+pushl  r10
+calls  $2,_numnegate
+bisl2  r0,-56(fp)
+L173:tstl      -52(fp)
+jeql   L99999
+mnegl  $1,r0
+jbr    L99998
+L99999:clrl    r0
+L99998:movl    r0,-8(fp)
+clrl   r9
+L2000004:cmpl  (r10)[r9],-8(fp)
+jeql   L177
+aoblss $4,r9,L2000004
+L177:sobgeq    r9,L181
+clrl   r9
+L181:movb      L180+48[r9],-12(fp)
+jneq   L182
+pushal L186
+pushal L185
+pushal L184
+calls  $3,_panic
+L182:movl      -56(fp),*12(ap)
+moval  -28(fp),r0
+movab  L187,r1
+movc3  $20,(r0),(r1)
+movab  L187,r0
+ret
+.align 1
+.globl _posovf
+.set   L188,0xc00
+.data
+.text
+_posovf:.word  L188
+subl2  $4,sp
+movl   4(ap),r11
+clrl   -4(fp)
+jbc    $31,12(r11),L192
+movl   $4,-4(fp)
+L192:cmpl      12(r11),$-2147483648
+jneq   L2000011
+movl   $2,r10
+jbr    L196
+L2000010:tstl  (r11)[r10]
+jeql   L194
+L2000011:movl  -4(fp),r0
+ret
+L194:decl      r10
+L196:tstl      r10
+jgeq   L2000010
+bisl2  $8,-4(fp)
+jbr    L2000011
+.align 1
+.globl _isclear
+.set   L199,0x800
+.data
+.text
+_isclear:.word L199
+movl   4(ap),r11
+pushal _Znumber
+pushl  r11
+calls  $2,_isunequal
+tstl   r0
+jneq   L99997
+movl   $1,r0
+jbr    L99996
+L99997:clrl    r0
+L99996:ret
+.align 1
+.globl _isunequal
+.set   L204,0xe00
+.data
+.text
+_isunequal:.word       L204
+movl   4(ap),r11
+movl   8(ap),r10
+movl   $4,r9
+L210:cmpl      (r11)+,(r10)+
+jeql   L209
+movl   r9,r0
+ret
+L209:decl      r9
+jneq   L210
+clrl   r0
+ret
+.align 1
+.globl _numclear
+.set   L212,0xc00
+.data
+.text
+_numclear:.word        L212
+movl   4(ap),r11
+movl   $4,r10
+L218:clrl      (r11)+
+decl   r10
+jneq   L218
+clrl   r0
+ret
+.align 1
+.globl _numshift
+.set   L219,0xfc0
+.data
+.text
+_numshift:.word        L219
+subl2  $4,sp
+movl   8(ap),r11
+movl   12(ap),r10
+movl   $4,r9
+tstl   4(ap)
+jneq   L223
+L226:movl      (r10)+,(r11)+
+decl   r9
+jneq   L226
+clrl   r0
+ret
+L223:clrl      r8
+ashl   4(ap),$1,r0
+subl3  $1,r0,r6
+tstl   4(ap)
+jleq   L227
+L230:movl      (r10)+,-4(fp)
+subl3  4(ap),$32,r0
+movl   -4(fp),r1
+subl3  r0,$32,r2
+extzv  r0,r2,r1,r1
+mcoml  r6,r0
+bicl3  r0,r1,r7
+ashl   4(ap),-4(fp),-4(fp)
+bicl2  r6,-4(fp)
+bisl3  r8,-4(fp),(r11)+
+movl   r7,r8
+decl   r9
+jneq   L230
+tstl   r8
+jeql   L99995
+movl   $2,r0
+jbr    L99994
+L99995:clrl    r0
+L99994:ret
+L227:mnegl     4(ap),4(ap)
+addl2  $16,r10
+addl2  $16,r11
+L233:movl      -(r10),-4(fp)
+mcoml  r6,r0
+bicl3  r0,-4(fp),r7
+movl   -4(fp),r0
+subl3  4(ap),$32,r1
+extzv  4(ap),r1,r0,-4(fp)
+subl3  4(ap),$32,r0
+ashl   r0,$1,r0
+decl   r0
+mcoml  r0,r0
+bicl2  r0,-4(fp)
+bisl3  r8,-4(fp),-(r11)
+subl3  4(ap),$32,r0
+ashl   r0,r7,r8
+decl   r9
+jneq   L233
+tstl   r8
+jeql   L99993
+movl   $2,r0
+jbr    L99992
+L99993:clrl    r0
+L99992:ret
+.align 1
+.globl _numaddd
+.lcomm L238,20
+.set   L234,0x0
+.data
+.text
+_numaddd:.word L234
+cvtlb  12(ap),L238
+pushal L238
+pushl  8(ap)
+pushl  4(ap)
+calls  $3,_numaddv
+ret
+.align 1
+.globl _numaddv
+.set   L239,0xfc0
+.data
+.text
+_numaddv:.word L239
+subl2  $8,sp
+movl   4(ap),r11
+movl   8(ap),r10
+movl   12(ap),r9
+clrl   r7
+movl   $4,r8
+L245:movl      (r10)+,r6
+movl   (r9)+,-4(fp)
+addl3  r6,-4(fp),r0
+addl3  r7,r0,-8(fp)
+movl   -8(fp),(r11)+
+clrl   r7
+cmpl   -8(fp),r6
+jlssu  L99991
+cmpl   -8(fp),-4(fp)
+jgequ  L244
+L99991:movl    $1,r7
+L244:decl      r8
+jneq   L245
+tstl   r7
+jeql   L99990
+movl   $1,r0
+jbr    L99989
+L99990:clrl    r0
+L99989:ret
+.align 1
+.globl _numnegate
+.set   L247,0x0
+.data
+.text
+_numnegate:.word       L247
+subl2  $4,sp
+pushl  8(ap)
+pushl  4(ap)
+calls  $2,_num1comp
+movl   r0,-4(fp)
+pushl  $1
+pushl  4(ap)
+pushl  4(ap)
+calls  $3,_numaddd
+bisl2  r0,-4(fp)
+movl   -4(fp),r0
+ret
+.align 1
+.globl _num1comp
+.set   L251,0xe00
+.data
+.text
+_num1comp:.word        L251
+movl   4(ap),r11
+movl   8(ap),r10
+movl   $4,r9
+L257:mcoml     (r10)+,(r11)+
+decl   r9
+jneq   L257
+clrl   r0
+ret
+.align 1
+.globl _slitflt
+.data  1
+L265:.ascii    "%s%s\12\0"
+.text
+.data  1
+L266:.ascii    "ovf == 0\0"
+.text
+.data  1
+L267:.ascii    "overflow in unpacking floating #!?\0"
+.text
+.set   L259,0x800
+.data
+.text
+_slitflt:.word L259
+subl2  $28,sp
+clrl   *28(ap)
+movl   24(ap),r0
+tstl   _ty_float[r0]
+jneq   L263
+L2000014:clrl  r0
+ret
+L263:pushal    -28(fp)
+subl2  $20,sp
+movc3  $20,4(ap),(sp)
+calls  $6,_bignumunpack
+movc3  $20,(r0),-24(fp)
+tstl   -28(fp)
+jeql   L264
+pushal L267
+pushal L266
+pushal L265
+calls  $3,_panic
+L264:tstb      -7(fp)
+jneq   L2000014
+tstw   -6(fp)
+jlss   L2000014
+cmpw   -6(fp),$7
+jgtr   L2000014
+clrl   r11
+L2000013:tstl  -24(fp)[r11]
+jneq   L2000014
+aoblss $3,r11,L2000013
+bitl   $536870911,-12(fp)
+jneq   L2000014
+extzv  $0,$3,-6(fp),r0
+ashl   $3,r0,*28(ap)
+movl   -12(fp),r0
+extzv  $29,$3,r0,-4(fp)
+extzv  $0,$3,-4(fp),-4(fp)
+bisl2  -4(fp),*28(ap)
+extzv  $0,$6,*28(ap),*28(ap)
+movl   $1,r0
+ret
+.align 1
+.globl _bignumwrite
+.set   L277,0x800
+.data
+.text
+_bignumwrite:.word     L277
+cmpl   _passno,$2
+jeql   L281
+ret
+L281:addl3     $4,ap,r11
+cvtbl  20(ap),r0
+casel  r0,$0,$4
+L2000016:
+.word  L288-L2000016
+.word  L288-L2000016
+.word  L288-L2000016
+.word  L288-L2000016
+.word  L288-L2000016
+pushl  24(ap)
+subl2  $20,sp
+movc3  $20,4(ap),(sp)
+calls  $6,_floatconvert
+L2000015:movc3 $20,(r0),4(ap)
+pushl  _txtfil
+movl   24(ap),r0
+pushl  _ty_nbyte[r0]
+pushl  r11
+calls  $3,_bwrite
+ret
+L288:pushl     24(ap)
+subl2  $20,sp
+movc3  $20,4(ap),(sp)
+calls  $6,_intconvert
+jbr    L2000015
+
diff --git a/bin/as/test/bignum2.o.ok b/bin/as/test/bignum2.o.ok
new file mode 100644 (file)
index 0000000..40843ac
Binary files /dev/null and b/bin/as/test/bignum2.o.ok differ
diff --git a/bin/as/test/bignum2.s b/bin/as/test/bignum2.s
new file mode 100644 (file)
index 0000000..bbb514c
--- /dev/null
@@ -0,0 +1,633 @@
+.data
+.data
+_sccsid:.long  0x29232840
+.long  0x6e676962
+.long  0x2e326d75
+.long  0x2e350963
+.long  0x42282031
+.long  0x656b7265
+.long  0x2979656c
+.long  0x332f3420
+.long  0x35382f30
+.long  0x0
+.comm  _rusefile,32
+.comm  _relfil,4
+.comm  _Znumber,20
+.text
+LL0:.align     1
+.globl _intconvert
+.data  1
+L112:.ascii    "Conversion between %s and %s looses significance\0"
+.text
+.lcomm L116,20
+.set   L105,0x800
+.data
+.text
+_intconvert:.word      L105
+cvtbl  20(ap),r0
+cmpl   r0,24(ap)
+jneq   L109
+L2000002:addl3 $4,ap,r0
+movab  L116,r1
+movc3  $20,(r0),(r1)
+movab  L116,r0
+ret
+L109:cvtbl     20(ap),r0
+movl   24(ap),r1
+cmpl   _ty_nbyte[r0],_ty_nbyte[r1]
+jleq   L110
+cmpl   _passno,$2
+jneq   L110
+movl   r1,r0
+pushl  _ty_string[r0]
+cvtbl  20(ap),r0
+pushl  _ty_string[r0]
+pushal L112
+calls  $3,_yywarning
+L110:movl      24(ap),r0
+movl   _ty_nbyte[r0],r11
+jbr    L115
+L2000001:clrb  4(ap)[r11]
+incl   r11
+L115:cmpl      r11,_ty_nbyte+16
+jlss   L2000001
+jbr    L2000002
+.align 1
+.globl _floatconvert
+.data  1
+L138:.ascii    "Bad floating point conversion?\0"
+.text
+.data  1
+L145:.ascii    "Converting from %s to %s\72 %s \0"
+.text
+.data  1
+L146:.ascii    "gains significance\0"
+.text
+.data  1
+L147:.ascii    "looses significance\0"
+.text
+.data  1
+L148:.ascii    "mixs exponent formats\0"
+.text
+.data  1
+L151:.ascii    "Floating conversion over/underflowed\12\0"
+.text
+.lcomm L153,20
+.set   L117,0x800
+.data
+.text
+_floatconvert:.word    L117
+subl2  $16,sp
+clrl   -4(fp)
+clrl   -8(fp)
+clrl   -12(fp)
+cvtbl  20(ap),r0
+cmpl   r0,24(ap)
+jneq   L121
+L2000007:addl3 $4,ap,r0
+movab  L153,r1
+movc3  $20,(r0),(r1)
+movab  L153,r0
+ret
+L121:addl3     $4,ap,r11
+cvtbl  20(ap),r0
+ashl   $4,r0,r0
+addl2  24(ap),r0
+cmpl   r0,$118
+jeql   L125
+jgtr   L139
+cmpl   r0,$101
+jeql   L127
+jgtr   L140
+cmpl   r0,$87
+jeql   L125
+jgtr   L141
+cmpl   r0,$86
+jneq   L136
+cvtfd  (r11), (r11)
+L122:tstl      -8(fp)
+jneq   L99999
+tstl   -12(fp)
+jneq   L99999
+tstl   -4(fp)
+jeql   L144
+L99999:cmpl    _passno,$2
+jneq   L144
+tstl   -8(fp)
+jeql   L99998
+moval  L146,r0
+jbr    L99997
+L127:cvtdf     (r11), (r11)
+jbr    L122
+L141:cmpl      r0,$88
+jeql   L125
+jbr    L136
+L2000004:cmpl  r0,$103
+jneq   L136
+L125:incl      -12(fp)
+jbr    L122
+L2000006:cmpl  r0,$133
+jeql   L125
+jgtr   L136
+cmpl   r0,$120
+jeql   L125
+L136:pushal    L138
+calls  $1,_panic
+jbr    L122
+L140:cmpl      r0,$104
+jeql   L125
+jleq   L2000004
+cmpl   r0,$117
+jneq   L136
+jbr    L125
+L139:cmpl      r0,$134
+jeql   L125
+jleq   L2000006
+cmpl   r0,$135
+jneq   L136
+jbr    L125
+L99998:tstl    -4(fp)
+jeql   L99996
+moval  L147,r0
+jbr    L99997
+L99996:moval   L148,r0
+L99997:pushl   r0
+movl   24(ap),r0
+pushl  _ty_string[r0]
+cvtbl  20(ap),r0
+pushl  _ty_string[r0]
+pushal L145
+calls  $4,_yywarning
+L144:tstl      -12(fp)
+jeql   L149
+pushal -16(fp)
+pushl  24(ap)
+subl2  $20,sp
+movc3  $20,4(ap),(sp)
+calls  $7,_bignumconvert
+movc3  $20,(r0),4(ap)
+tstl   -16(fp)
+jeql   L2000007
+cmpl   _passno,$2
+jneq   L2000007
+pushal L151
+calls  $1,_yywarning
+jbr    L2000007
+L149:cvtlb     24(ap),20(ap)
+jbr    L2000007
+.align 1
+.globl _bignumconvert
+.lcomm L161,20
+.set   L154,0x0
+.data
+.text
+_bignumconvert:.word   L154
+subl2  $4,sp
+clrl   *28(ap)
+cvtbl  20(ap),-4(fp)
+cmpl   -4(fp),24(ap)
+jneq   L158
+addl3  $4,ap,r0
+jbr    L155
+L2000009:pushl 28(ap)
+pushl  24(ap)
+subl2  $20,sp
+movc3  $20,4(ap),(sp)
+L2000012:calls $7,_bignumpack
+jbr    L155
+L2000011:pushl 28(ap)
+subl2  $20,sp
+movc3  $20,4(ap),(sp)
+calls  $6,_bignumunpack
+L155:movab     L161,r1
+movc3  $20,(r0),(r1)
+movab  L161,r0
+ret
+L158:cmpl      -4(fp),$9
+jeql   L2000009
+cmpl   24(ap),$9
+jeql   L2000011
+pushl  28(ap)
+pushl  24(ap)
+pushl  28(ap)
+subl2  $20,sp
+movc3  $20,4(ap),(sp)
+calls  $6,_bignumunpack
+subl2  $20,sp
+movc3  $20,(r0),(sp)
+jbr    L2000012
+.align 1
+.globl _bignumunpack
+.data  1
+L185:.ascii    "%s%s\12\0"
+.text
+.data  1
+L186:.ascii    "mantissa[HOC] & SIGNBIT\0"
+.text
+.data  1
+L187:.ascii    "integer <<ing\0"
+.text
+.lcomm L190,20
+.set   L162,0xf80
+.data
+.text
+_bignumunpack:.word    L162
+subl2  $60,sp
+cvtbl  20(ap),r0
+mull2  $44,r0
+movab  _ty_bigdesc[r0],r10
+clrl   *24(ap)
+movc3  $20,_Znumber,-20(fp)
+clrl   -56(fp)
+clrw   -50(fp)
+moval  -20(fp),r8
+moval  -40(fp),r7
+addl3  $4,ap,r9
+pushl  r9
+calls  $1,_isclear
+tstl   r0
+jeql   L167
+cvtlb  $9,-4(fp)
+movw   $-32768,-2(fp)
+L2000017:moval -20(fp),r0
+movab  L190,r1
+movc3  $20,(r0),(r1)
+movab  L190,r0
+ret
+L167:pushl     r10
+pushl  $16
+pushl  r9
+pushl  r8
+calls  $4,_mapnumber
+pushl  r8
+pushl  r8
+cvtbl  36(r10),-(sp)
+calls  $3,_numshift
+cvtbl  20(ap),r0
+casel  r0,$0,$4
+L2000018:
+.word  L175-L2000018
+.word  L175-L2000018
+.word  L175-L2000018
+.word  L175-L2000018
+.word  L175-L2000018
+movc3  $20,_Znumber,-40(fp)
+addl3  $32,r10,-(sp)
+pushl  $2
+pushl  r9
+pushl  r7
+calls  $4,_mapnumber
+extzv  $0,$15,-40(fp),r0
+cvtlw  r0,-50(fp)
+cvtbl  37(r10),r0
+movzwl -50(fp),r1
+subl3  r0,$32,r2
+extzv  r0,r2,r1,r1
+cvtlw  r1,-50(fp)
+ashl   40(r10),$1,r0
+decl   r0
+mcoml  r0,r0
+movzwl -50(fp),r1
+bicl2  r0,r1
+cvtlw  r1,-50(fp)
+subw2  42(r10),-50(fp)
+bitw   $-32768,-40(fp)
+jeql   L99994
+mnegl  $1,r0
+jbr    L99993
+L175:clrl      -56(fp)
+movw   42(r10),-50(fp)
+jbc    $31,12(r8),L176
+mnegl  $1,-56(fp)
+pushl  r8
+pushl  r8
+calls  $2,_numnegate
+bisl2  r0,*24(ap)
+L176:clrl      -48(fp)
+movl   $4,-44(fp)
+jbr    L179
+L2000016:ashl  -44(fp),$1,r11
+jbr    L180
+L2000014:ashl  r11,$1,r0
+decl   r0
+subl3  r11,$32,r1
+ashl   r1,r0,-60(fp)
+mcoml  -60(fp),r0
+bicl3  r0,12(r8),r0
+jneq   L177
+pushl  r8
+pushl  r8
+pushl  r11
+calls  $3,_numshift
+addl2  r11,-48(fp)
+movzwl -50(fp),r0
+subl2  r11,r0
+cvtlw  r0,-50(fp)
+L180:movl      -48(fp),r0
+cvtwl  38(r10),r1
+cmpl   r0,r1
+jlss   L2000014
+L177:decl      -44(fp)
+L179:tstl      -44(fp)
+jgeq   L2000016
+jbs    $31,12(r8),L184
+pushal L187
+pushal L186
+pushal L185
+calls  $3,_panic
+L184:pushl     r8
+pushl  r8
+pushl  $1
+calls  $3,_numshift
+L169:cvtlb     $9,-4(fp)
+cvtlb  -56(fp),-3(fp)
+movw   -50(fp),-2(fp)
+jbr    L2000017
+L99994:clrl    r0
+L99993:movl    r0,-56(fp)
+jbr    L169
+.align 1
+.globl _bignumpack
+.data  1
+L196:.ascii    "Argument to bignumpack is not unpacked\0"
+.text
+.lcomm L225,20
+.set   L191,0xf80
+.data
+.text
+_bignumpack:.word      L191
+movab  -72(sp),sp
+cmpb   20(ap),$9
+jeql   L195
+pushal L196
+calls  $1,_panic
+L195:clrl      *28(ap)
+movc3  $20,_Znumber,-20(fp)
+movc3  $20,_Znumber,-60(fp)
+cvtlb  24(ap),-4(fp)
+moval  -20(fp),r10
+moval  -60(fp),r8
+moval  -40(fp),r9
+addl3  $4,ap,r7
+mull3  $44,24(ap),r0
+movab  _ty_bigdesc[r0],r11
+movw   22(ap),-62(fp)
+movb   21(ap),-63(fp)
+cmpw   -62(fp),$-32768
+jneq   L197
+L2000025:moval -20(fp),r0
+movab  L225,r1
+movc3  $20,(r0),(r1)
+movab  L225,r0
+ret
+L197:movl      24(ap),r0
+casel  r0,$0,$4
+L2000032:
+.word  L204-L2000032
+.word  L204-L2000032
+.word  L204-L2000032
+.word  L204-L2000032
+.word  L204-L2000032
+pushl  r7
+pushl  r8
+cvtbl  36(r11),r0
+mnegl  r0,-(sp)
+calls  $3,_numshift
+cvtwl  -62(fp),-(sp)
+pushl  r11
+pushal -60(fp)
+calls  $3,_upround
+cvtlw  r0,-62(fp)
+cvtwl  -62(fp),r0
+cvtwl  42(r11),r1
+addl2  r1,r0
+cvtwl  r0,r0
+jneq   L217
+jbr    L218
+L204:pushl     r7
+pushl  r8
+pushl  $-1
+calls  $3,_numshift
+jbss   $31,12(r8),L2000024
+L2000024:cmpw  -62(fp),42(r11)
+jleq   L205
+pushl  r8
+calls  $1,_numclear
+pushl  r8
+pushl  r8
+calls  $2,_num1comp
+jbcc   $31,12(r8),L2000023
+L2000023:movb  -63(fp),-63(fp)
+jbss   $9,*28(ap),L206
+L206:tstb      -63(fp)
+jeql   L214
+pushl  r8
+pushl  r8
+calls  $2,_numnegate
+bisl2  r0,*28(ap)
+L214:addl3     $16,r11,-(sp)
+pushl  $16
+pushl  r8
+pushl  r10
+calls  $4,_mapnumber
+jbr    L2000025
+L205:tstw      -62(fp)
+jgtr   L207
+pushl  r8
+calls  $1,_numclear
+clrb   -63(fp)
+jbss   $10,*28(ap),L206
+jbr    L206
+L207:movl      $4,-72(fp)
+L211:tstl      -72(fp)
+jlss   L206
+ashl   -72(fp),$1,-68(fp)
+jbr    L212
+L2000027:pushl r8
+pushl  r8
+mnegl  -68(fp),-(sp)
+calls  $3,_numshift
+cvtwl  -62(fp),r0
+addl2  -68(fp),r0
+cvtlw  r0,-62(fp)
+L212:cvtwl     -62(fp),r0
+addl2  -68(fp),r0
+cvtwl  42(r11),r1
+cmpl   r0,r1
+jleq   L2000027
+decl   -72(fp)
+jbr    L211
+L217:cvtwl     -62(fp),r0
+cvtwl  42(r11),r1
+addl2  r1,r0
+cvtwl  r0,r0
+jgeq   L219
+L218:pushl     r8
+calls  $1,_numclear
+clrw   -62(fp)
+clrb   -63(fp)
+jbss   $10,*28(ap),L220
+jbr    L220
+L219:cvtwl     -62(fp),r0
+cvtwl  42(r11),r1
+addl2  r1,r0
+ashl   40(r11),$1,r1
+cmpl   r0,r1
+jlssu  L221
+pushl  r8
+calls  $1,_numclear
+pushl  r8
+pushl  r8
+calls  $2,_num1comp
+ashl   40(r11),$1,r0
+decl   r0
+cvtlw  r0,-62(fp)
+movb   -63(fp),-63(fp)
+jbss   $9,*28(ap),L220
+jbr    L220
+L221:addw2     42(r11),-62(fp)
+L220:cvtbl     37(r11),r0
+cvtwl  -62(fp),r1
+ashl   r0,r1,r1
+cvtlw  r1,-62(fp)
+bicw2  $-32768,-62(fp)
+tstb   -63(fp)
+jeql   L223
+bisw2  $-32768,-62(fp)
+L223:movw      -62(fp),-40(fp)
+addl3  $34,r11,-(sp)
+pushl  $2
+pushl  r9
+pushl  r10
+calls  $4,_mapnumber
+jbr    L214
+.align 1
+.globl _mapnumber
+.set   L226,0xe00
+.data
+.text
+_mapnumber:.word       L226
+movl   4(ap),r10
+movl   8(ap),r9
+clrl   r11
+jbr    L232
+L2000034:cvtbl *16(ap)[r11],r0
+incl   r0
+jeql   L230
+movzbl (r9)[r11],r0
+cvtbl  *16(ap)[r11],r1
+movzbl (r10)[r1],r2
+bisl2  r0,r2
+cvtlb  r2,(r10)[r1]
+L230:incl      r11
+L232:cmpl      r11,12(ap)
+jlss   L2000034
+ret
+.align 1
+.globl _upround
+.lcomm L241,20
+.data  1
+L243:.ascii    "%s%s\12\0"
+.text
+.data  1
+L244:.ascii    "(nbytes % 8) == 0\0"
+.text
+.data  1
+L245:.ascii    "mantissa sig bits\0"
+.text
+.data  1
+L247:.ascii    "%s%s\12\0"
+.text
+.data  1
+L248:.ascii    "byteindex >= 0\0"
+.text
+.data  1
+L249:.ascii    "ulp in outer space\0"
+.text
+.data  1
+L251:.ascii    "%s%s\12\0"
+.text
+.data  1
+L252:.ascii    "ovfbitindex >= 0\0"
+.text
+.data  1
+L253:.ascii    "Shifted byte 15 into byte 14\0"
+.text
+.set   L237,0xf80
+.data
+.text
+_upround:.word L237
+subl2  $16,sp
+movl   4(ap),r11
+movl   8(ap),r10
+movl   r11,r7
+movl   r11,r9
+cvtwl  38(r10),r0
+decl   r0
+cvtbl  36(r10),r1
+addl3  r1,r0,-4(fp)
+divl3  $8,-4(fp),r0
+ashl   $3,r0,r0
+subl3  r0,-4(fp),r0
+jeql   L242
+pushal L245
+pushal L244
+pushal L243
+calls  $3,_panic
+L242:divl2     $8,-4(fp)
+subl3  -4(fp),$15,-8(fp)
+jgeq   L246
+pushal L249
+pushal L248
+pushal L247
+calls  $3,_panic
+L246:pushl     r7
+pushl  r7
+pushl  $-2
+calls  $3,_numshift
+cvtbl  36(r10),r0
+addl2  $2,r0
+subl3  r0,$8,r8
+jgeq   L250
+pushal L253
+pushal L252
+pushal L251
+calls  $3,_panic
+L250:ashl      r8,$1,-12(fp)
+ashl   r8,$2,-16(fp)
+movzbl 15(r9),r0
+bisl2  -12(fp),r0
+cvtlb  r0,15(r9)
+movl   -8(fp),r0
+bisb2  $32,L241[r0]
+pushal L241
+pushl  r7
+pushl  r7
+calls  $3,_numaddv
+movl   -8(fp),r0
+bicb2  $32,L241[r0]
+mcoml  -16(fp),r0
+movzbl 15(r9),r1
+bicl2  r0,r1
+jeql   L254
+incl   12(ap)
+pushl  r7
+pushl  r7
+pushl  $1
+jbr    L2000035
+L254:pushl     r7
+pushl  r7
+pushl  $2
+L2000035:calls $3,_numshift
+movl   $8,r0
+cvtbl  36(r10),r1
+subl2  r1,r0
+ashl   r0,$1,r0
+decl   r0
+mcoml  r0,r0
+movzbl 15(r9),r1
+bicl2  r0,r1
+cvtlb  r1,15(r9)
+movl   12(ap),r0
+ret
+
diff --git a/bin/as/test/crt0.o.ok b/bin/as/test/crt0.o.ok
new file mode 100755 (executable)
index 0000000..8cd48b6
Binary files /dev/null and b/bin/as/test/crt0.o.ok differ
diff --git a/bin/as/test/floattab.o.ok b/bin/as/test/floattab.o.ok
new file mode 100644 (file)
index 0000000..ede78a9
Binary files /dev/null and b/bin/as/test/floattab.o.ok differ
diff --git a/bin/as/test/floattab.s b/bin/as/test/floattab.s
new file mode 100644 (file)
index 0000000..9ffbccf
--- /dev/null
@@ -0,0 +1,215 @@
+.data
+.data
+_sccsid:.long  0x29232840
+.long  0x616f6c66
+.long  0x62617474
+.long  0x3509632e
+.long  0x2820312e
+.long  0x6b726542
+.long  0x79656c65
+.long  0x2f342029
+.long  0x382f3033
+.long  0x35
+.comm  _rusefile,32
+.comm  _relfil,4
+.align 1
+.globl _ty_bigdesc
+_ty_bigdesc:.long      0xffffff0f
+.long  0xffffffff
+.long  0xffffffff
+.long  0xffffffff
+.long  0xffffffff
+.long  0xffffffff
+.long  0xffffffff
+.long  0xffffff
+.long  0xffffffff
+.long  0x80000
+.long  0x80000
+.long  0xffff0f0e
+.long  0xffffffff
+.long  0xffffffff
+.long  0xffffffff
+.long  0xffffffff
+.long  0xffffffff
+.long  0xffffffff
+.long  0x100ffff
+.long  0xffffffff
+.long  0x100000
+.long  0x100000
+.long  0xf0e0d0c
+.long  0xffffffff
+.long  0xffffffff
+.long  0xffffffff
+.long  0xffffffff
+.long  0xffffffff
+.long  0xffffffff
+.long  0x3020100
+.long  0xffffffff
+.long  0x200000
+.long  0x200000
+.long  0xb0a0908
+.long  0xf0e0d0c
+.long  0xffffffff
+.long  0xffffffff
+.long  0xffffffff
+.long  0xffffffff
+.long  0x3020100
+.long  0x7060504
+.long  0xffffffff
+.long  0x400000
+.long  0x400000
+.long  0x3020100
+.long  0x7060504
+.long  0xb0a0908
+.long  0xf0e0d0c
+.long  0x3020100
+.long  0x7060504
+.long  0xb0a0908
+.long  0xf0e0d0c
+.long  0xffffffff
+.long  0x800000
+.long  0x800000
+.long  0xe0dff0f
+.long  0xffffffff
+.long  0xffffffff
+.long  0xffffffff
+.long  0xffffffff
+.long  0xffffffff
+.long  0xffffffff
+.long  0x302ff
+.long  0x1000100
+.long  0x180701
+.long  0x800008
+.long  0xe0dff0f
+.long  0xa090c0b
+.long  0xffffffff
+.long  0xffffffff
+.long  0xffffffff
+.long  0xffffffff
+.long  0x40706ff
+.long  0x30205
+.long  0x1000100
+.long  0x380701
+.long  0x800008
+.long  0xe0dff0f
+.long  0xa090c0b
+.long  0xffffffff
+.long  0xffffffff
+.long  0xffffffff
+.long  0xffffffff
+.long  0x40706ff
+.long  0x30205
+.long  0x1000100
+.long  0x350404
+.long  0x400000b
+.long  0xf0effff
+.long  0xb0a0d0c
+.long  0x7060908
+.long  0x3020504
+.long  0xf0effff
+.long  0xb0a0d0c
+.long  0x7060908
+.long  0x3020504
+.long  0x1000100
+.long  0x710000
+.long  0x4000000f
+.long  0x0
+.space 40
+.text
+LL0:.align     1
+.globl _cfloattab
+.data  1
+L119:.ascii    "%s\72p[up[%d]] == %d\12\0"
+.text
+.data  1
+L122:.ascii    "%s\72up[p[%d]] == %d\12\0"
+.text
+.data  1
+L125:.ascii    "sigbits\72 %d, lshift\72 %d, excess\72 %d\12\0"
+.text
+.data  1
+L127:.ascii    "lsbyte <= 0\12\0"
+.text
+.data  1
+L129:.ascii    "Shifted byte 15 into byte 14\0"
+.text
+.data  1
+L131:.ascii    "sigbits == %d, excess = %d\12\0"
+.text
+.set   L106,0xf00
+.data
+.text
+_cfloattab:.word       L106
+clrl   r10
+L2000003:mull3 $44,r10,r0
+movab  _ty_bigdesc[r0],r11
+clrl   r9
+L2000001:cmpb  (r11)[r9],$-1
+jeql   L116
+addl3  $16,r11,r0
+cvtbl  (r11)[r9],r1
+cvtbl  (r0)[r1],r8
+cmpl   r9,r8
+jeql   L116
+pushl  r8
+pushl  r9
+pushl  _ty_string[r10]
+pushal L119
+calls  $4,_printf
+L116:cmpb      16(r11)[r9],$-1
+jeql   L113
+cvtbl  16(r11)[r9],r0
+cvtbl  (r11)[r0],r8
+cmpl   r9,r8
+jeql   L113
+pushl  r8
+pushl  r9
+pushl  _ty_string[r10]
+pushal L122
+calls  $4,_printf
+L113:incl      r9
+cmpl   r9,$16
+jlss   L2000001
+tstl   _ty_float[r10]
+jeql   L110
+cvtwl  38(r11),r0
+decl   r0
+cvtbl  36(r11),r1
+addl3  r1,r0,r8
+divl3  $8,r8,r0
+ashl   $3,r0,r0
+subl3  r0,r8,r0
+jeql   L124
+divl3  $8,r8,r0
+ashl   $3,r0,r0
+subl3  r0,r8,-(sp)
+cvtbl  36(r11),-(sp)
+cvtwl  38(r11),-(sp)
+pushal L125
+calls  $4,_printf
+L124:divl3     $8,r8,r0
+subl3  r0,$15,r0
+jgeq   L126
+pushal L127
+calls  $1,_printf
+L126:cvtbl     36(r11),r0
+addl2  $2,r0
+subl3  r0,$8,r0
+jgtr   L128
+pushal L129
+calls  $1,_printf
+L128:cvtbl     40(r11),r0
+decl   r0
+ashl   r0,$1,r0
+cvtwl  42(r11),r1
+cmpl   r0,r1
+jeql   L110
+cvtwl  42(r11),-(sp)
+cvtbl  40(r11),-(sp)
+pushal L131
+calls  $3,_printf
+L110:incl      r10
+cmpl   r10,$9
+jlss   L2000003
+ret
+
diff --git a/bin/as/test/n.sh b/bin/as/test/n.sh
new file mode 100755 (executable)
index 0000000..eea79ab
--- /dev/null
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+for i in asscan1.s asscan2.s asscan3.s asscan4.s bignum1.s bignum2.s natof.s floattab.s asparse.s asexpr.s asmain.s assyms.s asjxxx.s ascode.s assizetab.s asio.s
+do
+  o=`basename $i .s`.o
+  ../as -o $o $i
+  diff -q $o $o.ok
+done
+../as -o aspseudo.o -R aspseudo.s
+diff -q aspseudo.o aspseudo.o.ok
+
+#ld -X crt0.o -o as asscan1.o asscan2.o asscan3.o asscan4.o bignum1.o bignum2.o natof.o floattab.o asparse.o asexpr.o asmain.o assyms.o asjxxx.o ascode.o aspseudo.o assizetab.o asio.o -L. -lc
+#diff -q as as.ok
diff --git a/bin/as/test/natof.o.ok b/bin/as/test/natof.o.ok
new file mode 100644 (file)
index 0000000..d629d42
Binary files /dev/null and b/bin/as/test/natof.o.ok differ
diff --git a/bin/as/test/natof.s b/bin/as/test/natof.s
new file mode 100644 (file)
index 0000000..30042e2
--- /dev/null
@@ -0,0 +1,356 @@
+.data
+.data
+_sccsid:.long  0x29232840
+.long  0x6f74616e
+.long  0x9632e66
+.long  0x20312e35
+.long  0x72654228
+.long  0x656c656b
+.long  0x34202979
+.long  0x2f30332f
+.long  0x3538
+.comm  _rusefile,32
+.comm  _relfil,4
+.text
+LL0:.align     1
+.globl _bigatof
+.lcomm L110,20
+.data  1
+L126:.ascii    "%s%s\12\0"
+.text
+.data  1
+L127:.ascii    "((acc[HOC] & SIGNBIT) == 0)\0"
+.text
+.data  1
+L128:.ascii    "Negative HOC\0"
+.text
+.data  1
+L131:.ascii    "%s%s\12\0"
+.text
+.data  1
+L132:.ascii    "ovf == 0\0"
+.text
+.data  1
+L133:.ascii    "Overflow building mantissa\0"
+.text
+.data  1
+L170:.ascii    "%s%s\12\0"
+.text
+.data  1
+L171:.ascii    "((acc[HOC] & SIGNBIT) == 0)\0"
+.text
+.data  1
+L172:.ascii    "Negative HOC\0"
+.text
+.data  1
+L179:.ascii    "%s%s\12\0"
+.text
+.data  1
+L180:.ascii    "ovf == 0\0"
+.text
+.data  1
+L181:.ascii    "Carry out of left rounding up by 2\0"
+.text
+.data  1
+L186:.ascii    "%s%s\12\0"
+.text
+.data  1
+L187:.ascii    "dividend >= 0\0"
+.text
+.data  1
+L188:.ascii    "dividend < 0\0"
+.text
+.data  1
+L190:.ascii    "%s%s\12\0"
+.text
+.data  1
+L191:.ascii    "dividend >= 0\0"
+.text
+.data  1
+L192:.ascii    "dividend < 0\0"
+.text
+.data  1
+L200:.ascii    "%s%s\12\0"
+.text
+.data  1
+L201:.ascii    "ovf == 0\0"
+.text
+.data  1
+L202:.ascii    "Scaling * 10 of manitissa\0"
+.text
+.data  1
+L205:.ascii    "%s%s\12\0"
+.text
+.data  1
+L206:.ascii    "Acc.num_sign == 0\0"
+.text
+.data  1
+L207:.ascii    "unpacked integer is < 0\0"
+.text
+.lcomm L209,20
+.set   L106,0xfc0
+.data
+.text
+_bigatof:.word L106
+movab  -80(sp),sp
+movl   4(ap),r11
+clrl   -4(fp)
+clrl   -8(fp)
+clrl   -12(fp)
+clrl   -28(fp)
+movc3  $20,L110,-52(fp)
+cvtlb  8(ap),-36(fp)
+moval  -52(fp),r7
+moval  -72(fp),r10
+L115:cvtbl     (r11)+,-24(fp)
+movl   -24(fp),r0
+jbs    $3,__ctype_+1[r0],L115
+cmpl   r0,$43
+jeql   L119
+cmpl   r0,$45
+jeql   L118
+jbr    L123
+L2000021:movl  -24(fp),r0
+cmpl   r0,$100
+jeql   L147
+jgtr   L160
+cmpl   r0,$71
+jeql   L147
+jgtr   L161
+cmpl   r0,$68
+jeql   L147
+jgtr   L162
+cmpl   r0,$46
+jneq   L136
+tstl   -12(fp)
+jneq   L136
+incl   -12(fp)
+jbr    L119
+L2000001:pushl r7
+pushl  r10
+pushl  $3
+calls  $3,_numshift
+movl   r0,-76(fp)
+pushl  r7
+pushl  r7
+pushl  $1
+calls  $3,_numshift
+bisl2  r0,-76(fp)
+pushl  r7
+pushl  r10
+pushl  r7
+calls  $3,_numaddv
+bisl2  r0,-76(fp)
+subl3  $48,-24(fp),-(sp)
+pushl  r7
+pushl  r7
+calls  $3,_numaddd
+bisl2  r0,-76(fp)
+jeql   L134
+pushal L133
+pushal L132
+pushal L131
+calls  $3,_panic
+jbr    L134
+L118:mnegl     $1,-4(fp)
+L119:cvtbl     (r11)+,-24(fp)
+L123:movl      -24(fp),r0
+jbc    $2,__ctype_+1[r0],L2000021
+jbc    $31,12(r7),L124
+pushal L128
+pushal L127
+pushal L126
+calls  $3,_panic
+L124:cmpl      12(r7),$214748364
+jlssu  L2000001
+incl   -28(fp)
+L134:tstl      -12(fp)
+jeql   L119
+decl   -28(fp)
+jbr    L119
+L2000005:cmpl  -80(fp),$214748364
+jgequ  L151
+mull2  $10,-80(fp)
+subl3  $48,-24(fp),r0
+addl2  r0,-80(fp)
+jbr    L151
+L157:addl2     -80(fp),-28(fp)
+jbr    L136
+L162:cmpl      r0,$69
+jneq   L136
+L147:clrl      -80(fp)
+cvtbl  (r11)+,-24(fp)
+clrl   -8(fp)
+movl   -24(fp),r0
+cmpl   r0,$43
+jeql   L151
+cmpl   r0,$45
+jneq   L154
+movl   $1,-8(fp)
+L151:cvtbl     (r11)+,-24(fp)
+L154:movl      -24(fp),r0
+jbs    $2,__ctype_+1[r0],L2000005
+tstl   -8(fp)
+jeql   L157
+subl2  -80(fp),-28(fp)
+jbr    L136
+L161:cmpl      r0,$72
+jneq   L136
+jbr    L147
+L160:cmpl      r0,$103
+jeql   L147
+jgtr   L163
+cmpl   r0,$101
+jneq   L136
+jbr    L147
+L163:cmpl      r0,$104
+jeql   L147
+L136:pushl     r7
+calls  $1,_isclear
+tstl   r0
+jneq   L2000007
+clrl   -32(fp)
+jbr    L168
+L2000009:pushl r7
+pushl  r7
+pushl  -16(fp)
+calls  $3,_numshift
+bisl2  r0,-76(fp)
+subl2  -16(fp),-32(fp)
+L176:mcoml     r9,r0
+bicl3  r0,12(r7),r0
+jeql   L2000009
+decl   -80(fp)
+cmpl   -80(fp),$1
+jgequ  L2000011
+pushl  $2
+pushl  r7
+pushl  r7
+calls  $3,_numaddd
+movl   r0,-76(fp)
+tstl   r0
+jeql   L178
+pushal L181
+pushal L180
+pushal L179
+calls  $3,_panic
+L178:clrl      r8
+movl   r7,-20(fp)
+movl   $7,-16(fp)
+L2000013:ashl  $16,r8,r0
+movl   -16(fp),r1
+movzwl *-20(fp)[r1],r1
+bisl3  r1,r0,r6
+jgeq   L185
+pushal L188
+pushal L187
+pushal L186
+calls  $3,_panic
+L185:divl3     $5,r6,r9
+mull3  $5,r9,r0
+subl3  r0,r6,r8
+movl   -16(fp),r0
+cvtlw  r9,*-20(fp)[r0]
+movl   r8,r8
+decl   -16(fp)
+cmpl   -16(fp),$1
+jgequ  L2000013
+ashl   $16,r8,r0
+movzwl *-20(fp),r1
+bisl3  r1,r0,r6
+jgeq   L189
+pushal L192
+pushal L191
+pushal L190
+calls  $3,_panic
+L189:divl3     $10,r6,r9
+mull3  $10,r9,r0
+subl3  r0,r6,r8
+addl3  r9,r9,r0
+cvtlw  r0,*-20(fp)
+cmpl   r8,$5
+jlssu  L193
+pushl  $1
+pushl  r7
+pushl  r7
+calls  $3,_numaddd
+movl   r0,-76(fp)
+L193:decl      -32(fp)
+incl   -28(fp)
+L168:tstl      -28(fp)
+jgeq   L196
+jbc    $31,12(r7),L169
+pushal L172
+pushal L171
+pushal L170
+calls  $3,_panic
+L169:clrl      -76(fp)
+movl   $5,-80(fp)
+L2000011:subl3 $1,-80(fp),r0
+ashl   r0,$1,-16(fp)
+ashl   -16(fp),$1,r0
+subl3  $1,r0,r9
+subl3  -16(fp),$31,r0
+ashl   r0,r9,r9
+jbr    L176
+L2000017:pushl r7
+pushl  r7
+pushl  $-1
+calls  $3,_numshift
+incl   -32(fp)
+L197:cmpl      12(r7),$429496729
+jgtru  L2000017
+pushl  r7
+pushl  r10
+pushl  $2
+calls  $3,_numshift
+movl   r0,-76(fp)
+pushl  r10
+pushl  r7
+pushl  r7
+calls  $3,_numaddv
+bisl2  r0,-76(fp)
+jeql   L199
+pushal L202
+pushal L201
+pushal L200
+calls  $3,_panic
+L199:incl      -32(fp)
+decl   -28(fp)
+L196:tstl      -28(fp)
+jgtr   L197
+cvtlb  $4,-36(fp)
+pushal -76(fp)
+subl2  $20,sp
+movc3  $20,-52(fp),(sp)
+calls  $6,_bignumunpack
+movc3  $20,(r0),-52(fp)
+tstl   -76(fp)
+jeql   L203
+movl   $34,_errno
+L203:cvtwl     -34(fp),r0
+addl2  -32(fp),r0
+cvtlw  r0,-34(fp)
+tstb   -35(fp)
+jeql   L204
+pushal L207
+pushal L206
+pushal L205
+calls  $3,_panic
+L204:cvtlb     -4(fp),-35(fp)
+clrl   -76(fp)
+pushal -76(fp)
+pushl  8(ap)
+subl2  $20,sp
+movc3  $20,-52(fp),(sp)
+calls  $7,_bignumpack
+movc3  $20,(r0),-52(fp)
+tstl   -76(fp)
+jeql   L2000007
+movl   $34,_errno
+L2000007:moval -52(fp),r0
+movab  L209,r1
+movc3  $20,(r0),(r1)
+movab  L209,r0
+ret
+
diff --git a/env.sh b/env.sh
index 7af5aed..ca72a43 100644 (file)
--- a/env.sh
+++ b/env.sh
@@ -1,4 +1,5 @@
 export ROOT=`pwd`
+export BIN=$ROOT/cross/bin
 export INCLUDE=$ROOT/cross/usr/include
 export SCRIPTS=$ROOT/scripts
 export PATH=$SCRIPTS:$PATH
index f9498f7..0163441 100644 (file)
@@ -7,10 +7,12 @@ LD=ld
 #      @(#)Makefile    5.4 (Berkeley) 9/5/85
 #
 
-SRCS=  close.c fstat.c getpagesize.c isatty.c lseek.c read.c readv.c sbrk.c \
-       vopen.c write.c writev.c _exit.c
-OBJS=  close.o fstat.o getpagesize.o isatty.o lseek.o read.o readv.o sbrk.o \
-       vopen.o write.o writev.o _exit.o
+SRCS=  close.c fstat.c getpagesize.c getpid.c isatty.c linux.c lseek.c read.c \
+       readv.c sbrk.c sigvec.c stat.c unlink.c vopen.c write.c writev.c \
+       _exit.c
+OBJS=  close.o fstat.o getpagesize.o getpid.o isatty.o linux.o lseek.o read.o \
+       readv.o sbrk.o sigvec.o stat.o unlink.o vopen.o write.o writev.o \
+       _exit.o
 TAGSFILE=tags
 
 .c.o:
index 6738361..0807ef6 100644 (file)
@@ -3,5 +3,5 @@
 #include <sys/proc.h>
 
 void _exit(s) int s; {
-       nox__exit(s);
+       nox__exit((nox_int)s);
 }
index 081b87e..ebeb7ae 100644 (file)
@@ -1,13 +1,15 @@
+#include <nox_errno.h>
 #include <nox_unistd.h>
 
 #include <sys/errno.h>
 #include <sys/file.h>
+#include "linux.h"
 
 int close(f) int f; {
-       int res;
+       nox_int res;
 
        res = nox_close(f);
        if (res == -1)
-               errno = EBADF;
-       return res;
+               errno = htot_errno(nox_errno);
+       return (int)res;
 }
index 6a8810c..2310669 100644 (file)
@@ -1,17 +1,18 @@
+#include <nox_errno.h>
 #include <sys/nox_stat.h>
 #include <nox_unistd.h>
 
-#include <gen.h>
 #include <sys/errno.h>
 #include <sys/stat.h>
+#include "linux.h"
 
 int fstat(f, b) int f; struct stat *b; {
        struct nox_stat statbuf;
-       if (nox_fstat(f, &statbuf) == -1) {
-               errno = ENOENT;
+
+       if (nox_fstat((nox_int)f, &statbuf)) {
+               errno = htot_errno(nox_errno);
                return -1;
        }
-       bzero(b, sizeof(struct stat));
-       b->st_size = (off_t)statbuf.nox_st_size;
+       htot_stat(&statbuf, b);
        return 0;
 }
index db8b2ac..545f134 100644 (file)
@@ -3,5 +3,5 @@
 #include <sys.h>
 
 int getpagesize() {
-       return nox_getpagesize();
+       return (int)nox_getpagesize();
 }
diff --git a/lib/libc/linux/sys/getpid.c b/lib/libc/linux/sys/getpid.c
new file mode 100644 (file)
index 0000000..0a4f720
--- /dev/null
@@ -0,0 +1,5 @@
+#include <nox_unistd.h>
+
+int getpid() {
+       return (int)nox_getpid();
+}
index a93ed6a..9eb4727 100644 (file)
@@ -1,13 +1,15 @@
+#include <nox_errno.h>
 #include <nox_unistd.h>
 
 #include <sys/errno.h>
 #include <sys/ioctl.h>
+#include "linux.h"
 
 int isatty(f) int f; {
-       int res;
+       nox_int res;
 
        res = nox_isatty(f);
-       if (res == -1)
-               errno = EBADF;
-       return res;
+       if (res == (nox_int)-1)
+               errno = htot_errno(nox_errno);
+       return (int)res;
 }
diff --git a/lib/libc/linux/sys/linux.c b/lib/libc/linux/sys/linux.c
new file mode 100644 (file)
index 0000000..f4b6a1e
--- /dev/null
@@ -0,0 +1,164 @@
+#include <nox_errno.h>
+#include <nox_stdlib.h>
+#include <nox_unistd.h>
+
+#include <string.h>
+#include <sys/errno.h>
+#include <sys/signal.h>
+#include "linux.h"
+
+nox_int ttoh_errno[] = {
+       0,
+       nox_EPERM,
+       nox_ENOENT,
+       nox_ESRCH,
+       nox_EINTR,
+       nox_EIO,
+       nox_ENXIO,
+       nox_E2BIG,
+       nox_ENOEXEC,
+       nox_EBADF,
+       nox_ECHILD,
+       nox_EAGAIN,
+       nox_ENOMEM,
+       nox_EACCES,
+       nox_EFAULT,
+       nox_ENOTBLK,
+       nox_EBUSY,
+       nox_EEXIST,
+       nox_EXDEV,
+       nox_ENODEV,
+       nox_ENOTDIR,
+       nox_EISDIR,
+       nox_EINVAL,
+       nox_ENFILE,
+       nox_EMFILE,
+       nox_ENOTTY,
+       nox_ETXTBSY,
+       nox_EFBIG,
+       nox_ENOSPC,
+       nox_ESPIPE,
+       nox_EROFS,
+       nox_EMLINK,
+       nox_EPIPE,
+       nox_EDOM,
+       nox_ERANGE,
+       nox_EWOULDBLOCK,
+       nox_EINPROGRESS,
+       nox_EALREADY,
+       nox_ENOTSOCK,
+       nox_EDESTADDRREQ,
+       nox_EMSGSIZE,
+       nox_EPROTOTYPE,
+       nox_ENOPROTOOPT,
+       nox_EPROTONOSUPPORT,
+       nox_ESOCKTNOSUPPORT,
+       nox_EOPNOTSUPP,
+       nox_EPFNOSUPPORT,
+       nox_EAFNOSUPPORT,
+       nox_EADDRINUSE,
+       nox_EADDRNOTAVAIL,
+       nox_ENETDOWN,
+       nox_ENETUNREACH,
+       nox_ENETRESET,
+       nox_ECONNABORTED,
+       nox_ECONNRESET,
+       nox_ENOBUFS,
+       nox_EISCONN,
+       nox_ENOTCONN,
+       nox_ESHUTDOWN,
+       nox_ETOOMANYREFS,
+       nox_ETIMEDOUT,
+       nox_ECONNREFUSED,
+       nox_ELOOP,
+       nox_ENAMETOOLONG,
+       nox_EHOSTDOWN,
+       nox_EHOSTUNREACH,
+       nox_ENOTEMPTY,
+       0, /*nox_EPROCLIM,*/
+       nox_EUSERS,
+       nox_EDQUOT
+};
+
+nox_int ttoh_signo[] = {
+       0,
+       nox_SIGHUP,
+       nox_SIGINT,
+       nox_SIGQUIT,
+       nox_SIGILL,
+       nox_SIGTRAP,
+       nox_SIGIOT,
+       0, /*nox_SIGEMT,*/
+       nox_SIGFPE,
+       nox_SIGKILL,
+       nox_SIGBUS,
+       nox_SIGSEGV,
+       nox_SIGSYS,
+       nox_SIGPIPE,
+       nox_SIGALRM,
+       nox_SIGTERM,
+       nox_SIGURG,
+       nox_SIGSTOP,
+       nox_SIGTSTP,
+       nox_SIGCONT,
+       nox_SIGCHLD,
+       nox_SIGTTIN,
+       nox_SIGTTOU,
+       nox_SIGIO,
+       nox_SIGXCPU,
+       nox_SIGXFSZ,
+       nox_SIGVTALRM,
+       nox_SIGPROF,
+       nox_SIGWINCH,
+       0,
+       nox_SIGUSR1,
+       nox_SIGUSR2
+};
+
+int htot_errno(n) nox_int n; {
+       for (int i = 0; i < sizeof(ttoh_errno) / sizeof(nox_int); ++i)
+               if (n == ttoh_errno[i])
+                       return i;
+       nox_write((nox_int)2, "htot_errno()\n", (nox_size_t)13);
+       nox_abort();
+}
+
+int htot_signo(n) nox_int n; {
+       for (int i = 0; i < sizeof(ttoh_signo) / sizeof(nox_int); ++i)
+               if (n == ttoh_signo[i])
+                       return i;
+       nox_write((nox_int)2, "htot_signo()\n", (nox_size_t)13);
+       nox_abort();
+}
+
+void ttoh_sigmask(m, res) int m; nox_sigset_t *res; {
+       nox_sigemptyset(res);
+       for (int i = 1; i < sizeof(ttoh_signo) / sizeof(nox_int); ++i)
+               if ((m & sigmask(i)) && ttoh_signo[i])
+                       nox_sigaddset(res, ttoh_signo[i]);
+}
+
+int htot_sigmask(set) nox_sigset_t *set; {
+       int res = 0;
+       for (int i = 1; i < sizeof(ttoh_signo) / sizeof(nox_int); ++i)
+               if (ttoh_signo[i] && nox_sigismember(set, ttoh_signo[i]))
+                       res |= sigmask(i);
+       return res;
+}
+
+void htot_stat(statbuf, res) struct nox_stat *statbuf; struct stat *res; {
+       bzero(res, sizeof(struct stat));
+       res->st_dev = (dev_t)statbuf->nox_st_dev;
+       res->st_ino = (ino_t)statbuf->nox_st_ino;
+       res->st_mode = (unsigned short)statbuf->nox_st_mode;
+       res->st_nlink = (short)statbuf->nox_st_nlink;
+       res->st_uid = (uid_t)statbuf->nox_st_uid;
+       res->st_gid = (gid_t)statbuf->nox_st_gid;
+       res->st_rdev = (dev_t)statbuf->nox_st_rdev;
+       res->st_size = (off_t)statbuf->nox_st_size;
+       res->st_atime = (time_t)statbuf->nox_st_atime;
+       res->st_mtime = (time_t)statbuf->nox_st_mtime;
+       res->st_ctime = (time_t)statbuf->nox_st_ctime;
+       res->st_blksize = (long)statbuf->nox_st_blksize;
+       res->st_blocks = (long)statbuf->nox_st_blocks;
+}
diff --git a/lib/libc/linux/sys/linux.h b/lib/libc/linux/sys/linux.h
new file mode 100644 (file)
index 0000000..111c24f
--- /dev/null
@@ -0,0 +1,18 @@
+#ifndef _LINUX_SYS_LINUX_H_
+#define _LINUX_SYS_LINUX_H_
+
+#include <nox_signal.h>
+#include <sys/nox_stat.h>
+
+#include <sys/stat.h>
+
+extern nox_int ttoh_errno[];
+extern nox_int ttoh_signo[];
+       
+int htot_errno(nox_int n);
+int htot_signo(nox_int n);
+void ttoh_sigmask(int m, nox_sigset_t *res);
+int htot_sigmask(nox_sigset_t *set);
+void htot_stat(struct nox_stat *statbuf, struct stat *res);
+
+#endif
index e7fbbe3..feb7b0a 100644 (file)
@@ -1,15 +1,33 @@
+#include <nox_errno.h>
 #include <nox_unistd.h>
 #include <sys/nox_types.h>
 
+#include <gen.h>
 #include <sys/errno.h>
 #include <sys/file.h>
 #include <sys/types.h>
+#include "linux.h"
 
 off_t lseek(f, o, d) int f; off_t o; int d; {
-       off_t res;
+       nox_int cmd;
+       nox_off_t res;
 
-       res = (off_t)nox_lseek(f, (nox_off_t)o, d);
-       if (res == (off_t)-1)
-               errno = EINVAL;
-       return res;
+       switch (d) {
+       case L_SET:
+               cmd = nox_SEEK_SET;
+               break;
+       case L_INCR:
+               cmd = nox_SEEK_CUR;
+               break;
+       case L_XTND:
+               cmd = nox_SEEK_END;
+               break;
+       default:
+               write(2, "lseek()\n", 8);
+               abort();
+       }
+       res = nox_lseek(f, (nox_off_t)o, cmd);
+       if (res == (nox_off_t)-1)
+               errno = htot_errno(nox_errno);
+       return (off_t)res;
 }
index a73b7e9..733da21 100644 (file)
@@ -1,15 +1,15 @@
+#include <nox_errno.h>
 #include <nox_unistd.h>
 
 #include <sys/errno.h>
 #include <sys/file.h>
+#include "linux.h"
 
 int read(f, b, l) int f; void *b; int l; {
        nox_size_t res;
        
-       res = nox_read(f, b, l);
-       if (res == (nox_size_t)-1) {
-               errno = EIO;
-               return -1;
-       }
+       res = nox_read((nox_int)f, b, (nox_size_t)l);
+       if (res == (nox_size_t)-1)
+               errno = htot_errno(nox_errno);
        return (int)res;
 }
index 8fdb3d7..e613318 100644 (file)
@@ -1,3 +1,4 @@
+#include <nox_errno.h>
 #include <nox_unistd.h>
 #include <sys/nox_uio.h>
 
@@ -5,22 +6,23 @@
 #include <sys/errno.h>
 #include <sys/file.h>
 #include <sys/uio.h>
+#include "linux.h"
 
 int readv(f, v, l) int f; struct iovec *v; int l; {
        int i;
        struct nox_iovec iov[8];
-       int res;
+       nox_int res;
 
        if (l > 8) {
-               read(2, "readv(): iovec too large\n", 25);
+               write(2, "readv()\n", 8);
                abort();
        }
        for (i = 0; i < l; ++i) {
                iov[i].nox_iov_base = v[i].iov_base;
-               iov[i].nox_iov_len = v[i].iov_len;
+               iov[i].nox_iov_len = (nox_size_t)v[i].iov_len;
        }
-       res = nox_readv(f, iov, l);
-       if (res == -1)
-               errno = EIO;
-       return res;
+       res = nox_readv((nox_int)f, iov, (nox_int)l);
+       if (res == (nox_int)-1)
+               errno = htot_errno(nox_errno);
+       return (int)res;
 }
index 72146e9..2592df0 100644 (file)
@@ -1,14 +1,15 @@
-#include <nox_stdint.h>
+#include <nox_errno.h>
 #include <nox_unistd.h>
 
 #include <sys/errno.h>
 #include <sys/proc.h>
+#include "linux.h"
 
 void *sbrk(i) int i; {
        void *res;
 
        res = nox_sbrk(i);
-       if ((intptr_t)res == -1)
-               errno = ENOMEM;
+       if (res == (void *)-1)
+               errno = htot_errno(nox_errno);
        return res;
 }
diff --git a/lib/libc/linux/sys/sigvec.c b/lib/libc/linux/sys/sigvec.c
new file mode 100644 (file)
index 0000000..37ad416
--- /dev/null
@@ -0,0 +1,36 @@
+#include <nox_errno.h>
+#include <nox_signal.h>
+
+#include <gen.h>
+#include <errno.h>
+#include <sys/file.h>
+#include <sys/signal.h>
+#include "linux.h"
+
+int sigvec(c, f, m) int c; struct sigvec *f; struct sigvec *m; {
+       struct nox_sigaction act;
+       struct nox_sigaction oldact;
+
+       act.nox_sa_sigaction = (void (*)(nox_int, nox_siginfo_t *, void *))f->sv_handler; /* fix this later */
+       ttoh_sigmask(f->sv_mask, &act.nox_sa_mask);
+       act.nox_sa_flags = nox_SA_RESTART | nox_SA_SIGINFO;
+       if (f->sv_flags & SV_ONSTACK)
+               act.nox_sa_flags |= nox_SA_ONSTACK;
+       if (f->sv_flags & SV_INTERRUPT)
+               goto nogood;
+       if (c < 0 || c >= NSIG) {
+       nogood:
+               write(2, "sigvec()\n", 9);
+               abort();
+       }
+       if (nox_sigaction(ttoh_signo[c], &act, &oldact)) {
+               errno = htot_errno(nox_errno);
+               return -1;
+       }
+       m->sv_handler = (void (*)(int sig, int code, struct sigcontext *scp))oldact.nox_sa_sigaction; /* fix this later */
+       m->sv_mask = htot_sigmask(&oldact.nox_sa_mask);
+       m->sv_flags = 0;
+       if (oldact.nox_sa_flags & nox_SA_ONSTACK)
+               m->sv_flags |= SV_ONSTACK;
+       return 0;
+}
diff --git a/lib/libc/linux/sys/stat.c b/lib/libc/linux/sys/stat.c
new file mode 100644 (file)
index 0000000..6ddf5ec
--- /dev/null
@@ -0,0 +1,18 @@
+#include <nox_errno.h>
+#include <sys/nox_stat.h>
+#include <nox_unistd.h>
+
+#include <sys/errno.h>
+#include <sys/stat.h>
+#include "linux.h"
+
+int stat(s, b) char *s; struct stat *b; {
+       struct nox_stat statbuf;
+
+       if (nox_stat(s, &statbuf)) {
+               errno = htot_errno(nox_errno);
+               return -1;
+       }
+       htot_stat(&statbuf, b);
+       return 0;
+}
diff --git a/lib/libc/linux/sys/unlink.c b/lib/libc/linux/sys/unlink.c
new file mode 100644 (file)
index 0000000..d573238
--- /dev/null
@@ -0,0 +1,14 @@
+#include <nox_errno.h>
+#include <nox_unistd.h>
+
+#include <sys/errno.h>
+#include <sys/file.h>
+#include "linux.h"
+
+int unlink(s) char *s; {
+       if (nox_unlink(s)) {
+               errno = htot_errno(nox_errno);
+               return -1;
+       }
+       return 0;
+}
index 7fee17a..f849ac6 100644 (file)
@@ -1,3 +1,4 @@
+#include <nox_errno.h>
 #include <nox_fcntl.h>
 
 #include <gen.h>
@@ -5,16 +6,15 @@
 #include <sys/file.h>
 #ifdef __STDC__
 #include <stdarg.h>
-#define _va_start(argp, arg) va_start(argp, arg)
 #else
 #include <varargs.h>
-#define _va_start(argp, arg) va_start(argp)
 #endif
+#include "linux.h"
 
 int vopen(f, m, argp) char *f; int m; va_list argp; {
-       int flags;
-       nox_mode_t mode = 0;
-       int res;
+       nox_int flags;
+       nox_mode_t mode;
+       nox_int res;
 
        switch (m & 3) {
        case O_RDONLY:
@@ -34,6 +34,7 @@ int vopen(f, m, argp) char *f; int m; va_list argp; {
                flags |= nox_O_NDELAY;
        if (m & O_APPEND)
                flags |= nox_O_APPEND;
+       mode = 0;
        if (m & O_CREAT) {
                flags |= nox_O_CREAT;
                mode = va_arg(argp, int);
@@ -43,7 +44,7 @@ int vopen(f, m, argp) char *f; int m; va_list argp; {
        if (m & O_EXCL)
                flags |= nox_O_EXCL;
        res = nox_open(f, flags, mode);
-       if (res == -1)
-               errno = ENOENT;
-       return res;
+       if (res == (nox_int)-1)
+               errno = htot_errno(nox_errno);
+       return (int)res;
 }
index 3246a04..6bc2520 100644 (file)
@@ -1,15 +1,15 @@
+#include <nox_errno.h>
 #include <nox_unistd.h>
 
 #include <sys/errno.h>
 #include <sys/file.h>
+#include "linux.h"
 
 int write(f, b, l) int f; void *b; int l; {
        nox_size_t res;
        
-       res = nox_write(f, b, l);
-       if (res == (nox_size_t)-1) {
-               errno = EIO;
-               return -1;
-       }
+       res = nox_write((nox_int)f, b, (nox_size_t)l);
+       if (res == (nox_size_t)-1)
+               errno = htot_errno(nox_errno);
        return (int)res;
 }
index 437936f..a863e96 100644 (file)
@@ -1,3 +1,4 @@
+#include <nox_errno.h>
 #include <nox_unistd.h>
 #include <sys/nox_uio.h>
 
@@ -5,22 +6,23 @@
 #include <sys/errno.h>
 #include <sys/file.h>
 #include <sys/uio.h>
+#include "linux.h"
 
 int writev(f, v, l) int f; struct iovec *v; int l; {
        int i;
        struct nox_iovec iov[8];
-       int res;
+       nox_int res;
 
        if (l > 8) {
-               write(2, "writev(): iovec too large\n", 26);
+               write(2, "writev()\n", 9);
                abort();
        }
        for (i = 0; i < l; ++i) {
                iov[i].nox_iov_base = v[i].iov_base;
-               iov[i].nox_iov_len = v[i].iov_len;
+               iov[i].nox_iov_len = (nox_size_t)v[i].iov_len;
        }
-       res = nox_writev(f, iov, l);
-       if (res == -1)
-               errno = EIO;
-       return res;
+       res = nox_writev((nox_int)f, iov, (nox_int)l);
+       if (res == (nox_int)-1)
+               errno = htot_errno(nox_errno);
+       return (int)res;
 }
index 8f4050f..16afefd 100644 (file)
--- a/xify/cc.c
+++ b/xify/cc.c
@@ -215,9 +215,17 @@ int main(argc, argv) int argc; char **argv; {
                        plist[np++] = argv[i];
                        continue;
                case 'D':
+                       if (strncmp(argv[i] + 2, "nox_", 4) == 0) {
+                               plist[np++] = strspl("-D", argv[i] + 6);
+                               continue;
+                       }
                        t = strspl("-D", argv[i]);
                        goto define;
                case 'U':
+                       if (strncmp(argv[i] + 2, "nox_", 4) == 0) {
+                               plist[np++] = strspl("-U", argv[i] + 6);
+                               continue;
+                       }
                        t = strspl("-U", argv[i]);
                define:
                        t[2] = 'x';
index e96dd0c..bf950ae 100755 (executable)
@@ -22,5 +22,5 @@ typedef uint32_t x_unsigned_long;
 
 #endif
 EOF
-  "`dirname "$0"`/xifyfilt" <$1 2>$3 |sed -e 's/\(extern\|register\|static\) x_int\([   ]\+x_\)\(Bignum\|Iptr\|bytetoktype\|bool\|caddr_t\|chptr\|datum\|inttoktype\|lgtype\|off_t\|time_t\|u_char\|u_int\|u_short\|u_long\)/\1\2\3/g; s/va_arg(x_argp, x_\(unsigned_\)\?\(short\|int\|long\))/_va_arg_\1\2(x_argp)/g'
+  "`dirname "$0"`/xifyfilt" <$1 2>$3 |sed -e 's/\(extern\|register\|static\) x_int\([   ]\+\(int\|long\|short\|unsigned\|x_Bignum\|x_Iptr\|x_bytetoktype\|x_bool\|x_caddr_t\|x_chptr\|x_datum\|x_inttoktype\|x_lgtype\|x_off_t\|x_time_t\|x_u_char\|x_u_int\|x_u_short\|x_u_long\)\)/\1\2/g; s/va_arg(x_argp, x_\(unsigned_\)\?\(short\|int\|long\))/_va_arg_\1\2(x_argp)/g'
 ) >$2