Line | |
---|
1 | ! Miscellaneous constants used in assembler code.
|
---|
2 | W = _WORD_SIZE ! Machine word size.
|
---|
3 |
|
---|
4 | ! Offsets in struct proc. They MUST match proc.h.
|
---|
5 | P_STACKBASE = 0
|
---|
6 | #if _WORD_SIZE == 2
|
---|
7 | ESREG = P_STACKBASE
|
---|
8 | #else
|
---|
9 | GSREG = P_STACKBASE
|
---|
10 | FSREG = GSREG + 2 ! 386 introduces FS and GS segments
|
---|
11 | ESREG = FSREG + 2
|
---|
12 | #endif
|
---|
13 | DSREG = ESREG + 2
|
---|
14 | DIREG = DSREG + 2
|
---|
15 | SIREG = DIREG + W
|
---|
16 | BPREG = SIREG + W
|
---|
17 | STREG = BPREG + W ! hole for another SP
|
---|
18 | BXREG = STREG + W
|
---|
19 | DXREG = BXREG + W
|
---|
20 | CXREG = DXREG + W
|
---|
21 | AXREG = CXREG + W
|
---|
22 | RETADR = AXREG + W ! return address for save() call
|
---|
23 | PCREG = RETADR + W
|
---|
24 | CSREG = PCREG + W
|
---|
25 | PSWREG = CSREG + W
|
---|
26 | SPREG = PSWREG + W
|
---|
27 | SSREG = SPREG + W
|
---|
28 | P_STACKTOP = SSREG + W
|
---|
29 | P_LDT_SEL = P_STACKTOP
|
---|
30 | P_LDT = P_LDT_SEL + W
|
---|
31 |
|
---|
32 | #if _WORD_SIZE == 2
|
---|
33 | Msize = 12 ! size of a message in 16-bit words
|
---|
34 | #else
|
---|
35 | Msize = 9 ! size of a message in 32-bit words
|
---|
36 | #endif
|
---|
Note:
See
TracBrowser
for help on using the repository browser.