; CFFCWF FAR CALL MODIFICATIONS 1200 2-MAR-81 ; CFCWF VERSION 2.1 1200 15-OCT-79 ; RCC86 CONVERT BYTE/INTEGER TO FLOATING CF@CODE SEGMENT BYTE PUBLIC ASSUME CS:CF@CODE PUBLIC CF@CBF PUBLIC CF@CWF CF@CBF PROC FAR ;CONVERT BYTE TO FLOATING CBW ;CONVERT TO INTEGER ; ;THENCE TO FLOATING CF@CWF LABEL FAR ;CONVERT INTEGER TO FLOATING MOV CX,9800H ;INITIAL EXPONENT MOV DX,0 ;INITIAL ACC. EXTENSION CMP AX,0 ;CHECK FOR ZERO INPUT JNE NOTZERO ; ;FLOATING ZERO OUTPUT RET NOTZERO LABEL NEAR JG POSTVE ;NEGATE IF NEGATIVE MOV CL,80H ;AND SET RESULT SIGN NEG AX POSTVE LABEL NEAR LEFT LABEL NEAR ;SHIFT LEFT SHL AX,1 ;DOUBLE LENGTH 1 BIT RCL DX,1 DEC CH ;COMPENSATE EXPONENT (CAN'T OVERFLOW) CMP DL,0 JGE LEFT ;UNTIL DL 'SIGN' SET AND DL,7FH ;REMOVE ASSUMED 2**-1 OR DX,CX ;INSERT RESULT SIGN&EXPONENT RET CF@CBF ENDP CF@CODE ENDS END