XQSTCK ;Luke/SEA - Stack utilities ;3/11/94 13:50 [ 04/02/2003 8:29 AM ]
Source file <XQSTCK.m>
| Name | Comments | DBIA/ICR reference |
|---|---|---|
| P1 | ||
| PM1 | ;Put primary menu in some other stack position
|
|
| NOXUTL | ;No ^XUTL("XQO","P"_XQPM) on this system
|
|
| GET | ;Get the Primary Menu Option and set XQY0,XQDIC,XQPSM
|
|
| POP | ;Pop one level on the stack
|
|
| FAIL | ;Absolute and utter failure
|
|
| NODUZ | ;There is no user connected with this process
|
|
| NOPM | ;This user has no primary menu
|
|
| PUSH(XQY,XQPSM,XQY0) | ;Add an option to the stack
|
|
| XACT | ;Execute Exit Actions and Headers: input X=option number, no output.
|
|
| OUT | ;Exit point for all subroutines
|
|
| PM | ;Put primary menu in stack position 1
|
| Name | Line Occurrences (* Changed, ! Killed) |
|---|---|
| ^DIC(19 - [#19] | PUSH+4, PUSH+6, POP+1, P1+4, XACT+1, XACT+2, XACT+3 |
| ^VA(200 - [#200] | GET+2 |
| ^XTMP("XQO" | NOXUTL+1 |
| ^XUTL("XQ" | PUSH+1, PUSH+3*, P1, P1+3, P1+5*, PM+3*, PM+5*, PM1+4, PM1+5*, PM1+8 , PM1+9*, PM1+10*, FAIL+3* |
| ^XUTL("XQO" | GET+5, GET+6, NOXUTL+1* |
| Name | Line Occurrences |
|---|---|
| FAIL | GET+8 |
| GET | PM+1, PM1+2 |
| NODUZ | GET+1 |
| NOPM | GET+2 |
| NOXUTL | GET+6 |
| OUT | PM+1, PM+7, PM1+2, PM1+6, PM1+11 |
| P1 | PUSH+5 |
| Name | Field # of Occurrence |
|---|---|
| ^("T" | PUSH+3* |
| ^(15 | POP+1, XACT+2 |
| ^(20 | PUSH+4 |
| ^(26 | PUSH+6, P1+4, XACT+3 |
| >> | Not killed explicitly |
| * | Changed |
| ! | Killed |
| ~ | Newed |
| Name | Field # of Occurrence |
|---|---|
| % | P1+3*, OUT+1! |
| %Y | FAIL+3, OUT+1! |
| DUZ | GET+1, GET+2 |
| >> MESS | PUSH+5* |
| >> TITLE | PUSH+5* |
| U | PUSH+3, PUSH+4, PUSH+5, PUSH+6, POP+1, P1+4, PM+3, PM1+8, PM1+9, GET+5 |
| >> XQDIC | PM+4*, GET+3* |
| XQER | NOPM+1*, NODUZ+1*, FAIL+1*, FAIL+3, OUT+1! |
| >> XQEX | XACT+1, XACT+2, XACT+3 |
| >> XQFAIL | PM+1, PM1+2, GET+1*, GET+2*, GET+8* |
| XQI | PM1+5*, PM1+6, PM1+8, OUT+1! |
| >> XQMP | NOXUTL+1 |
| >> XQNO | FAIL+3 |
| XQPM | PM+3, PM+4, PM1+5, PM1+9, GET+2*, GET+3, GET+5, GET+6, GET+7, NOXUTL+1 , OUT+1! |
| XQPSM | PUSH~, PUSH+3, P1+3, PM+3, PM+4*, PM1+9, GET+3* |
| >> XQSTPT | PUSH+1*, PUSH+2*, PUSH+3, P1*, P1+1*, P1+2*, P1+3, P1+5 |
| XQTT | PM1+4*, PM1+5, PM1+8*, PM1+9, PM1+10, OUT+1! |
| XQUIT | PUSH+5!, P1+4 |
| XQY | PUSH~, PUSH+3, PUSH+4, PUSH+6, POP+1, P1+3*, P1+4, PM+4*, GET+3*, GET+7* , GET+8 |
| XQY0 | PUSH~, PUSH+3, PUSH+4, PUSH+5, PUSH+6, POP+1, P1+3*, P1+4, PM+3, PM1+9 , GET+5*, GET+6, GET+7 |
| >> XQYO | GET+6* |