.TITLE PWREAL - WRITESHORTFLOATING(@FILEVAR,REAL,FIEDLWIDTH,FRACTIONWIDTH) .IDENT /831006/ ; PARMS ; 1. POINTER TO FILE BLOCK ; 2. REAL VALUE (SINGLE) ; 3. FIELD WIDTH ; 4. FRACTION WIDTH ; REGISTER USAGE ; R1: POINTER TO FILE BLOCK ; R0,R2,R3,R4: SCRATCH ; CALLS: $$FCVT ; .GLOBL $$FCVT F0=R0 $$$035:: MOV 10.(SP),R1 ;SWAP @FILEVAR MOV (SP),10.(SP) ; WITH THE MOV R1,(SP) ; RETURN ADDRESS MOV R2,-(SP) ;SAVE R2 MOV R3,-(SP) ;SAVE R3 MOV R4,-(SP) ;SAVE R4 STFPS -(SP) ;SAVE FLOATING POINT STATUS LDFPS #0200 ;FPU STATUS = DOUBLEREAL, SHORTINT LDCFD 14.(SP),F0 ;GET REAL NUMBER TO BE PRINTED JSR PC,$$FCVT ;CONVERT IN "FLOATING" FORMAT LDFPS (SP)+ ;RESTORE FPU STATUS MOV (SP)+,R4 ;RESTORE R4 MOV (SP)+,R3 ;RESTORE R3 MOV (SP)+,R2 ;RESTORE R2 ADD #10.,SP ;DELETE PARAMETERS RTS PC .END