.TITLE F2DEC .IDENT /V7.01/ ;+ ; ; F2.DEC ; ; THIS ROUTINE FORMATS A 2-WORD INTEGER AND PLACES A DECIMAL ; POINT TWO DIGITS IN FROM THE RIGHT HAND END, EG. THE NUMBER ; 5891 IS FORMATTED AS 58.91. LEADING ZEROES ARE INSERTED ; WHERE NECESSARY. ; ; INPUTS: ; R0 BUFFER ADDRESS ; R1 ADDRESS OF 2-WORD BINARY FIELD ; ; OUTPUTS: ; R0 UPDATED ; ; ; STEVE THOMPSON ; SCHOOL OF CHEMICAL ENGINEERING ; OLIN HALL ; CORNELL UNIVERSITY ; ITHACA NY 14853 ; ; REVISION HISTORY ; ---------------- ; ; SMT821 23-APR-82 CHANGED ENTRY POINT NAMES OF ACCOUNTING ; SUPPORT ROUTINES (SEE MODIFY.TXT) ; ;- F2.DEC::TST (R1) ; HIGH ORDER RESULT NON-ZERO? BNE 10$ ; IF NE YES CMP 2(R1),#100. ; LOW ORDER LESS THAN 100? BHIS 10$ ; IF HIS NO MOVB #'0,(R0)+ ; INSERT A ZERO CHARACTER CMP 2(R1),#10. ; LOW ORDER LESS THAN 10? BHIS 10$ ; IF HIS NO MOVB #'0,(R0)+ ; INSERT A ZERO CHARACTER 10$: CLR R2 ; SET NO LEADING ZEROES CALL $CDDMG ; FORMAT AS ASCII DECIMAL MOVB -(R0),1(R0) ; MOVE OVER THE LAST DIGIT MOVB -(R0),1(R0) ; AND THE LAST BUT ONE MOVB #'.,(R0)+ ; INSERT A DECIMAL POINT ADD #2,R0 ; STEP PAST THE LAST DIGIT RETURN ; RETURN TO CALLER .END