04.06.2013 Views

PRÁCTICA 13

PRÁCTICA 13

PRÁCTICA 13

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

LENGUAJE ENSAMBLADOR 80386 <strong>PRÁCTICA</strong> <strong>13</strong><br />

%TITLE “FTOA – PUNTO FLOTANTE A ASCII”<br />

; Ensamblarlo y ponerlo en librería PF<br />

;<br />

; FTOA.ASM – Convierte binario de punto flotante<br />

; Número real en la pila del 80387 Stack en ASCII (usa FALOG de FALOG.ASM)<br />

;<br />

; Llamar con ST(0) = número de punto flotante<br />

; DS:DI = área para recibir cadena<br />

;<br />

; Retorna: DS:SI = dirección de cadena convertida<br />

; AX = largo de la cadena<br />

; Pila del coprocesador “sube”<br />

;<br />

; Usa: nada<br />

;<br />

; Asegurarse de que el coprocesador ha sudo iniciado adecuadamente con una llamada previa a INICIA87!<br />

IDEAL<br />

MODEL small<br />

dataseg<br />

signo dw 0 ;recibe estado FXAM<br />

viejo dw 0 ;modo de redondeo previo<br />

nuevo dw 0 ;nuevo modo de redondeo<br />

exp dw 0 ;potencia de 10<br />

status dw 0 ;recibe estado ICOM<br />

mant dt ;mantisa como valor BCD<br />

fp<strong>13</strong>17 dq 1,0e17 ;constante para escalamiento<br />

fp1e18 dq 1,0e18 ;constante para escalamiento<br />

int10 dw 10 ;constante par escalamiento<br />

CadOp db ‘+0.000000000000000000E+000’ ;exhibido si<br />

LonOp equ offset CadOn-offset CadOp ;ST(0) = +0<br />

CadOn db ‘-0.000000000000000000E+000’ ;exhibido si<br />

LonOn equ offset CadIp-offset CadOn ;ST(0) = -0<br />

CadIP db ‘’ ;exhibido si<br />

LonIP equ offset CadIn-offset CadIp ;es infinito positivo<br />

CadIN db ‘’ ;exhibido si ST(0)<br />

LonIN equ offset CadNatN-offset CadIN ;es infinito negativo<br />

CadNaN db ‘’ ;exhibido si ST(0)<br />

LonNaN equ offset CadAn-offset CadNaN ;contiene Not-A-Número<br />

CadAn db ‘’ ;exhibido para anormales<br />

LonAn equ offset CadDe-offset CadAn ;positivos y negativos<br />

CadDe db ‘’ ;exhibido para denormales<br />

LonDe equ offset CadVac-offset CadDe ;positivos o negativos<br />

CadVac db ‘’ ;exhibido si ST(0’)<br />

LonVac equ offset Tipofin-offset CadVac ;está marcado vacío<br />

AUTOR: PROFESOR SALVADOR SAUCEDO FLORES<br />

EDICIÓN: PROFESOR PABLO FUENTES RAMOS<br />

<strong>13</strong>-6

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!