Add original unix v6
This commit is contained in:
@@ -0,0 +1,110 @@
|
||||
signal = 48.
|
||||
testing = 0
|
||||
/
|
||||
/ command interpreter for form letter editor
|
||||
/
|
||||
/
|
||||
/
|
||||
command:
|
||||
sys signal; 2; inter
|
||||
jsr pc,initl
|
||||
mov sp,spi
|
||||
loop:
|
||||
mov spi,sp
|
||||
mov $buffer,r2
|
||||
clr r4
|
||||
clr iflag
|
||||
1:
|
||||
jsr pc,tfiget
|
||||
cmpb $' ,r0
|
||||
beq 1f
|
||||
cmpb $'\n,r0
|
||||
bne 2f
|
||||
clrb (r2)
|
||||
br 4f
|
||||
2:
|
||||
movb r0,(r2)+
|
||||
br 1b
|
||||
1:
|
||||
clrb (r2)
|
||||
mov $argc,r3
|
||||
3:
|
||||
mov $arg,r2
|
||||
2:
|
||||
jsr pc,tfiget
|
||||
cmpb $' ,r0
|
||||
beq 1f
|
||||
cmpb $'\n,r0
|
||||
beq 1f
|
||||
movb r0,(r2)+
|
||||
br 2b
|
||||
1:
|
||||
clrb (r2)+
|
||||
inc r4
|
||||
1:
|
||||
movb -(r2),sv
|
||||
cmp r2,$arg
|
||||
blos 1f
|
||||
movb -(r2),-(sp)
|
||||
movb sv,1(sp)
|
||||
cmp r2,$arg
|
||||
bhi 1b
|
||||
mov sp,(r3)+
|
||||
br 2f
|
||||
1:
|
||||
clrb -(sp)
|
||||
movb sv,1(sp)
|
||||
mov sp,(r3)
|
||||
add $1,(r3)+
|
||||
2:
|
||||
cmpb r0,$'\n
|
||||
bne 3b
|
||||
1:
|
||||
mov -(r3),-(sp)
|
||||
cmp r3,$argc
|
||||
bhi 1b
|
||||
4:
|
||||
mov r4,-(sp)
|
||||
3:
|
||||
clr r0
|
||||
mov $tabl,r4
|
||||
2:
|
||||
mov (r4)+,r1
|
||||
cmp r4,$tend
|
||||
bhi error
|
||||
add $2,r0
|
||||
mov $buffer,r2
|
||||
1:
|
||||
cmpb (r1)+,(r2)+
|
||||
bne 2b
|
||||
tstb (r1)
|
||||
bne 1b
|
||||
tstb (r2)
|
||||
bne 2b
|
||||
sub $2,r0
|
||||
add $jtable,r0
|
||||
clr vflag
|
||||
clr qflag
|
||||
jmp *(r0)
|
||||
/
|
||||
error:
|
||||
mov $1,r0
|
||||
sys write; err; 2
|
||||
br loop
|
||||
/
|
||||
/
|
||||
tabl: c1; c2; c3; c4; c5; c6; c7; c8;
|
||||
tend: 0
|
||||
c1: <n\0>
|
||||
c2: <p\0>
|
||||
c3: <e\0>
|
||||
c4: <d\0>
|
||||
c5: <m\0>
|
||||
c6: <fin\0>
|
||||
c7: <q\0>
|
||||
c8: <c\0>
|
||||
err: <?\n>
|
||||
endt: .even
|
||||
jtable: list; listf; ed; remove; rename; fin; q; memck;
|
||||
spi: .=.+2
|
||||
sv: .=.+2
|
||||
Reference in New Issue
Block a user