Add original unix v6
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
/
|
||||
/
|
||||
|
||||
/ a2 -- pdp-11 assembler pass 1
|
||||
|
||||
error:
|
||||
incb errflg
|
||||
mov r0,-(sp)
|
||||
mov r1,-(sp)
|
||||
mov (r5)+,r0
|
||||
tst *curarg
|
||||
beq 1f
|
||||
mov r0,-(sp)
|
||||
mov *curarg,r0
|
||||
clr *curarg
|
||||
jsr r5,filerr; '\n
|
||||
mov (sp)+,r0
|
||||
1:
|
||||
mov r2,-(sp)
|
||||
mov r3,-(sp)
|
||||
mov line,r3
|
||||
movb r0,1f
|
||||
mov $1f+6,r0
|
||||
mov $4,r1
|
||||
2:
|
||||
clr r2
|
||||
dvd $10.,r2
|
||||
add $'0,r3
|
||||
movb r3,-(r0)
|
||||
mov r2,r3
|
||||
sob r1,2b
|
||||
mov $1,r0
|
||||
sys write; 1f; 7
|
||||
mov (sp)+,r3
|
||||
mov (sp)+,r2
|
||||
mov (sp)+,r1
|
||||
mov (sp)+,r0
|
||||
rts r5
|
||||
|
||||
.data
|
||||
1: <f xxxx\n>
|
||||
.even
|
||||
.text
|
||||
|
||||
betwen:
|
||||
cmp r0,(r5)+
|
||||
blt 1f
|
||||
cmp (r5)+,r0
|
||||
blt 2f
|
||||
1:
|
||||
tst (r5)+
|
||||
2:
|
||||
rts r5
|
||||
|
||||
putw:
|
||||
tst ifflg
|
||||
beq 1f
|
||||
cmp r4,$'\n
|
||||
bne 2f
|
||||
1:
|
||||
mov r4,*obufp
|
||||
add $2,obufp
|
||||
cmp obufp,$outbuf+512.
|
||||
blo 2f
|
||||
mov $outbuf,obufp
|
||||
movb pof,r0
|
||||
sys write; outbuf; 512.
|
||||
2:
|
||||
rts pc
|
||||
|
||||
Reference in New Issue
Block a user