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* |