Trailing-Edge
-
PDP-10 Archives
-
BB-P363B-SM_1985
-
mcb/cex/cexsyn.lst
There are no other files named cexsyn.lst in the archive.
CEXSYN - SYNCHRONOUS INTERFACE SERVICES DNMAC X24.07-563 28-MAY-85 14:24
CEXSYN.M11 30-DEC-82 00:34 TABLE OF CONTENTS
2652 DECLARATIONS
2680 $CALLE - BLISS Call Extension Routine
2739 $CALLI - Call CEX Process for System Function
2795 $CALLP - Call Process Routine
2861 RESEXT - Register Restore Routine
2901 RESPRC - Register Restore Routine
2948 RESREG - Register Restore Routine
2988 SAVEXT - Register Save/Restore Co-routine
3037 SAVPRC - Register Save/Restore Co-routines
3106 SAVREG - Register Save/Restore Co-routines
3153 SIGNAL - Execute a Signal
CEXSYN - SYNCHRONOUS INTERFACE SERVICES DNMAC X24.07-563 28-MAY-85 14:24 PAGE 1
CEXSYN.M11 30-DEC-82 00:34
1 .TITLE CEXSYN - SYNCHRONOUS INTERFACE SERVICES
2 .IDENT /003190/
3 .ENABL LC
4
5 ;
6 ; COPYRIGHT (c) 1980, 1981, 1982
7 ; DIGITAL EQUIPMENT CORPORATION
8 ; Maynard, Massachusetts
9 ;
10 ; This software is furnished under a license and may be used
11 ; and copied only in accordance with the terms of such license
12 ; and with the inclusion of the above copyright notice. This
13 ; software or any other copies thereof may not be provided or
14 ; otherwise made available to any other person. No title to
15 ; and ownership of the software is hereby transferred.
16 ;
17 ; The information in this software is subject to change
18 ; without notice and should not be construed as a commitment
19 ; by DIGITAL EQUIPMENT CORPORATION.
20 ;
21 ; DIGITAL assumes no responsibility for the use or reliability
22 ; of its software on equipment which is not supplied by
23 ; DIGITAL.
24 ;
25
26 ;++
27 ; FACILITY: MCB Communications Executive
28 ;
29 ; FUNCTIONAL ABSTRACT:
30 ;
31 ; This module contains the routines to dispatch synchronous
32 ; interface calls.
33 ;
34 ; ENVIRONMENT: RSX kernel mode with EIS
35 ;
36 ; AUTHOR: Alan D. Peckham, CREATION DATE: 27-MAR-80
37 ;
38 ; MODIFIED BY:
39 ;
40 ; Alan D. Peckham, 2-Jul-80: VERSION 3.0
41 ; 01 - Change CRSH$ references to CRSH$S.
42 ; 02 - Globalize references to I/O page.
43 ; 03 - Correct PDT references.
44 ; 04 - Pick up PIX from right stack offset in both routines.
45 ; 05 - Add new synchronous extension call for BLISS.
46 ; Pull in BLISS support routine $CALL.
47 ; 06 - Update CRSH$S contexts.
48 ; 07 - Do process mapping during SIGNAL processing.
49 ; 08 - Update signal processing.
50 ; Add conditional process activation signal to
51 ; $CALLB, $CALLE, $CALLP.
52 ; 09 - Take advantage of process descriptor re-organization.
53 ; Fix signal status code for process activation.
54 ; 10 - Remove process activation signals.
55 ; Alan D. Peckham, 9-Dec-80: VERSION 3.1
56 ; 11 - Update for MCB V3.1
CEXSYN - SYNCHRONOUS INTERFACE SERVICES DNMAC X24.07-563 28-MAY-85 14:24 PAGE 1-1
CEXSYN.M11 30-DEC-82 00:34
57 ; 12 - Add support for data base words in $CALLP.
58 ; Alan D. Peckham, 30-Jan-80: VERSION 3.2
59 ; 13 - Support .CRPDB as current process descriptor.
60 ; Fix discovered bugs in unwind handlers.
61 ; Alter access to process descriptor blocks to go
62 ; through .PDBVB - PDB vector.
63 ; 14 - BIG bug in signalling through $CALLP. Do context switch
64 ; only during unwind; otherwise only do remap.
65 ; Disallow PIX #0 in $CALLE and $CALLP.
66 ; 15 - Correct APR5 mapping bug in $CALLP.
67 ; 16 - Add $CALLI routine to indexed CEX process calling.
68 ; Add signal status return to $CALLC and $CALLI.
69 ; 17 - Remove $CALLC.
70 ; 18 - Add common register save/restore routines SAVEXT and SAVPRC.
71 ; 19 - Fix mechanism vector access in condition handling routines.
72 ; Add commenting.
73 ;--
CEXSYN - SYNCHRONOUS INTERFACE SERVICES DNMAC X24.07-563 28-MAY-85 14:24 PAGE 2
CEXSYN.M11 30-DEC-82 00:34 DECLARATIONS
75 .SBTTL DECLARATIONS
76
77 ;
78 ; INCLUDE FILES:
79 ;
80
81 .MCALL CRSH$S
82 .GLOBL $IGNAL,KISAR5
83 .GLOBL $CALL ; B16FTN module
84
85 ;
86 ; MACROS:
87 ;
88 ; None
89 ;
90 ; EQUATED SYMBOLS:
91 ;
92 ; None
93 ;
94 ; OWN STORAGE:
95 ;
96 ; None
97 ;
98 ; VALIDATION DECLARATIONS:
99 ;
100
101 .IIF NE,<Z.DSP>,.ERROR Z.DSP; Must be zero
CEXSYN - SYNCHRONOUS INTERFACE SERVICES DNMAC X24.07-563 28-MAY-85 14:24 PAGE 3
CEXSYN.M11 30-DEC-82 00:34 $CALLE - BLISS CALL EXTENSION ROUTINE
103 .SBTTL $CALLE - BLISS Call Extension Routine
104 ;++
105 ; FUNCTIONAL DESCRIPTION:
106 ;
107 ; Activate a routine within another process.
108 ;
109 ; CALLING SEQUENCE:
110 ;
111 ; $CALLE (data_base_index, routine_address[, parameters]);
112 ;
113 ; INPUT PARAMETERS:
114 ;
115 ; None
116 ;
117 ; IMPLICIT INPUTS:
118 ;
119 ; On the stack:
120 ; 2(SP) = data base index.
121 ; 4(SP) = routine address.
122 ; 6(SP) = parameters.
123 ;
124 ; OUTPUT PARAMETERS:
125 ;
126 ; None
127 ;
128 ; IMPLICIT OUTPUTS:
129 ;
130 ; None
131 ;
132 ; CONDITION CODES:
133 ;
134 ; None
135 ;
136 ; SIDE EFFECTS:
137 ;
138 ; The condition codes are not preserved.
139 ;--
140
141 000000' .PSECT $CODE$,I,RO
142 000000' $CALLE::PLVL$ ; Crash if not at process level.
143
144 001 .IF NE,D$$BUG
145 TST 2+0(SP) ; If data base index
146 BEQ STOP ; is
147 CMP .PDBNM,2+0(SP) ; out of range
148 BLOS STOP ; then crash about it.
149 .IFTF
150
151 000000' 004167 000264 JSR R1,SAVEXT ; Save context for extension call.
152 000004' 012501 MOV (R5)+,R1 ; Pick up destination PIX
153 000006' 006301 ASL R1 ; and
154 000010' 017137 000000G 000000G MOV @.PDBVB(R1),@#KISAR5 ; map to code.
155 000016' 004735 CALL @(R5)+ ; Hello !
156 000020' 000467 BR RESEXT ; Restore extension context.
157
158 .IFT
CEXSYN - SYNCHRONOUS INTERFACE SERVICES DNMAC X24.07-563 28-MAY-85 14:24 PAGE 3-1
CEXSYN.M11 30-DEC-82 00:34 $CALLE - BLISS CALL EXTENSION ROUTINE
159 STOP: CRSH$S PIX ; Destination process index out of range
160 000 .ENDC
CEXSYN - SYNCHRONOUS INTERFACE SERVICES DNMAC X24.07-563 28-MAY-85 14:24 PAGE 4
CEXSYN.M11 30-DEC-82 00:34 $CALLI - CALL CEX PROCESS FOR SYSTEM FUNCTION
162 .SBTTL $CALLI - Call CEX Process for System Function
163 ;++
164 ; FUNCTIONAL DESCRIPTION:
165 ;
166 ; Activate a routine within the CEX process.
167 ;
168 ; CALLING SEQUENCE:
169 ;
170 ; $CALLC (request_index[, parameters]);
171 ;
172 ; INPUT PARAMETERS:
173 ;
174 ; None
175 ;
176 ; IMPLICIT INPUTS:
177 ;
178 ; On the stack:
179 ; 2(SP) = request index.
180 ; 4(SP) = parameters.
181 ;
182 ; OUTPUT PARAMETERS:
183 ;
184 ; None
185 ;
186 ; IMPLICIT OUTPUTS:
187 ;
188 ; None
189 ;
190 ; CONDITION CODES:
191 ;
192 ; None
193 ;
194 ; SIDE EFFECTS:
195 ;
196 ; The condition codes are not preserved.
197 ;--
198
199 000022' .PSECT $CODE$,I,RO
200 000022' $CALLI::PLVL$ ; Crash if not at process level.
201 000022' 004767 000032 CALL CALLI
202 000026' 005767 000000G TST .CEXST ; If there was an error
203 000032' 001411 BEQ 90$ ; then
204 000034' PUSH$S <.CEXST,#1> ; signal it now.
205 000044' 005067 000000G CLR .CEXST
206 000050' 004767 000000G CALL $IGNAL
207 000054' POP$S ,2
208 000056' 000207 90$: RETURN
209
210 000060' 004167 000204 CALLI: JSR R1,SAVEXT ; Save context for extension call.
211 000064' 005725 TST (R5)+ ; (adjust for extra return PC)
212 000066' 012500 MOV (R5)+,R0 ; Pick up index,
213 000070' 017737 000000G 000000G MOV @.PDBVB,@#KISAR5 ; map to CEX process
214 000076' 063700 120034 ADD @#PHDCTB,R0 ; and
215 000102' 004730 CALL @(R0)+ ; call the requested function.
216 000104' 000435 BR RESEXT ; Restore extension context.
CEXSYN - SYNCHRONOUS INTERFACE SERVICES DNMAC X24.07-563 28-MAY-85 14:24 PAGE 5
CEXSYN.M11 30-DEC-82 00:34 $CALLP - CALL PROCESS ROUTINE
218 .SBTTL $CALLP - Call Process Routine
219 ;++
220 ; FUNCTIONAL DESCRIPTION:
221 ;
222 ; Activate another process at the specified address.
223 ;
224 ; CALLING SEQUENCE:
225 ;
226 ; $CALLP (data_base_index, routine_address[, parameters]);
227 ;
228 ; INPUT PARAMETERS:
229 ;
230 ; None
231 ;
232 ; IMPLICIT INPUTS:
233 ;
234 ; On the stack:
235 ; 2(SP) = data base index.
236 ; 4(SP) = routine address.
237 ; 6(SP) = parameters.
238 ;
239 ; OUTPUT PARAMETERS:
240 ;
241 ; None
242 ;
243 ; IMPLICIT OUTPUTS:
244 ;
245 ; None
246 ;
247 ; CONDITION CODES:
248 ;
249 ; None
250 ;
251 ; SIDE EFFECTS:
252 ;
253 ; The condition codes are not preserved.
254 ;--
255
256 000106' .PSECT $CODE$,I,RO
257 000106' $CALLP::PLVL$ ; Crash if not at process level.
258
259 001 .IF NE,D$$BUG
260 TST 2+0(SP) ; If data base index
261 BEQ STOP ; is
262 CMP .PDBNM,2+0(SP) ; out of range
263 BLOS STOP ; then crash about it.
264 000 .ENDC
265
266 000106' 004167 000226 JSR R1,SAVPRC ; Save context for process call.
267 000112' 012500 MOV (R5)+,R0 ; Pick up process index
268 000114' 006300 ASL R0 ; to
269 000116' 016000 000000G MOV .PDBVB(R0),R0 ; set up
270 000122' 010067 000000G MOV R0,.CRPDB ; as current process.
271 000126' 012037 000000G MOV (R0)+,@#KISAR5
272 000132' 012067 000000G MOV (R0)+,.CRDSP
273 000136' 012067 000000G MOV (R0)+,.CRDAT+0
CEXSYN - SYNCHRONOUS INTERFACE SERVICES DNMAC X24.07-563 28-MAY-85 14:24 PAGE 5-1
CEXSYN.M11 30-DEC-82 00:34 $CALLP - CALL PROCESS ROUTINE
274 000142' 012067 000002G MOV (R0)+,.CRDAT+2
275 000146' 111067 000000G MOVB (R0),.CRPIX
276 000152' 004735 CALL @(R5)+ ; Let him do his thing.
277 000154' 016701 000000G MOV .CRPDB,R1 ; Save his context
278 000160' 005721 TST (R1)+
279 000162' 016721 000000G MOV .CRDSP,(R1)+ ; and
280 000166' 016721 000000G MOV .CRDAT+0,(R1)+
281 000172' 016711 000002G MOV .CRDAT+2,(R1)
282 000176' 000404 BR RESPRC ; restore previous context.
CEXSYN - SYNCHRONOUS INTERFACE SERVICES DNMAC X24.07-563 28-MAY-85 14:24 PAGE 6
CEXSYN.M11 30-DEC-82 00:34 RESEXT - REGISTER RESTORE ROUTINE
284 .SBTTL RESEXT - Register Restore Routine
285 ;++
286 ; FUNCTIONAL DESCRIPTION:
287 ;
288 ; Restore the user context after a call to an extension process.
289 ;
290 ; CALLING SEQUENCE:
291 ;
292 ; JMP RESEXT
293 ;
294 ; INPUT PARAMETERS:
295 ;
296 ; None
297 ;
298 ; IMPLICIT INPUTS:
299 ;
300 ; None
301 ;
302 ; OUTPUT PARAMETERS:
303 ;
304 ; None
305 ;
306 ; IMPLICIT OUTPUTS:
307 ;
308 ; None
309 ;
310 ; CONDITION CODES:
311 ;
312 ; None
313 ;
314 ; SIDE EFFECTS:
315 ;
316 ; The condition codes are not preserved.
317 ;--
318
319 000200' .PSECT $CODE$,I,RO
320 000200' RESEXT: POP$S $IGREG ; Clean up
321 000204' POP$S ,2 ; condition handling block
322 000206' 000420 BR RESREG ; and volatile registers.
CEXSYN - SYNCHRONOUS INTERFACE SERVICES DNMAC X24.07-563 28-MAY-85 14:24 PAGE 7
CEXSYN.M11 30-DEC-82 00:34 RESPRC - REGISTER RESTORE ROUTINE
324 .SBTTL RESPRC - Register Restore Routine
325 ;++
326 ; FUNCTIONAL DESCRIPTION:
327 ;
328 ; Restore the user context after a call to a process.
329 ;
330 ; CALLING SEQUENCE:
331 ;
332 ; JMP RESPRC
333 ;
334 ; INPUT PARAMETERS:
335 ;
336 ; None
337 ;
338 ; IMPLICIT INPUTS:
339 ;
340 ; None
341 ;
342 ; OUTPUT PARAMETERS:
343 ;
344 ; None
345 ;
346 ; IMPLICIT OUTPUTS:
347 ;
348 ; None
349 ;
350 ; CONDITION CODES:
351 ;
352 ; None
353 ;
354 ; SIDE EFFECTS:
355 ;
356 ; The condition codes are not preserved.
357 ;--
358
359 000210' .PSECT $CODE$,I,RO
360 000210' RESPRC: POP$S $IGREG ; Clean up
361 000214' POP$S ,2 ; condition handling block,
362 000216' POP$S R1 ; and
363 000220' 010167 000000G MOV R1,.CRPDB ; restore previous process context.
364 000224' 005721 TST (R1)+
365 000226' 012167 000000G MOV (R1)+,.CRDSP
366 000232' 012167 000000G MOV (R1)+,.CRDAT+0
367 000236' 012167 000002G MOV (R1)+,.CRDAT+2
368 000242' 111167 000000G MOVB (R1),.CRPIX
369 000246' 000400 BR RESREG ; Restore volatile registers.
CEXSYN - SYNCHRONOUS INTERFACE SERVICES DNMAC X24.07-563 28-MAY-85 14:24 PAGE 8
CEXSYN.M11 30-DEC-82 00:34 RESREG - REGISTER RESTORE ROUTINE
371 .SBTTL RESREG - Register Restore Routine
372 ;++
373 ; FUNCTIONAL DESCRIPTION:
374 ;
375 ; Restore the user register after a synchronous call.
376 ;
377 ; CALLING SEQUENCE:
378 ;
379 ; JMP RESREG
380 ;
381 ; INPUT PARAMETERS:
382 ;
383 ; None
384 ;
385 ; IMPLICIT INPUTS:
386 ;
387 ; None
388 ;
389 ; OUTPUT PARAMETERS:
390 ;
391 ; None
392 ;
393 ; IMPLICIT OUTPUTS:
394 ;
395 ; None
396 ;
397 ; CONDITION CODES:
398 ;
399 ; None
400 ;
401 ; SIDE EFFECTS:
402 ;
403 ; The condition codes are not preserved.
404 ;--
405
406 000250' .PSECT $CODE$,I,RO
407 000250' RESREG: POP$S @#KISAR5 ; Restore code bias
408 000254' POP$S <R5,R4,R3,R2,R1> ; and registers.
409 000266' 000207 RETURN ; Back to caller !
CEXSYN - SYNCHRONOUS INTERFACE SERVICES DNMAC X24.07-563 28-MAY-85 14:24 PAGE 9
CEXSYN.M11 30-DEC-82 00:34 SAVEXT - REGISTER SAVE/RESTORE CO-ROUTINE
411 .SBTTL SAVEXT - Register Save/Restore Co-routine
412 ;++
413 ; FUNCTIONAL DESCRIPTION:
414 ;
415 ; Save the registers for a synchronous call and restore
416 ; them on return.
417 ;
418 ; CALLING SEQUENCE:
419 ;
420 ; JSR R1,SAVEXT
421 ;
422 ; INPUT PARAMETERS:
423 ;
424 ; None
425 ;
426 ; IMPLICIT INPUTS:
427 ;
428 ; None
429 ;
430 ; OUTPUT PARAMETERS:
431 ;
432 ; None
433 ;
434 ; IMPLICIT OUTPUTS:
435 ;
436 ; R5 = pointer to parameter area.
437 ;
438 ; CONDITION CODES:
439 ;
440 ; None
441 ;
442 ; SIDE EFFECTS:
443 ;
444 ; The condition codes are not preserved.
445 ;--
446
447 000270' .PSECT $CODE$,I,RO
448 000270' 004267 000230 SAVEXT: JSR R2,SAVREG ; Save registers (as co-routine)
449 000274' PUSH$S <@#KISAR5> ; and the code bias.
450 000300' 004715 JSR PC,(R5) ; Set up CHF block and call caller.
451 ; Condition Handler:
452 000302' 016700 000000G MOV $HANSP,R0 ; Get to our parameters
453 000306' 060600 ADD SP,R0 ; and
454 000310' PUSH$S <6(R0),#1> ; pass code bias.
455 000320' 004767 000236 CALL SIGNAL
456 000324' 016600 000002 MOV 2(SP),R0 ; Pick up the enable vector
457 000330' 016037 000002 000000G MOV 2(R0),@#KISAR5 ; and map to this code.
458 000336' 000207 RETURN ; (low bit is clear = FALSE)
CEXSYN - SYNCHRONOUS INTERFACE SERVICES DNMAC X24.07-563 28-MAY-85 14:24 PAGE 10
CEXSYN.M11 30-DEC-82 00:34 SAVPRC - REGISTER SAVE/RESTORE CO-ROUTINES
460 .SBTTL SAVPRC - Register Save/Restore Co-routines
461 ;++
462 ; FUNCTIONAL DESCRIPTION:
463 ;
464 ; Save the registers for a synchronous call and restore
465 ; them on return.
466 ;
467 ; CALLING SEQUENCE:
468 ;
469 ; JSR R1,SAVPRC
470 ;
471 ; INPUT PARAMETERS:
472 ;
473 ; None
474 ;
475 ; IMPLICIT INPUTS:
476 ;
477 ; None
478 ;
479 ; OUTPUT PARAMETERS:
480 ;
481 ; None
482 ;
483 ; IMPLICIT OUTPUTS:
484 ;
485 ; R5 = pointer to parameter area.
486 ;
487 ; CONDITION CODES:
488 ;
489 ; None
490 ;
491 ; SIDE EFFECTS:
492 ;
493 ; The condition codes are not preserved.
494 ;--
495
496 000340' .PSECT $CODE$,I,RO
497 000340' 004267 000160 SAVPRC: JSR R2,SAVREG ; Save registers (as co-routine)
498 000344' 016700 000000G MOV .CRPDB,R0 ; and
499 000350' PUSH$S <@#KISAR5,R0> ; code bias and PDB.
500 000356' 005720 TST (R0)+ ; Save current process context.
501 000360' 016720 000000G MOV .CRDSP,(R0)+
502 000364' 016720 000000G MOV .CRDAT+0,(R0)+
503 000370' 016710 000002G MOV .CRDAT+2,(R0)
504 000374' 004715 JSR PC,(R5) ; Set up CHF block and call caller.
505 ; Condition Handler:
506 000376' 016700 000000G 10$: MOV $HANSP,R0 ; Get to our parameters
507 000402' 060600 ADD SP,R0 ; and
508 000404' PUSH$S <6(R0),10(R0),#2> ;pass bias and PDB.
509 000420' 004767 000136 CALL SIGNAL
510 000424' 016600 000006 MOV 6(SP),R0 ; Get signal vector address
511 000430' 005720 TST (R0)+ ; and if there is a status
512 000432' 001426 BEQ 80$ ; then
513 000434' 022710 000000G CMP #SS$.UN,(R0) ; handle the unwind case.
514 000440' 001023 BNE 80$
515 000442' 016600 000002 MOV 2(SP),R0 ; Pick up the enable vector
CEXSYN - SYNCHRONOUS INTERFACE SERVICES DNMAC X24.07-563 28-MAY-85 14:24 PAGE 10-1
CEXSYN.M11 30-DEC-82 00:34 SAVPRC - REGISTER SAVE/RESTORE CO-ROUTINES
516 000446' 016037 000002 000000G MOV 2(R0),@#KISAR5 ; map the code,
517 000454' 016000 000004 MOV 4(R0),R0 ; and set it up as the current process.
518 000460' 010067 000000G MOV R0,.CRPDB
519 000464' 005720 TST (R0)+
520 000466' 012067 000000G MOV (R0)+,.CRDSP
521 000472' 012067 000000G MOV (R0)+,.CRDAT+0
522 000476' 012067 000002G MOV (R0)+,.CRDAT+2
523 000502' 111067 000000G MOVB (R0),.CRPIX
524 000506' 000207 RETURN ; (low bit is clear = FALSE)
525 000510' 016600 000002 80$: MOV 2(SP),R0 ; Pick up the enable vector
526 000514' 016037 000002 000000G MOV 2(R0),@#KISAR5 ; and map to code.
527 000522' 000207 RETURN ; (low bit is clear = FALSE)
CEXSYN - SYNCHRONOUS INTERFACE SERVICES DNMAC X24.07-563 28-MAY-85 14:24 PAGE 11
CEXSYN.M11 30-DEC-82 00:34 SAVREG - REGISTER SAVE/RESTORE CO-ROUTINES
529 .SBTTL SAVREG - Register Save/Restore Co-routines
530 ;++
531 ; FUNCTIONAL DESCRIPTION:
532 ;
533 ; Save the registers for a synchronous call and restore
534 ; them on return.
535 ;
536 ; CALLING SEQUENCE:
537 ;
538 ; JSR R2,SAVREG
539 ;
540 ; INPUT PARAMETERS:
541 ;
542 ; None
543 ;
544 ; IMPLICIT INPUTS:
545 ;
546 ; None
547 ;
548 ; OUTPUT PARAMETERS:
549 ;
550 ; None
551 ;
552 ; IMPLICIT OUTPUTS:
553 ;
554 ; R5 = pointer to parameter area.
555 ;
556 ; CONDITION CODES:
557 ;
558 ; None
559 ;
560 ; SIDE EFFECTS:
561 ;
562 ; The condition codes are not preserved.
563 ;--
564
565 000524' .PSECT $CODE$,I,RO
566 000524' SAVREG: PUSH$S <R3,R4> ; Save some more registers (1,2,3,4)
567 000530' 010604 MOV SP,R4 ; (this is used later)
568 000532' 004512 JSR R5,(R2) ; and call-specific info (1,2,3,4,5,?).
569 000534' PUSH$S <#0,$IGREG> ; Put up CHF block (rtn adr already pushed)
570 000542' 060666 000002 ADD SP,2(SP)
571 000546' 010667 000000G MOV SP,$IGREG ; and
572 000552' 012705 000012 MOV #12,R5 ; set up argument pointer.
573 000556' 060405 ADD R4,R5
574 000560' 000111 JMP (R1) ; All set for call.
CEXSYN - SYNCHRONOUS INTERFACE SERVICES DNMAC X24.07-563 28-MAY-85 14:24 PAGE 12
CEXSYN.M11 30-DEC-82 00:34 SIGNAL - EXECUTE A SIGNAL
576 .SBTTL SIGNAL - Execute a Signal
577 ;++
578 ; FUNCTIONAL DESCRIPTION:
579 ;
580 ; Please fill this in
581 ;
582 ; CALLING SEQUENCE:
583 ;
584 ; CALL SIGNAL
585 ;
586 ; INPUT PARAMETERS:
587 ;
588 ; None
589 ;
590 ; IMPLICIT INPUTS:
591 ;
592 ; None
593 ;
594 ; OUTPUT PARAMETERS:
595 ;
596 ; None
597 ;
598 ; IMPLICIT OUTPUTS:
599 ;
600 ; R5 = pointer to parameter area.
601 ;
602 ; CONDITION CODES:
603 ;
604 ; None
605 ;
606 ; SIDE EFFECTS:
607 ;
608 ; The condition codes are not preserved.
609 ;--
610
611 000562' .PSECT $CODE$,I,RO
612 000562' 004767 000000G SIGNAL: CALL $HANDL
613 000566' 000000 HALT
614
615 000001 .END
CEXSYN - SYNCHRONOUS INTERFACE SERVICES DNMAC X24.07-563 28-MAY-85 14:24 PAGE 13
CEXSYN.M11 30-DEC-82 00:34 CROSS REFERENCE TABLE -- USER SYMBOLS
CALLI 000060R 002 201* 210#
D$$BUG= 000000 142 144 200 257 259
KISAR5= ****** G 82# 154* 213* 271* 407* 449 457* 499 516* 526*
PHDCTB 120034 214
RESEXT 000200R 002 156 216 320#
RESPRC 000210R 002 282 360#
RESREG 000250R 002 322 369 407#
SAVEXT 000270R 002 151 210 448#
SAVPRC 000340R 002 266 497#
SAVREG 000524R 002 448 497 566#
SIGNAL 000562R 002 455* 509* 612#
SS$.UN= ****** GX 513
Z.DSP 000000 101
$CALL = ****** G 83#
$CALLE 000000RG 002 142#
$CALLI 000022RG 002 200#
$CALLP 000106RG 002 257#
$HANDL= ****** GX 612*
$HANSP= ****** GX 452 506
$IGNAL= ****** G 82# 206*
$IGREG= ****** GX 320* 360* 569 571*
.CEXST= ****** GX 202 204 205*
.CRDAT= ****** GX 273* 274* 280 281 366* 367* 502 503 521* 522*
.CRDSP= ****** GX 272* 279 365* 501 520*
.CRPDB= ****** GX 270* 277 363* 498 518*
.CRPIX= ****** GX 275* 368* 523*
.PDBVB= ****** GX 154 213 269
CEXSYN - SYNCHRONOUS INTERFACE SERVICES DNMAC X24.07-563 28-MAY-85 14:24 PAGE 14
CEXSYN.M11 30-DEC-82 00:34 CROSS REFERENCE TABLE -- MACRO NAMES
CRSH$S 81#
PLVL$ 142 200 257
POP$S 207 320 321 360 361 362 407 408
PUSH$S 204 449 454 499 508 566 569
. ABS. 000000 000 CON RW ABS LCL I
000000 001 CON RW REL LCL I
$CODE$ 000570 002 CON RO REL LCL I
ERRORS DETECTED: 0
DEFAULT GLOBALS GENERATED: 10
CEXSYN,CEXSYN/CR=MCB:RSXLIB/PA:1,MCBLIB/PA:1,CEX:CEXLIB/PA:1,CEXSYN
RUN-TIME: 4 1 .2 SECONDS
RUN-TIME RATIO: 34/6=5.1
CORE USED: 15K (29 PAGES)