SHOWCOMM864

(George Source)

Macros used: AND, BXE, BXGE, CHNUMCOD, COMERR, CONSOUT, DO, ELSE, ELSF, ENDCOM, FI, FREECORE, IF, IFR, INCF, JBS, JENVNOT, LF, MFREE, MHUNT, OR, PARANOTX, REPEAT, SEGENTRY, SETNCORE, TESTRPN2, THEN, UP

SHOWCOMM864.txt
22FL    #OPT           K0SHOWCOMM=0 
22^=    #LIS           K0SHOWCOMM > K0ALLGEO > K0GREATGEO   
23DW    #SEG           SHOWCOMM            [COMM - STIG TOWNSEND
23YG    [   
24D6                   8HSHOWCOMM   
24XQ    [   
25CB    [   
25X2    [   
26BL    [ IMPLEMENTS THE SHOW COMMAND AND PROVIDES ROUTINES 
26W=    [ TO SIMULATE THE COMMAND FOR THE OPER CODE 
27*W    [   
27TG    [   
28*6    [   
28SQ    [   
29#B    [ X2 = FX2 THROUGHOUT   
29S2    [   
2=?L    [   
2=R=    [ AWORK1 AND AWORK2 ARE USED TO STORE THE SCREEN AND PAGE   
2?=W    [ NUMBERS AS THEY ARE ANALYSED. THEY ARE REFERRED TO
2?QG    [ LOCALLY AS 'SCREEN' AND 'PAGE.
2#=6    [   
2#PQ    #DEF           SCREEN=AWORK1
2*9B    #DEF           PAGE=AWORK2  
2*P2    [   
2B8L    [   
2BN=    [   
2C7W       SEGENTRY K1SHOWCOMM,SHOWCOMMK1 [SHOW COMMAND 
2CMG       SEGENTRY K2SHOWCOMM,SHOWCOMMK2 [SIMULATE A 'SH -1,1' 
2D76       SEGENTRY K3SHOWCOMM,SHOWCOMMK3 [SIMULATE A 'SH OFF,0'
2DLQ       SEGENTRY K4SHOWCOMM,SHOWCOMMK4 [SIMULATE A 'SH +1,1' 
2F6B       SEGENTRY K5SHOWCOMM,SHOWCOMMK5 [FORCEPAGE COMMAND
2FL2    [   
2G5L    [   
2GK=    [   
2H4W    [ PRESET DATA   
2HJG    [ ===========   
2J46    [   
2JHQ    #DEF  PARAM = 1 
2K3B    TABLE   
2KH2       BRN      RAUTO   
2L2L       4HAU00   
2LG=    [   
2L^W       BRN      RLATEST 
2MFG       4HLA00   
2M^6    [   
2NDQ       BRN      ROFF
2NYB       4HOF00   
2PD2    [   
2PXL       BRN      ROLDEST 
2QC=       4HOL00   
2QWW    TEND
2RBG    RAUTO   
2RW6       LDX   0  SCREEN(2)   
2S*Q       BZE   0  ZMAINAUTO   
2STB       NGN   7  1   
2T*2       BRN      RETURN  
2TSL    RLATEST 
2W#=       LDN   7  1   
2WRW       CALL  4  SINBOUNDS   
2X?G       BRN      RETURN  
2XR6    ROFF
2Y=Q       LDN   7  0   
2YQB       BRN   RETURN 
2^=2    ROLDEST 
2^PL       SMO      CONSCNTRL   
329=       LDX   7  CORET   
32NW       BRN      RETURN  
338G    [   
33N6    [   
347Q    [   
34MB    [ SUBROUTINES   
3572    [ ===========   
35LL    [   
366=    [   
36KW    [*********************************************************************  
375G    [   
37K6    SGETPAR 
384Q    [   
38JB    [*********************************************************************  
3942    [   
39HL    [ GETS A PARAMETER IN A CPB/CUNI
3=3=    [   
3=GW    [ LINK X4   
3?2G    [   
3?G6    [ ON ENTRY, X3 CONTAINS PARAM NUMBER WANTED 
3?^Q    [   
3#FB    [ ON EXIT,  X3 -> CPB/CUNI CONTAINING IT
3#^2    [   
3*DL       SBX   4  FX1 
3*Y=       PARANOTX 3   
3BCW       MHUNT    3,CPB,CUNI  
3BXG       ADX   4  FX1 
3CC6       EXIT  4  0   
3CWQ    [   
3DBB    [   
3DW2    [   
3F*L    [*********************************************************************  
3FT=    [   
3G#W    SNUMCON 
3GSG    [   
3H#6    [*********************************************************************  
3HRQ    [   
3J?B    [ CONVERTS A NUMBER HELD IN CHARACTER FORMAT TO BINARY  
3JR2    [   
3K=L    [ LINK X4   
3KQ=    [   
3L9W    [ ON ENTRY, X3 -> CPB/CUNI HOLDING NUMBER   
3LPG    [   
3M96    [ ON EXIT,  ACOMMUNE1 HOLDS BINARY NUMBER   
3MNQ    [   
3N8B    [ IF A FORMAT ERROR IS FOUND, AN ERROR MESSAGE IS GENERATED 
3NN2    [ AND A JUMP IS MADE TO 'ZENDCOMM'  
3P7L    [   
3PM=       SBX   4  FX1 
3Q6W       CHNUMCOD ,3  
3QLG       TESTRPN2 OK,ZENDCOMM 
3R66       ADX   4  FX1 
3RKQ       EXIT  4  0   
3S5B    [   
3SK2    [   
3T4L    [   
3TJ=    [*********************************************************************  
3W3W    [   
3WHG    SMAKEABS
3X36    [   
3XGQ    [*********************************************************************  
3Y2B    [   
3YG2    [ TURNS A RELATIVE PAGE NUMBER INTO AN ABSOLUTE 
3Y^L    [   
3^F=    [ LINK X4   
3^YW    [   
42DG    [ ON ENTRY, X7 = RELATIVE PAGE NUMBER   
42Y6    [           SCREEN = RELEVANT SCREEN NUMBER 
43CQ    [   
43XB    [ ON EXIT,  X7 = ABSOLUTE PAGE NUMBER   
44C2    [   
44WL       LDX   3  CONSCNTRL   
45B=       ADX   3  SCREEN(2)   
45TW       ADN   3  COVID   
46*G       LF       3,COCURRENT,0       [X0 = DISPLAYED PAGE
46T6       NGX   7  7   
47#Q       ADX   7  0                   [X7 = DISPLAYED - SPECIFIED 
47SB       EXIT  4  0   
48#2    [   
48RL    [   
49?=    [   
49QW    [*********************************************************************  
4==G    [   
4=Q6    SINBOUNDS   
4?9Q    [   
4?PB    [*********************************************************************  
4#92    [   
4#NL    [ ENSURES THAT AN ABSOLUTE PAGE NUMBER IS WITHIN BOUNDS 
4*8=    [   
4*MW    [ LINK X4   
4B7G    [   
4BM6    [ ON ENTRY, X7 = ABSOLUTE PAGE NUMBER   
4C6Q    [   
4CLB    [ ON EXIT,  0  < X7 <= OLDEST PAGE RECALLABLE   
4D62    [           OR X7 = -1 (AUTO FOR MONITOR, OFF FOR INTERACTIVE)  
4DKL    [   
4F5=       LDX   3  CONSCNTRL   
4FJW       IFR      7,NG                [IF BEFORE ACTIVE   
4G4G       OR       7,ZE                [OR ACTIVE ITSELF THEN  
4GJ6       THEN 
4H3Q          NGN   7  1                   [TREAT AS AUTO   
4HHB       ELSF     7,GE,CORET(3)       [ELSF TOO OLD THEN GET OLDEST   
4J32       THEN 
4JGL          LDX   7  CORET(3) 
4K2=       FI                           [FI 
4KFW       EXIT  4  0   
4K^G    [   
4LF6    [   
4LYQ    [   
4MDB    [*********************************************************************  
4MY2    [   
4NCL    SCHAINSHOW  
4NX=    [   
4PBW    [*********************************************************************  
4PWG    [   
4QB6    [ SETS UP A SHOW BLOCK, INSERTS THE PARAMETERS, CHAINS THE BLOCK
4QTQ    [   
4R*B    [ LINK X4   
4RT2    [   
4S#L    [ ON ENTRY, SCREEN HOLDS SCREEN NUMBER  
4SS=    [           PAGE HOLDS ABSOLUTE PAGE NUMBER 
4T?W    [   
4TRG    [ ON EXIT,  SHOW BLOCK IS CHAINED FOR ACTION
4W?6    [   
4WQQ       SBX   4  FX1 
4X=B       LDX   3  CONSCNTRL   
4XQ2       LDX   0  PAGE(2) 
4Y9L       ORX   0  SCREEN(2)   
4YP=       IFR      0,ZE                [IF 'SH @0,0'   
4^8W       OR       BC,3,CONSNOFILE     [OR WE HAVE RECALL FILE THEN
4^NG       THEN 
5286          SETNCORE 2,3,CONBUFF,CSHOW
52MQ          LDX   0  SCREEN(2)
537B          STO   0  CSVID(3) 
53M2          LDX   0  PAGE(2)  
546L          STO   0  CSPAG(3) 
54L=          LDX   1  CONSCNTRL
555W          ADX   1  SCREEN(2)
55KG          ADN   1  COVID
5656          LF       1,COSHOWS,0  
56JQ          ADN   0  1
574B          LDN   1  64   
57J2          IF       0,L,1               [IF FIELD WON'T OVERFLOW THEN
583L          THEN  
58H=             CONSOUT  3                   [CHAIN BLOCK, WAKE CONSA  
592W             LDX   3  CONSCNTRL 
59GG             ADX   3  SCREEN(2) 
5=26             ADN   3  COVID 
5=FQ             INCF     3,COSHOWS           [INCREASE RELEVANT 'SHOWS WANTED' 
5=^B          ELSE                         [ELSE (FIELD OVERFLOW)   
5?F2             FREECORE 3                   [FORGET IT
5?YL          FI                           [FI FULL FIELD   
5#D=       FI                           [FI HAVE RECALL FILE
5#XW       ADX   4  FX1 
5*CG       EXIT  4  0   
5*X6    [   
5BBQ    [   
5BWB    [                    WW   WW   W
5CB2    [                    WW  WW   WW
5CTL    [                    WW WW   WWW
5D*=    [                    WWWW     WW
5DSW    [                    WWWW     WW
5F#G    [                    WW WW    WW
5FS6    [                    WW  WW   WW
5G?Q    [                    WW   WW  WW
5GRB    [   
5H?2    SHOWCOMMK1                         [SHOW COMMAND
5HQL    [   
5J==    [   
5JPW    [ CHECK WE ARE IN DME AND HAVE A RECALL FILE SET UP 
5K9G    [   
5KP6       JENVNOT  ZWRONGENV,DME   
5L8Q       LDX   3  CONSCNTRL   
5LNB       JBS      ZNOFILE,3,CONSNOFILE
5M82    [   
5MML    [   
5N7=    [ SCREEN PARAMETER  
5NLW    [   
5P6G       LDN   3  2   
5PL6       CALL  4  SGETPAR 
5Q5Q       LDX   0  ANUM(3) 
5QKB       IF       EITHER,0,NG         [IF OMITTED OR NULL THEN
5R52       OR       0,ZE
5RJL       THEN 
5S4=          LDN   7  1                   [SUPPLY DEFAULT SCREEN (1)   
5SHW       ELSE                         [ELSE (SCREEN SPECIFIED)
5T3G          CALL  4  SNUMCON             [CONVERT TO BINARY   
5TH6          LDN   0  CLUSTOPER+1  
5W2Q          LDX   7  ACOMMUNE1(2) 
5WGB          BXGE  7  0,ZTOOHIGH          [ERROR IF TOO HIGH   
5X22       FI                           [FI 
5XFL       MFREE    CPB,CUNI
5X^=       STO   7  SCREEN(2)           [REMEMBER SCREEN
5YDW    [   
5YYG    [   
5^D6    [ PAGE PARAMETER
5^XQ    [   
62CB       LDN   3  1   
62X2       CALL  4  SGETPAR 
63BL       LDX   5  ANUM(3) 
63W=       IF       5,ZE                [IF PARAM NULL THEN 
64*W       THEN 
64TG          NGN   5  1                   [TREAT AS OMITTED
65*6       ELSF     5,PZ                [ELSF GIVEN THEN
65SQ       THEN 
66#B          ANDN  5  #7777               [ENSURE ONLY HAVE CHARACTER COUNT
66S2       FI                           [FI 
67?L       IF       5,PZ                [IF ALPHA PARAM THEN
67R=          LDCH  0  APARA(3) 
68=W          SBN   0  #41  
68QG       AND      0,PZ
69=6          SBN   0  #73-#41  
69PQ       AND      0,NG
6=9B       THEN 
6=P2          LDX   0  APARA(3)            [CHECK PARAMETER ALLOWED 
6?8L          ANDX  0  HALFTOP  
6?N=          LDN   1  TABLE(1) 
6#7W          LDN   6  TEND-TABLE / 2   
6#MG          DO
6*76             BXE   0  PARAM(1),(1)        [OBEY APPROP ROUTINE IF SO
6*LQ             ADN   1  2 
6B6B          REPEAT   CT 6 
6BL2          BRN      ZUNRECOG            [ERROR IF ALPHA UNKNOWN  
6C5L          [**************** 
6CK=          [ 
6D4W       ELSE                         [ELSE (NUMBER GIVEN)
6DJG          IF       5,PZ                [IF PARAMETER GIVEN  
6F46             LDCH  0  APARA(3)  
6FHQ             SBN   0  #40   
6G3B          AND      0,ZE                [AND STARTS "@" THEN (ABSOLUTE)  
6GH2          THEN  
6H2L             LDX   4  5 
6HG=             SBN   4  1 
6H^W             BZE   4  ZNULL               [ERROR IF NO NUMBER FOLLOWS   
6JFG             LDN   0  APARA(3)  
6J^6             BCHX  0  £ 
6KDQ             LDN   1  APARA(3)  
6KYB             DSA   4  ANUM(3)             [REDUCE COUNT IN CUNI 
6LD2             SMO      4 
6LXL             MVCH  0  0                   [OVERWRITE "@" WITH NUMBER
6MC=             LDN   0  #20   
6MWW             DCH   0  0(1)                [AND SPACEFILL FINAL CHAR 
6NBG             CALL  4  SNUMCON   
6NW6             LDX   7  ACOMMUNE1(2)        [GET ABSOLUTE PAGE NUMBER 
6P*Q          ELSE                         [ELSE (RELATIVE NUMBER)  
6PTB             IF       5,NG                [IF NULL THEN 
6Q*2             THEN   
6QSL                LDN   7  1                   [SUPPLY DEFAULT PAGE (+1)  
6R#=             ELSE                         [ELSE (SPECIFIED) 
6RRW                MHUNT    3,CPB,CUNI 
6S?G                CALL  4  SNUMCON
6SR6                LDX   7  ACOMMUNE1(2)        [GET SPECIFIED NUMBER  
6T=Q             FI                           [FI NULL/NOT  
6TQB             CALL  4  SMAKEABS            [MAKE RELATIVE ABSOLUTE   
6W=2          FI                           [FI ABSOLUTE 
6WPL          CALL  4  SINBOUNDS           [ENSURE PAGE NUMBER IN BOUNDS
6X9=       FI                           [FI "OLDEST"
6XNW    RETURN  
6Y8G       MFREE    CPB,CUNI
6YN6       STO   7  PAGE(2) 
6^7Q       CALL  4  SCHAINSHOW          [CHAIN THE COMMAND FOR ACTIONING
6^MB    ZENDCOMM
7272       ENDCOM   
72LL    ZWRONGENV   
736=       COMERR   JENVMUSTBE,JENVDME  
73KW    ZUNRECOG
745G       COMERR   APFERR  
74K6    ZMAINAUTO   
754Q       COMERR   JMAINAUTO   
75JB    ZTOOHIGH
7642       COMERR   JHIGHVID
76HL    ZNULL   
773=       COMERR   JNULLPAR
77GW    ZNOFILE 
782G       COMERR   CNORECALL1  
78G6    [   
78^Q    [   
79FB    [                    WW   WW   WWWWW
79^2    [                    WW  WW   WW   WW   
7=DL    [                    WW WW         WW   
7=Y=    [                    WWWW          WW   
7?CW    [                    WWWW        WW 
7?XG    [                    WW WW     WW   
7#C6    [                    WW  WW   WW
7#WQ    [                    WW   WW  WWWWWWW   
7*BB    [   
7*W2    [   
7B*L    SHOWCOMMK2  
7BT=    [   
7C#W    [   
7CSG    [ SHOW -1,1 (PAGE REVERSE)  
7D#6    [   
7DRQ       LDN   0  1   
7F?B       STO   0  SCREEN(2)   
7FR2       NGN   7  1   
7G=L       CALL  4  SMAKEABS
7GQ=       CALL  4  SINBOUNDS   
7H9W       STO   7  PAGE(2) 
7HPG       CALL  4  SCHAINSHOW  
7J96       UP   
7JNQ    [   
7K8B    [   
7KN2    [                    WW   WW   WWWWW
7L7L    [                    WW  WW   WW   WW   
7LM=    [                    WW WW         WW   
7M6W    [                    WWWW       WWWW
7MLG    [                    WWWW          WW   
7N66    [                    WW WW         WW   
7NKQ    [                    WW  WW   WW   WW   
7P5B    [                    WW   WW   WWWWW
7PK2    [   
7Q4L    [   
7QJ=    SHOWCOMMK3  
7R3W    [   
7RHG    [   
7S36    [ SHOW OFF,0 (NULL INPUT)   
7SGQ    [   
7T2B       LDN   0  0   
7TG2       STO   0  PAGE(2) 
7T^L       STO   0  SCREEN(2)   
7WF=       CALL  4  SCHAINSHOW  
7WYW       UP   
7XDG    [   
7XY6    [   
7YCQ    [                    WW   WW     WW 
7YXB    [                    WW  WW     WW  
7^C2    [                    WW WW     WW   
7^WL    [                    WWWW     WW  WW
82B=    [                    WWWW    WWWWWWWWW  
82TW    [                    WW WW        WW
83*G    [                    WW  WW       WW
83T6    [                    WW   WW      WW
84#Q    [   
84SB    [   
85#2    SHOWCOMMK4  
85RL    [   
86?=    [   
86QW    [ SHOW +1,1 (PAGE FORWARD)  
87=G    [   
87Q6       LDN   0  1   
889Q       STO   0  SCREEN(2)   
88PB       LDN   7  1   
8992       CALL  4  SMAKEABS
89NL       CALL  4  SINBOUNDS   
8=8=       STO   7  PAGE(2) 
8=MW       CALL  4  SCHAINSHOW  
8?7G       UP   
8?M6    [   
8#6Q    [   
8#LB    [                    WW   WW   WWWWWWWW 
8*62    [                    WW  WW    WW   
8*KL    [                    WW WW     WWWWWW   
8B5=    [                    WWWW           WW  
8BJW    [                    WWWWW           WW 
8C4G    [                    WW  WW    WW    WW 
8CJ6    [                    WW   WW   WW   WW  
8D3Q    [                    WW    WW   WWWWW   
8DHB    [   
8F32    [   
8FGL    SHOWCOMMK5  
8G2=    [   
8GFW    [   
8G^G    [  FORCEPAGE
8HF6    [   
8HYQ       JENVNOT  ZWRONGENV,DME   
8JDB       SETUPCOR  0,3,CONBUFF,FORCE  
8JY2       CONSOUT  3   
8KCL       ENDCOM   
8KX=    #END
^^^^ ...610464330001
  • Last modified: 17/01/2024 11:55
  • by 127.0.0.1