.TITLE AMON .IDENT /V01/ .SBTTL DESCRIPTION ; ; ; COMPONENT: AMON ; ; DATE: 28-AUG-79 ; ; AUTHOR: GR JOHNSON ; BATTELLE NORTHWEST ; P O BOX 999 ; RICHLAND, WA 99352 ; ; SOURCE: MACRO-11 ; ; CALLER: FORTRAN IV-PLUS ; ; CALLING SEQUENCE: ; ; MONTH=AMON(IMO) ; ; MONTH = REAL VARIABLE TO RECEIVE THE ASCII MONTH. ; ; IMO = INTEGER VALUE REPRESENTING THE MONTH. ; ; ; DESCRIPTION: ; ; "AMON" RETURNS REAL VALUE CONTAINING A THREE CHARACTER ASCII ; REPRESENTATION OF THE MONTH. IF THE SUPPLIED INTEGER MONTH IS INVALID, ; THE ROUTINE RETURNS SPACES. THE STRING IS TERMINATED BY AN ASCII NULL ; CHARACTER. ; ; .SBTTL ENTRY POINT -- RETURN ASCII MONTH ; ; ; .PSECT ; ; AMON:: ; ; MOV @2(R5),R1 ; INTEGER MONTH TO R1 BGT .+4 ; IMO LT ZERO? CLR R1 ; YES, CLEAR IMO CMP #12.,R1 ; IMO GT 12? BGE .+4 ; NO, SKIP AHEAD CLR R1 ; YES, CLEAR IMO ; MUL #4,R1 ; TABLE ENTRIES ARE 4-BYTES LONG ADD #MONTHS,R1 ; R1 POINTS TO MONTHS TABLE ENTRY ; MOV (R1)+,R0 ; HIGH ORDER WORD MOV (R1)+,R1 ; LOW ORDER WORD RTS PC ; RETURN TO CALLER ; ; .EVEN ; ; MONTHS: .ASCIZ / / ; SPACES .ASCIZ /JAN/ ; JANUARY .ASCIZ /FEB/ ; FEBRUARY .ASCIZ /MAR/ ; MARCH .ASCIZ /APR/ ; APRIL .ASCIZ /MAY/ ; MAY .ASCIZ /JUN/ ; JUNE .ASCIZ /JUL/ ; JULY .ASCIZ /AUG/ ; AUGUST .ASCIZ /SEP/ ; SEPTEMBER .ASCIZ /OCT/ ; OCTOBER .ASCIZ /NOV/ ; NOVEMBER .ASCIZ /DEC/ ; DECEMBER ; .END