<<<--- % Author M.Ruckert LOC #100 u1 IS $0 1. parameter u0 IS $1 1. parameter v1 IS $2 2. parameter v0 IS $3 2. parameter w1 IS $4 return value w0 IS $5 return value s IS $6 $w$ unpacked e IS $7 carry IS $8 The shuttle between $x_1$ and $x_0$. su IS $9 $u$ unpacked eu IS $10 sv IS $11 $v$ unpacked ev IS $12 d IS $13 $e_u - e_v$ tmp IS $14 --->>> DFdiv SLU eu,u1,1; SLU ev,v1,1 \ul{\sl M1.~Unpack.} SRU eu,eu,49; SRU ev,ev,49 XOR s,u1,v1; SRU s,s,63 $s_w \is s_u\cdot s_v$ ANDNH u1,#FFFF; ORH u1,#0001 SLU v1,v1,15; ORH v1,#8000 $(v_1,v_0)\is (v_1,v_0)2^{15}$ SRU carry,v0,64-15; ADDU v1,v1,carry SLU v0,v0,15 % \ul{\sl M2.~Operate.} PUT rD,u1; DIVU w1,u0,v1 $(u_12^{64}+ u_0)/(v_12^{15})$ PUT rD,0; GET tmp,rR; DIVU w0,tmp,v1 $(w_1,w_0)\is 2(u_1,u_0)/v_1$ SUB e,eu,ev; INCL e,#3FFF-1 $e\is e_u-e_v+q-1$ <<<--- BZ v0,DNormalize not sure if that would be an optimization --->>> MULU d,w1,v0 $d \is w_1v_0$ GET tmp,rH; PUT rD,tmp; DIVU d,d,v1 $d \is w_1v_0/v_1$ CMPU tmp,w0,d; ZSN carry,tmp,1 $\.{carry}\is 1$ if $w_0