1145
|
1 **************************************************
|
|
2 * System Call: F$SSWI
|
|
3 *
|
|
4 * Function: Sets the SWI vector specified for the calling process.
|
|
5 *
|
|
6 * Input: B = SWI vector (1-3) to modify
|
|
7 * U = Address of new SWI vector for process
|
|
8 *
|
|
9 * Output: None
|
|
10 *
|
|
11 * Error: CC = C bit set; B = error code
|
|
12 *
|
|
13 FSSWI ldx <D.Proc get current process
|
|
14 ldb R$A,u get type code
|
|
15 decb adjust for offset
|
|
16 cmpb #3 legal value?
|
|
17 bcc BadSWI no, return error
|
|
18 lslb account for 2 bytes entry
|
|
19 addb #P$SWI go to start of P$SWI pointers
|
|
20 ldu R$X,u get address
|
|
21 stu b,x save to descriptor
|
|
22 rts return
|
|
23
|
|
24 BadSWI comb
|
|
25 ldb #E$ISWI
|
|
26 rts
|