.TITLE ADOW .IDENT /V01/ .SBTTL DESCRIPTION ; ; ; COMPONENT: ADOW ; ; DATE: 23-AUG-79 ; ; AUTHOR: GR JOHNSON ; BATTELLE NORTHWEST ; P O BOX 999 ; RICHLAND, WA 99352 ; ; SOURCE: MACRO-11 ; ; CALLER: FORTRAN IV-PLUS ; ; CALLING SEQUENCE: ; ; DAY=ADOW(IDOW) ; ; DAY = REAL VARIABLE TO RECEIVE THE ASCII DAY-OF-WEEK. ; ; IDOW = INTEGER VALUE REPRESENTING THE DAY-OF-WEEK. ; (1=SUN,2=MON,3=TUE,4=WED,5=THU,6=FRI,7=SAT) ; ; ; DESCRIPTION: ; ; "ADOW" RETURNS REAL VALUE CONTAINING A THREE CHARACTER ASCII ; REPRESENTATION OF THE DAY-OF-WEEK. IF THE SUPPLIED INTEGER DAY-OF-WEEK ; IS INVALID, THE ROUTINE RETURNS SPACES. THE STRING IS TERMINATED BY AN ; ASCII NULL CHARACTER. ; ; .SBTTL ENTRY POINT -- RETURN ASCII DAY-OF-WEEK ; ; ; .PSECT ; ; ADOW:: ; ; MOV @2(R5),R1 ; INTEGER DAY-OF-WEEK TO R1 BGT .+4 ; IDOW LT ZERO? CLR R1 ; YES, CLEAR IDOW CMP #7,R1 ; IDOW GT 7? BGE .+4 ; NO, SKIP AHEAD CLR R1 ; YES, CLEAR IDOW ; MUL #4,R1 ; TABLE ENTRIES ARE 4-BYTES LONG ADD #DAYS,R1 ; R1 POINTS TO DAYS TABLE ENTRY ; MOV (R1)+,R0 ; HIGH ORDER WORD MOV (R1)+,R1 ; LOW ORDER WORD RTS PC ; RETURN TO CALLER ; ; .EVEN ; ; DAYS: .ASCIZ / / ; SPACES .ASCIZ /SUN/ ; SUNDAY .ASCIZ /MON/ ; MONDAY .ASCIZ /TUE/ ; TUESDAY .ASCIZ /WED/ ; WEDNESDAY .ASCIZ /THU/ ; THURSDAY .ASCIZ /FRI/ ; FRIDAY .ASCIZ /SAT/ ; SATURDAY ; .END