CHECKUNI

(GIN Macro)

Defined in: MACINTLUDES

Used in:

CHECKUNI.mac.txt
 3T4P ...[??? CHECKUNI SECT DIAG FGN 11 DOC  
 3T4S ...#MAC  CHECKUNI                     [M. DRUKKER  
 3T4X ...[   
 3T52 ...[   
 3T55 ...[     **************
 3T58 ...[     *  CHECKUNI  *
 3T5? ...[     **************
 3T5B ...[   
 3T5F ...[   
 3T5J ...[ CHECKUNI - THIS MACRO CHECKS THE EXISTENCE, SETTING,  
 3T5M ...[ AND VALUE OF EACH (UNIVERSAL) PARAMETER   
 3T5Q ...[   
 3T5T ...[ THIS MACRO CAN ONLY BE USED WITH GIN 513 ONWARDS. 
 3T5Y ...[   
 3T63 ...[ THIS MACRO WILL NOT CHANGE %A, ETC.   
 3T66 ...[ NO ERRORS WILL BE MARKED OR LOGGED HOWEVER THE PARAMETERS ARE WRITTEN 
 3T69 ...[ PARAMETERS ARE TERMINATED BY , OR [   
 3T6# ...[ THE MACRO CHECKS WHETHER %A IS (A) UNIVERSAL  
 3T6C ...[                                (B) EXISTS 
 3T6G ...[                                (C) FULLY SET  
 3T6K ...[ THE FOLLOWING ACTIONS ARE TAKEN:  
 3T6N ...[  IDENTIFIER     =  DISPLAY             93?        94? 
 3T6R ...[ ======================================================================
 3T6W ...[ INCORRECT NAME  =  INVALID FORMAT       1          1  
 3T6^ ...[ DOESN'T EXIST   =  NOT EXISTING         1          2  
 3T74 ...[ TOTALLY UNSET   =  UNSET TOTALLY        1          3  
 3T77 ...[ PARTIALLY SET   =  PARTIALLY SET        1          4  
 3T7= ...[ FULLY SET       =  VALUE IN DECIMAL     0     VALUE IN BINARY 
 3T7* ...[ ======================================================================
 3T7D ...[   
 3T7H ...[ %A,%B,...,%V ARE THE UNIVERSAL IDENTIFIERS TO BE CHECKED. 
 3T7L ...[   
 3T7P ...#DEF  19?+1=1?>19?+1               [SAVE CURRENT OR OUTSIDE LISTNG LEVEL
 3T7S ...#LIS  0 
 3T7X ...#DEF  19?+0=3?                     [SAVE COMPILATION MODE   
 3T82 ...#FRL
 3T85 ...#ORD
 3T88 ...#INT
 3T8? ...NAME           16H%A               [LEGAL MAX 11 CHARS  
 3T8B ...SPACE          20H  
 3T8F ...NUNI            4H: 
 3T8J ...               16HINVALID FORMAT
 3T8M ...NFND            4H: 
 3T8Q ...               16HNOT EXISTING  
 3T8T ...UNST            4H: 
 3T8Y ...               16HPARTIALLY SET 
 3T93 ...TTUN            4H: 
 3T96 ...               16HUNSET TOTALLY 
 3T99 ...VALU           20H= 
 3T9# ...N12            #12                 [:   
 3T9C ...N20            #20                 [SP  
 3T9G ...N41            #41                 [A   
 3T9K ...N55            #55                 [M   
 3T9N ...N73            #73                 [[   
 3T9R ...MASK           #777777             [B6-23   
 3T9W ...NTRY  STO   0  19?+2               [SAVE THE INTERLUDE LINK 
 3T9^ ...[  TEST FOR UNIVERSAL   
 3T=4 ...      LDN   5  12   
 3T=7 ...      LDN   3  0
 3T== ...      LDCH  7  NAME(3)  
 3T=* ...      BXL   7  N41,NTUN            [NOT ALPHA START 
 3T=D ...      BXGE  7  N55,NTUN            [LOCAL   
 3T=H ...NXT   LDCH  7  NAME(3)  
 3T=L ...      BXL   7  N12,NUMB            [NUMBER  
 3T=P ...      BXGE  7  N73,NTUN            [NOT ALPHA   
 3T=S ...      BXGE  7  N41,NUMB            [ALPHA   
 3T=X ...      BXU   7  N20,NTUN            [NOT ALPHA/SPACE 
 3T?2 ...      BRN      SPC2                [SPACE TEST  
 3T?5 ...NUMB  BCHX  3  £                   [NEXT CHAR   
 3T?8 ...      '066  5  NXT                 [BCT 
 3T?? ...[  TEST FOR LENGTH  
 3T?B ...[  X7 SHLD ALREADY CONTAIN 12TH CHAR
 3T?F ...      BXU   7  N20,NTUN            [TOO LONG
 3T?J ...      BRN      TEXI                [NEXT TEST   
 3T?M ...[  CHECK NO INTERMEDIATE SPACES 
 3T?Q ...SPC1  LDCH  7  NAME(3)  
 3T?T ...      BXU   7  N20,NTUN            [NOT SPACES TO END   
 3T?Y ...SPC2  BCHX  3  £                   [NEXT CHAR   
 3T#3 ...      '066  5  SPC1                [BCT 
 3T#6 ...[  TEST FOR EXISTENCE   
 3T#9 ...TEXI  LDN   6  3
 3T## ...      LDN   2  0
 3T#C ...NEXT  LDX   7  NAME(2)             [FIND NO. OF WHOLE WORDS 
 3T#G ...      BXE   7  SPACE,SPFD          [FOR COMPARISON BY "FINDIT"  
 3T#K ...      ADN   2  1
 3T#N ...      '066  6  NEXT                [BCT NOT IN #ORD MODE IN GIN503  
 3T#R ...SPFD  ANDN  2  #77  
 3T#W ...      STO   2  18?+1]+56           [:IDENLEN:   
 3T#^ ...      LDN   1  0
 3T*4 ...      DCH   2  18?+1]+55(1)        [:ALENGTH: SAVE IN B0-B5 
 3T*7 ...      LDN   0  2
 3T*= ...      STO   0  18?+1]+57           [:AUN2: SHOWS UNIVERSAL FOR SEARCH   
 3T** ...      STO   0  18?+1]+32           [:AWORDTYPE: LINE NOT GNRTE STRD WD  
 3T*D ...      LDN   0  NAME                [SET UP IDENTIFIER NAME WORDS
 3T*H ...      LDN   1  18?+1]+7            [:ANAME: 
 3T*L ...      MOVE  0  3
 3T*P ...      CALL  0  18?+2]+1]           [:FINDIT:
 3T*S ...      BRN      NTFD                [EXIT 0 => NOT FOUND 
 3T*X ...[  TEST FOR UNSET                  [EXIT 1 => FOUND 
 3TB2 ...      LDX   3  18?+0]+28           [:IDENTWSADDR:   
 3TB5 ...      CALL  0  18?+2]+7]           [:FINDW: FROM BS 
 3TB8 ...      LDX   4  2(3)                [LOOK AT BLOCK   
 3TB? ...      BNG   4  NTSE                [TOTALLY UNSET (NOT DEFINED) 
 3TBB ...[  TEST FOR PARTIALLY SET   
 3TBF ...      LDX   4  3(3) 
 3TBJ ...      ANDX  4  MASK 
 3TBM ...      BNZ   4  NTST                [DEFINED WRT UNSETS  
 3TBQ ...[  WORK OUT VALUE   
 3TBT ...      LDX   5  1(3)                [VALUE   
 3TBY ...      STO   5  18?+3]+94           [STORE BINARY IN 94? 
 3TC3 ...      STOZ     18?+3]+93           [SHOW  VALUE  IN 93? 
 3TC6 ...      LDN   1  VALU+1   
 3TC9 ...      CALL  2  18?+2]+9]           [:AL48: CONVERT TO DECIMAL   
 3TC# ...      LDN   5  VALU 
 3TCC ...      BRN      PRINT
 3TCG ...NTUN  LDN   5  NUNI                [NOT UNIVERSAL   
 3TCK ...      LDN   7  1
 3TCN ...      BRN      PRNT 
 3TCR ...NTFD  LDN   5  NFND                [DOES NOT EXIST  
 3TCW ...      LDN   7  2
 3TC^ ...      BRN      PRNT 
 3TD4 ...NTSE  LDN   5  TTUN                [TOTALLY UNSET   
 3TD7 ...      LDN   7  3
 3TD= ...      BRN      PRNT 
 3TD* ...NTST  LDN   5  UNST                [NOT FULLY SET   
 3TDD ...      LDN   7  4
 3TDH ...[  NOW PRINT REPLY  
 3TDL ...PRNT  LDN   6  1
 3TDP ...      STO   6  18?+3]+93           [SET 93? FOR ERROR   
 3TDS ...      STO   7  18?+3]+94           [SET 94? BITS
 3TDX ...PRINT LDN   6  SPACE
 3TF2 ...      LDX   7  SPACE
 3TF5 ...      MOVE  5  5
 3TF8 ...      CALL  5  18?+2]+20]          [:BUFLPSW:   
 3TF? ...      LDX   3  18?+1]+62           [:CURPRIBUF: 
 3TFB ...      LDN   4  1(3) 
 3TFF ...      STO   7  0(3) 
 3TFJ ...      MOVE  3  29                  [SPACEFILL BUFFER
 3TFM ...      LDN   2  NAME 
 3TFQ ...      MOVE  2  9
 3TFT ...      CALL  3  18?+2]+19]          [:APLINE: PRINT MESSAGE  
 3TFY ...      LDX   0  19?+2
 3TG3 ...      EXIT  0  0
 3TG6 ...#JUM  NTRY  
 3TGC ...#SKI  19?+0]                       [RESET COMPILATION MODE. 
 3TGG ...#SKI
 3TGK ...#EXT
 3TGN ...#LIS  19?+1]                       [RESET LISTING LEVEL.
 3TGP ...#STR  %B%C%D%E%F%G%H%I%J%K%L%M%N%O%P%Q%R%S%T%U%V
 3TGQ ... CHECKUNI %B,%C,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%P,%Q,%R,%S,%T,%U,%V
 3TGR ...#NOR
  • Last modified: 17/01/2024 11:55
  • by 127.0.0.1