.title l2x2 - return integer pseudo-log2 value of integer parameter .psect $code,pic,shr,nowrt,long ;executable section rsvop: .word ^x8000; *** Shared with zero below *** .entry l2x2,0; No registers to save cvtlf @4(ap),r0; Convert param to single-precision floating bgtr 1$; Guarantee correct input value addf b^rsvop,r0; Force RESERVED-OPERAND fault 1$: extzv #5,#9,r0,r0; Extract unbiased exponent, 2 bits fraction subl #4,r0; Subtract 1 (1.0 = 00004080) ret; Done, result in R0 .end