1972_stuff/s1/frag22

Find at most related files.
including files from this version of Unix.

/ as9 -- PDP-11 assembler pass 2

eae = 0

symtab = .-200

/ special variables

 02; dot:000000 /.
 01; dotdot:000000 /..

/ register

24;000000 /r0
24;000001 /r1
24;000002 /r2
24;000003 /r3
24;000004 /r4
24;000005 /r5
24;000006 /sp
24;000007 /pc


.if eae
/eae & switches

01;177570 /csw
01;177300 /div
01;177302 /ac
01;177304 /mq
01;177306 /mul
01;177310 /sc
01;177311 /sr
01;177312 /nor
01;177314 /lsh
01;177316 /ash

.endif

/ system calls

01;0000001 /exit
01;0000002 /fork
01;0000003 /read
01;0000004 /write
01;0000005 /open
01;0000006 /close
01;0000007 /wait
01;0000010 /creat
01;0000011 /link
01;0000012 /unlink
01;0000013 /exec
01;0000014 /chdir
01;0000015 /time
01;0000016 /makdir
01;0000017 /chmod
01;0000020 /chown
01;0000021 /break
01;0000022 /stat
01;0000023 /seek
01;0000024 /tell
01;0000025 /mount
01;0000026 /umount
01;0000027 /setuid
01;0000030 /getuid
01;0000031 /stime
01;0000032 /quit
01;0000033 /intr
01;0000034 /fstat
01;0000035 /cemt
01;0000036 /mdate
01;0000037 /stty
01;0000040 /gtty
01;0000041 /ilgins
01;0000042 /nice

/ double operand

13;0010000 /mov
13;0110000 /movb
13;0020000 /cmp
13;0120000 /cmpb
13;0030000 /bit
13;0130000 /bitb
13;0040000 /bic
13;0140000 /bicb
13;0050000 /bis
13;0150000 /bisb
13;0060000 /add
13;0160000 /sub

/ branch

06;0000400 /br
06;0001000 /bne
06;0001400 /beq
06;0002000 /bge
06;0002400 /blt
06;0003000 /bgt
06;0003400 /ble
06;0100000 /bpl
06;0100400 /bmi
06;0101000 /bhi
06;0101400 /blos
06;0102000 /bvc
06;0102400 /bvs
06;0103000 /bhis
06;0103000 /bec
06;0103000 /bcc
06;0103400 /blo
06;0103400 /bcs
06;0103400 /bes

/ single operand

15;0005000 /clr
15;0105000 /clrb
15;0005100 /com
15;0105100 /comb
15;0005200 /inc
15;0105200 /incb
15;0005300 /dec
15;0105300 /decb
15;0005400 /neg
15;0105400 /negb
15;0005500 /adc
15;0105500 /adcb
15;0005600 /sbc
15;0105600 /sbcb
15;0005700 /tst
15;0105700 /tstb
15;0006000 /ror
15;0106000 /rorb
15;0006100 /rol
15;0106100 /rolb
15;0006200 /asr
15;0106200 /asrb
15;0006300 /asl
15;0106300 /aslb
15;0000100 /jmp
15;0000300 /swab

/ jsr

07;0004000 /jsr

/ rts

10;000200 /rts

/ simple operand

11;104400 /sys

/ flag-setting

01;0000241 /clc
01;0000242 /clv
01;0000244 /clz
01;0000250 /cln
01;0000261 /sec
01;0000262 /sev
01;0000264 /sez
01;0000270 /sen

/ floating point ops

01;170000 / cfcc
01;170001 / setf
01;170011 / setd
01;170002 / seti
01;170012 / setl
15;170400 / clrf
15;170700 / negf
15;170600 / absf
15;170500 / tstf
12;172400 / movf
14;177000 / movif
05;175400 / movfi
14;177400 / movof
05;176000 / movfo
14;172000 / addf
14;173000 / subf
14;171000 / mulf
14;174400 / divf
14;173400 / cmpf
14;171400 / modf
24;000000 / fr0
24;000001 / fr1
24;000002 / fr2
24;000003 / fr3
24;000004 / fr4
24;000005 / fr5

/ 11/45 operations

30;072000 /als (ash)
30;073000 /alsc (ashc)
30;070000 /mpy
.if eae-1
30;070000/ mul
30;071000 / div
30;072000 / ash
30;073000 /ashc
.endif
30;071000 /dvd
07;074000 /xor
15;006700 /sxt
11;006400 /mark
31;077000 /sob

/ specials

16;000000 /.byte
20;000000 /.even
21;000000 /.if
22;000000 /.endif
23;000000 /.globl
25;000000 /.text
26;000000 /.data
27;000000 /.bss
32;000000 /.comm

usymtab:
start:
	mov	$1,r0
	sys	write; qii; 3
	cmp	(sp),$4
	bge	1f
	jmp	aexit
1:
	cmp	(sp)+,$5
	blt	1f
	mov	$40,defund		/ globalize all undefineds
1:
	tst	(sp)+
	mov	(sp)+,a.tmp1
	mov	(sp)+,a.tmp2
	mov	(sp)+,a.tmp3
	jsr	r5,ofile; a.tmp1
	movb	r0,txtfil
	jsr	r5,ofile; a.tmp2
	movb	r0,fbfil
	jsr	r5,ofile; a.tmp3
	movb	r0,symf
	movb	r0,fin
	sys	creat; a.out; 12
	bec	1f
	jsr	r5,filerr; a.outp
1:
	movb	r0,fout
	jmp	go

ofile:
	mov	*(r5),0f
	sys	open; 0:..; 0
	bes	1f
	tst	(r5)+
	rts	r5
1:
	jmp	filerr

end:

omm

usymtab:
start:
	mov	$1,r0
	sys	write; qii; 3
	cmp	(sp),$4
	bge	1f
	jmp	aexit
1:
	cmp	(sp)+,$5
	blt	1f
	mov	$40,defund		/ globalize all undefineds
1:
	tst	(sp)+
	mov	(sp)+,a.tmp1
	mov	(sp)+,a.tmp2
	mov	(sp)+,a.tmp3
	jsr	r5,ofile; a.tmp1
	movb	r0,txtfil
	jsr	r5,ofile; a.tmp2
	movb	r0,fbfil
	jsr	r5,ofile; a.tmp3
	movb	r0,symf
	movb	r0,fin
	sys	creat; a.out; 12
	bec	1f
	jsr	r5,filerr; a.outp
1:
	movb	r0,fout
	jmp	go

ofile:
	mov	*(r5),0f
	sys	open; 0:..; 0
	bes	1f