mirror of
https://github.com/PDP-10/its.git
synced 2026-01-27 04:32:08 +00:00
104 lines
2.2 KiB
Groff
104 lines
2.2 KiB
Groff
; -*- MIDAS -*-
|
||
Title NO -- refuse luser asking for LISP teacher help
|
||
|
||
x=0
|
||
a=1
|
||
b=2
|
||
c=3
|
||
d=4
|
||
e=5
|
||
|
||
t=10
|
||
tt=11
|
||
sp=17
|
||
|
||
clic=15
|
||
tyoc=16
|
||
|
||
argi==1000,,0
|
||
cnti==5000,,0
|
||
|
||
pdllen==100
|
||
|
||
define syscal ops,stuff
|
||
.call [setz ? sixbit /ops/ ? stuff ((setz))]
|
||
termin
|
||
|
||
define type chan,&string
|
||
move t,[440700,,[asciz string]]
|
||
movei tt,<.length string>
|
||
syscal siot,[argi chan ? t ? tt]
|
||
.lose %lssys
|
||
termin
|
||
|
||
call=pushj sp,
|
||
ret=popj sp,
|
||
|
||
go: move sp,[-pdllen,,pdl] ;init the PDL
|
||
.suset [.roption,,a] ;check out the option stuff
|
||
tlnn a,%opcmd ;do we have JCL?
|
||
jrst info
|
||
.break 12,[..rjcl,,jclbuf] ;read the JCL
|
||
movei a,6 ;at most 6 characters
|
||
move b,[440700,,jclbuf] ;input BP
|
||
move d,[440600,,e] ;output BP
|
||
rd6: ildb c,b ;get the character
|
||
caig c,40 ;is it the end?
|
||
jrst gotten ; yes, that's it!
|
||
caige c,140 ;convert to 6bit
|
||
subi c,40
|
||
idpb c,d ;and deposit result
|
||
sojg a,rd6 ;and get another, if needed
|
||
gotten: jumpe e,info ;nothing? Tell him what to do
|
||
syscal open,[cnti .uao ? argi clic
|
||
[sixbit /CLI/]
|
||
e
|
||
[sixbit /LISP/]]
|
||
jrst gone ; he's not there!
|
||
|
||
call ptunam
|
||
type clic,\
|
||
(PRINC '|I am unable to assist you, hopefully someone else/
|
||
will be able to./
|
||
| tyo)
|
||
(no-help '\
|
||
call ptunam
|
||
.iot clic,[")]
|
||
.close clic,
|
||
.logout 1,
|
||
|
||
|
||
ptunam: .suset [.runame,,b] ;get our UNAME to send along
|
||
type clic,/ |/ ;separate from sixbit JNAME and delimit
|
||
put6: setz a,
|
||
lshc a,6 ;get a 6bit char
|
||
addi a,40 ;convert to ASCII
|
||
.iot clic,a ;send it
|
||
jumpn b,put6 ;if there's more, keep sending
|
||
.iot clic,["|] ;mark end of the name
|
||
cpopj: ret ;and return
|
||
|
||
info: call ttyopn
|
||
type tyoc,/CNo. Tell person's LISP job that you are unable to help.
|
||
|
||
Just type :NO <uname><cr>, and it will send a message to the person's LISP
|
||
telling it that you are unable to help him, or ask any more people. You will
|
||
be perpetually bugged if you don't use this command or the :YES command!
|
||
/
|
||
.logout 1,
|
||
|
||
|
||
gone: call ttyopn
|
||
type tyoc,/AThat person doesn't have a :TEACH;LISP !!!!
|
||
/
|
||
.logout 1,
|
||
|
||
ttyopn: syscal open,[cnti .uao\%tjdis ? argi tyoc ? [sixbit /TTY/]]
|
||
.lose %lsfil
|
||
ret
|
||
|
||
jclbuf: block 100
|
||
-1
|
||
pdl: block pdllen
|
||
end go
|