home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
kermit.columbia.edu
/
kermit.columbia.edu.tar
/
kermit.columbia.edu
/
test
/
pdp11
/
krter0.mac
< prev
next >
Wrap
Text File
|
1996-10-17
|
2KB
|
88 lines
.title rmserr get rms11 error text
.ident /V04.64/
.psect
; /E64/ 10-May-96 John Santos
;
; From K11ERR.MAC. Renamed because of name collision with RT11 file.
; Copyright (C) 1983 Brian Nelson for the MINITAB project
;
;
; R M S E R R
;
; byte errtext(64)
; integer errnum
; call rmserr(errnum,errtext)
;
; module size: 14450 (8) bytes, 3220 (10) words
;
;
; Return RMS11 error text to MINITAB, just as the
; modules FCSERR and FIPERR do for RSX11M and RSTS
.sbttl define command parsing error codes
cmd$ab == -1 ; ^C abort
cmd$ex == -2 ; ^Z exit
cmd$nx == -3 ; ^Z but don't exit to monitor
cmd$bad == -4 ; unrecognizable
cmd$un == -5 ; ambiguous
.sbttl get the error text
rmserr::cmp @2(r5) ,#-624.
ble 10$
call rmser1
return
10$: cmp @2(r5) ,#-1184.
ble 20$
call rmser2
return
20$: call rmser3
return
.globl rmser1 ,rmser2 ,rmser3
.mcall qiow$s
rmserp::mov r1 ,-(sp) ;save fab addr
mov r2 ,-(sp) ;brian is a fanatic
mov r5 ,-(sp)
sub #102 ,sp ;error text buffer
mov sp ,r1 ;pointer to e.t.buffer
mov r0 ,-(sp) ;put error code on stack
mov sp ,r2 ;point to it
mov r1 ,-(sp) ;"new"
mov r2 ,-(sp) ;pointers to pointers
mov #2 ,-(sp) ;number of args
mov sp ,r5 ;point to pointers to pointers
call rmserr ;picks up arg list ptr from r5
add #4*2 ,sp ;pop args
qiow$s #io.wlb,#5,#13,,,,<r1,#100> ;print msg
add #102 ,sp ;restore stack pointer
mov (sp)+ ,r5
mov (sp)+ ,r2 ; " reg 2
mov (sp)+ ,r1 ; " " 1
return
rmserx::mov #77-4 ,r1 ;/*60*/ maxlength of 77 (8) bytes
movb #'E ,(r2)+
movb #'R ,(r2)+
movb #'$ ,(r2)+
movb (r0)+ ,(r2)+ ; copy error name over
movb (r0)+ ,(r2)+ ; copy until 63 characters or a
movb (r0)+ ,(r2)+ ; copy until 63 characters or a
movb #'- ,(r2)+ ;/*60*/
40$: movb (r0)+ ,(r2)+ ; copy until 63 characters or a
beq 50$ ; null byte is found
sob r1 ,40$ ; next please
50$: clrb @r2 ; insure .asciz for output text
return
.end