Add original unix v6
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
/
|
||||
/
|
||||
|
||||
/ rb -- funct/subr stuff
|
||||
|
||||
.globl call
|
||||
.globl callp
|
||||
.globl retrn
|
||||
.globl stsp
|
||||
|
||||
callp:
|
||||
mov (r4)+,r0
|
||||
add r3,r0
|
||||
mov (r0),r0
|
||||
br 1f
|
||||
|
||||
call:
|
||||
mov (r4)+,r0
|
||||
1:
|
||||
mov r3,-(sp)
|
||||
mov (r4)+,r3
|
||||
mov r4,-(sp)
|
||||
mov r0,r4
|
||||
mov (r4)+,-(sp) / lv of funct
|
||||
jmp *(r4)+
|
||||
|
||||
retrn:
|
||||
mov r3,r0
|
||||
mov (sp)+,r1 / lv of funct
|
||||
mov (sp)+,r4
|
||||
mov (sp)+,r3
|
||||
mov (r0),sp
|
||||
tst (r4)+ / arg count
|
||||
mov (r4)+,r0 / return byte count
|
||||
inc r0
|
||||
bic $1,r0
|
||||
add r0,r1
|
||||
1:
|
||||
sub $2,r0
|
||||
blt 1f
|
||||
mov -(r1),-(sp)
|
||||
br 1b
|
||||
1:
|
||||
jmp *(r4)+
|
||||
|
||||
stsp:
|
||||
mov sp,*(r4)+
|
||||
jmp *(r4)+
|
||||
|
||||
Reference in New Issue
Block a user