{{htmlmetatags>metatag-description:(ICL George 3 and George 4 GIN macro: CHECKUNI)}}
====== CHECKUNI ======
(GIN Macro)
**Defined in:** [[george:source:MACINTLUDES|MACINTLUDES]]
**Used in:**
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