Add original unix v6
This commit is contained in:
@@ -0,0 +1,92 @@
|
||||
/ tape boot program to load and transfer
|
||||
/ to a 'tp' entry
|
||||
|
||||
/ entry is made by jsr pc,*$0
|
||||
/ so return can be rts pc
|
||||
/ jsr pc,(r5) is putc
|
||||
/ jsr pc,2(r5) is getc
|
||||
/ jsr pc,4(r5) is mesg
|
||||
|
||||
core = 24.
|
||||
.. = [core*2048.]-512.
|
||||
start:
|
||||
mov $..,sp
|
||||
mov sp,r1
|
||||
cmp pc,r1
|
||||
bhis 2f
|
||||
clr r0
|
||||
cmp (r0),$407
|
||||
bne 1f
|
||||
mov $20,r0
|
||||
1:
|
||||
mov (r0)+,(r1)+
|
||||
cmp r1,$core*2048.
|
||||
blo 1b
|
||||
jmp (sp)
|
||||
|
||||
2:
|
||||
mov $trvect,r5
|
||||
mov $name,r4
|
||||
jsr pc,rew
|
||||
mov $'=,r0
|
||||
jsr pc,(r5)
|
||||
2:
|
||||
mov r4,r1
|
||||
1:
|
||||
jsr pc,getc
|
||||
cmp r0,$'\n
|
||||
beq 1f
|
||||
cmp r0,$'@
|
||||
beq 2b
|
||||
movb r0,(r1)+
|
||||
cmp r0,$'#
|
||||
bne 1b
|
||||
sub $2,r1
|
||||
cmp r1,r4
|
||||
blo 2b
|
||||
br 1b
|
||||
1:
|
||||
clrb (r1)
|
||||
cmp r1,r4
|
||||
blos start
|
||||
mov $1,tapa
|
||||
mov $-6144.,wc
|
||||
jsr pc,tread
|
||||
clr r1
|
||||
1:
|
||||
mov r1,r2
|
||||
mov r4,r0
|
||||
2:
|
||||
cmpb (r0)+,(r1)
|
||||
bne 2f
|
||||
tstb (r1)+
|
||||
bne 2b
|
||||
br 1f
|
||||
2:
|
||||
mov r2,r1
|
||||
add $64.,r1
|
||||
cmp r1,$12288.
|
||||
blo 1b
|
||||
jsr pc,rew
|
||||
br start
|
||||
1:
|
||||
mov 44.(r2),tapa
|
||||
mov 38.(r2),r0
|
||||
inc r0
|
||||
clc
|
||||
ror r0
|
||||
neg r0
|
||||
mov r0,wc
|
||||
clr r0
|
||||
1:
|
||||
clr (r0)+
|
||||
cmp r0,sp
|
||||
blo 1b
|
||||
jsr pc,tread
|
||||
jsr pc,rew
|
||||
br callout
|
||||
|
||||
tapa: 0
|
||||
wc: 0
|
||||
ba: 0
|
||||
name = ..-32.
|
||||
Reference in New Issue
Block a user