CONV_FLOT: ld r5,r30,0 or r29, r0, r0 ;Se inicializa el signo del número. cmp r2,r5,r0 ;Si es cero se acaba. bb1 2, r2, FIN bb0 31, r5, POSITIVO or.u r29, r0, 0x8000 ;Si es negativo se activa el bit de subu r5, r0, r5 ;signo y se complementa el número. POSITIVO: add r3, r0, 158 ;Se carga 31 como exponente. bb1 31, r5, COMPONER ;Si es un 1 el bit más significativo se acaba. BUCLE: mak r5, r5, 0<1> ;Se desplaza la mantisa un lugar a la subu r3, r3, 1 ;izquierda hasta tener un 1 en el bit más bb0 31, r5, BUCLE ;significativo y se resta 1 al exponente. COMPONER: mak r3, r3, 0<23> ;Se compone el número en coma flotante. or r29, r3, r29 extu r5, r5, 23<8> or r29, r5, r29 FIN: jmp (r1) ppal: or r30, r0, 10000 or r2, r0, 3 ;Se carga r2 con el dato en complemento or.u r2, r2, 0x8000 ;a 2 que se quiere pasar al estándar IEEE. subu r30, r30, 4 st r2, r30, 0 bsr CONV_FLOT stop