home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Columbia Kermit
/
kermit.zip
/
archives
/
kermit11.tar.gz
/
kermit11.tar
/
k11fix.mac
< prev
next >
Wrap
Text File
|
1989-06-13
|
2KB
|
131 lines
.title k11fix fix attributes so rmscnv and pip can do ansi binaries
.ident /T9.0/
; Write attribute entries for Kermit-11 tasks and save images
; so that (1) F77 will read the files as fixed 512 direct files
; and (2) so RMSCNV and PIP can put them on ANSI tapes intact.
; For RSTS/E only.
;
;
; 14-Nov-84 05:23:10 Brian Nelson
.psect
list: .word 10$,20$,30$,40$,50$,60$,70$,80$
10$: .asciz /in:k11.tsk/
20$: .asciz /in:k11nrs.tsk/
30$: .asciz /in:k11rsx.tsk/
40$: .asciz /in:k11pos.tsk/
50$: .asciz /in:k11xm.sav/
60$: .asciz /in:k11rt4.sav/
70$: .asciz /in:k11i31.tsk/
80$: .asciz /in:k11i32.tsk/
msg: .asciz / updated/<15><12>
.even
st: mov #list ,r4
10$: tst @r4
beq 100$
mov (r4)+ ,r0
call print
call fix
tst r0
beq 20$
movb #errfq ,firqb+fqfun
movb r0 ,firqb+4
calfip
clrb firqb+37
mov #firqb+4,r0
call print
br 30$
20$: mov #msg ,r0
call print
30$: br 10$
100$: .exit
fix: mov r0 ,r1 ; save address of string
10$: tstb (r0)+ ; find the end of it
bne 10$ ; not yet
sub r1 ,r0 ; get the length
dec r0 ; fix it
mov #xrb ,r2 ; point to the xrb
mov r0 ,(r2)+ ; length
mov r0 ,(r2)+ ; length again
mov r1 ,(r2)+ ; address of the string
clr (r2)+ ; not used
clr (r2)+ ; not used
clr (r2)+ ; not used
clr (r2)+ ; not used
call clrfqb ; insure no defaults
.fss ; parse it
movb firqb ,r0 ; check for errors
bne 100$ ; oops
movb #opnfq ,firqb+fqfun ; open it up please
movb #2 ,firqb+fqfil ; channel*2
calfip ; do it
movb firqb ,r0 ; success?
bne 100$ ; no
mov firqb+fqsiz,r3 ; save file size
call clrfqb ; write attributes now
mov #firqb+fqfun,r0 ; simple to do
movb #uu.atr ,(r0)+ ; write attributes
incb (r0)+ ; channel one
movb #6 ,(r0)+ ; word count
mov #1 ,(r0)+ ; FIXED
mov #1000 ,(r0)+ ; 512 byte records
clr (r0)+ ;
mov r3 ,(r0)+ ; end of file mark
clr (r0)+ ;
mov r3 ,@r0 ; next free block
inc @r0 ;
.uuo ; do it
movb firqb ,r0
bne 100$
call clrfqb
movb #clsfq ,firqb+fqfun
movb #2 ,firqb+fqfil
calfip
clr r0
100$: return
clrfqb: mov r0 ,-(sp)
mov r1 ,-(sp)
mov #40 ,r0
mov #firqb ,r1
10$: clrb (r1)+
sob r0 ,10$
mov (sp)+ ,r1
mov (sp)+ ,r0
return
print: mov r0 ,-(sp)
mov r1 ,-(sp)
mov r2 ,-(sp)
mov r0 ,r1
10$: tstb (r0)+
bne 10$
sub r1 ,r0
dec r0
mov #xrb ,r2
mov r0 ,(r2)+
mov r0 ,(r2)+
mov r1 ,(r2)+
clr (r2)+
clr (r2)+
clr (r2)+
clr (r2)+
.write
mov (sp)+ ,r2
mov (sp)+ ,r1
mov (sp)+ ,r0
return
.end st