-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathcmscrab.macro
More file actions
59 lines (59 loc) · 3.03 KB
/
cmscrab.macro
File metadata and controls
59 lines (59 loc) · 3.03 KB
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
******************************************************************
* CMSCRAB MACRO *
* The CMSCRAB (C Runtime Anchor Block) defines the save area / *
* stack frame used by GCCCMS *
* *
* Part of GCCLIB - VM/370 CMS Native Std C Library; *
* A Historic Computing Toy *
* *
* Proud Contributors: See contrib memo *
* *
* Released to the public domain. *
******************************************************************
*
***********************************************************************
*** M U S T B E S Y N C E D W I T H C M S R U N T M . H ***
***********************************************************************
*
MACRO
CMSCRAB
SPACE
* ---------------------------------------------------------------------
* This first section describes the save area / stack frame defined by
* each routine. The GCC compiler knows that the local variables start
* at offset 88 (MAINSTK) ...
* ---------------------------------------------------------------------
CMSCRAB DSECT the GCC C Runtime Anchor Block
DSTACK DS F +00 dynamic stack control (see cmsruntm.h)
BACK DS F +04 backchain to previous save area
FORWARD DS F +08 forward chain to next save area
GR14 DS F +12 register save area
GR15 DS F +16 register save area
GR0 DS F +20 register save area
GR1 DS F +24 register save area
GR2 DS F +28 register save area
GR3 DS F +32 register save area
GR4 DS F +36 register save area
GR5 DS F +40 register save area
GR6 DS F +44 register save area
GR7 DS F +48 register save area
GR8 DS F +52 register save area
GR9 DS F +56 register save area
GR10 DS F +60 register save area
GR11 DS F +64 register save area
GR12 DS F +68 register save area
GCCCRABA DS F +72 address of GCC C Runtime Anchor Block
STACKNXT DS F +76 next available byte on the stack
NUMCONV DS F +80 numeric conversion buffer
FUNCRSLT DS F +84 function result buffer
SPACE
* ---------------------------------------------------------------------
* The GCC Bootstrap stack space/length
* Basically the C local variables etc. start from MAINSTK in each
* stack frame
* ---------------------------------------------------------------------
MAINSTK DS 0D Bootstrap Stack (4K)
SPACE
MAINLEN EQU 4096 length of the stack
STACKLEN EQU 4096+MAINSTK-CMSCRAB length of the CRAB
MEND