-
Notifications
You must be signed in to change notification settings - Fork 0
/
svc.asm
60 lines (60 loc) · 1.2 KB
/
svc.asm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
*
***************
*
* ****
* ***** void EXSVC(int svc, struct SVCREGS *regs);
* ****
* struct SVCREGS
* {
* unsigned int R0;
* unsigned int R1;
* unsigned int R15;
* };
*
***************
EXSVC CSECT ,
@REGION DS 0H
STM 14,12,12(13)
L 2,8(0,13)
LA 14,92(0,2)
L 12,0(0,13)
CL 14,4(0,12)
BL @F1-@REGION+4(0,15)
L 10,0(0,12)
BALR 11,10
CNOP 0,4
@F1 DS 0H
DC F'92'
STM 12,14,0(2)
LR 13,2
LR 12,15
USING @REGION,12
*
LR 11,1 Save Parm List Address
*
*
*
L 10,0(,11) SVC Number
L 9,4(,11) A(SVCREGS)
*
L 0,0(,9) Reg 0
L 1,4(,9) Reg 1
L 15,8(,9) Reg 15
*
EX 10,DOSVC
*
ST 15,8(,9) Update R15
ST 1,4(,9) Update R1
ST 0,0(,9) Update R0
*
*
L 13,4(0,13)
L 14,12(0,13)
LM 1,12,24(13)
BR 14
*
DOSVC SVC 0 Executed Instruction
*
*
*
END