.TITLE ENTER -- ENTER INTO NAME .SBTTL TITLE PAGE .IDENT /VIN0.0/ ;+ ; ; AUTHOR: 1LT JOEL IRWIN (SAC/ADIPI) ; ; ; DATE: 27 SEP 77 ; ; ; SYSTEM: OISS SUBSYSTEM: INFORMATIONAL ; ; ; FUNCTIONAL DESCRIPTION: ; ; THIS SUBROUTINE WILL CREATE A NAME ENTRY IN THE NAME ; GLOBAL COMMON AREA IF THERE IS SPACE. THE ENTRY ; CORRESPONDS A USER IDENTIFICATION CODE TO A NAME ; ; ; RECORD OF MODIFICATIONS ; ; VERSION DATE BY DESCRIPTION ; _______ ____ __ ___________ ; ; ; ; ; ; GLOBAL EVENT FLAG USAGE: ; ; ;- .SBTTL MACROS,SYMBOLS,AND DATA .PAGE ; ; ; LOCAL MACRO DEFINITIONS AND SYSTEM MACRO CALLS ; ; .MCALL STRUCT,TEXT,SAVE,FIND,IFFND,GETKY,GETARG,MOVC,UNSAVE .MCALL IFNFND,END,IF,ELSE ;STRUCTURED MACROS USED STRUCT ;DEFINE THE STRUCTURED MACROS ; ; GLOBAL SYMBOL DEFINITIONS AND DATA ; ; .SBTTL INPUTS,OUTPUTS AND EFFECTS .PAGE ;+ ; ; INPUTS: ; ; ARG1 - ADDRESS OF 1 BYTE BINARY GROUP ID ; ARG2 - ADDRESS OF 1 BYTE BINARY USER ID ; ARG3 - ADDRESS OF RAD50 NAME WHICH IS ELSZ BYTES LONG ; ; OUTPUTS: ; ; C-BIT CLEARED FOR SUCCESS ; C-BIT SET FOR FAILURE ; ; EFFECTS: ; ; AN ENTRY IN THE NAME GCA IS CREATED IF THERE IS ROOM ; FOR ONE AND THE C-BIT IS CLEARED. IF THE GCA IS FULL ; NO ENTRY IS CREATED AND THE C-BIT IS SET. ; ;- .PAGE .NLIST BIN .GLOBL ENTER ; .PSECT ENTER,RW ;FOR DEBUGGING PURPOSES ONLY .PSECT ENTER,RO TEXT ENTER, SAVE R0,R1 ; FIND AN EMPTY ENTRY IF POSSIBLE AND ENTER DATA FIND #ZERO,#NAME,#SIZE,#ENTRYSZ IFFND EQ ;IF AN EMPTY ENTRY IS FOUND GETKY R0 ;ADDRESS OF EMPTY STRING ENTRY GETARG @1,R1 ;ENTER GROUP NUMBER MOVB R1,GPID(R0) GETARG @2,R1 ;ENTER USER NUMBER MOVB R1,USID(R0) GETARG 3,R1 ;ENTER NAME GIVEN ITS ADDRESS ADD #USNAME,R0 ;HAVE R0 POINT TO BEG OF NAME MOVC R1,R0,#ELSZ ;THAT IT STARTS AT CLR R0 ;SPECIFY SUCCESS IFNFND ;FULL TABLE - RETURN FAILURE MOV #1,R0 ;SPECIFY FAILURE END IF R0 EQ ;SUCCESS UNSAVE R0,R1 CLC ELSE UNSAVE R0,R1 ;OTHERWISE FAILURE SEC END END ZERO: .WORD 0 ENDCHK .END