04.06.2013 Views

PRÁCTICA 13

PRÁCTICA 13

PRÁCTICA 13

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

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

Entra:<br />

mov ax,@data ;inicia registro<br />

mov<br />

programa:<br />

ds,ax ;de segmento de datos<br />

mov es,ax<br />

call NuevaLinea ;salta línea<br />

call cpu ;indaga tipo de CPU<br />

cmp ax,386h ;por lo menos un 80386<br />

jae<br />

@@05:<br />

@@10<br />

mov di,offset RepCPU<br />

call SacaCadena ;avisa que saldrá<br />

mov ah,4ch ;función de DOS<br />

int 21h ;para salir<br />

@@10:<br />

mov ax,0000h<br />

call Inicia87<br />

jnz @@05<br />

mov di,offset saludo ;bienvenida e instrucciones<br />

call SacaCadena<br />

call NuevaLinea<br />

mov di,offset Apr1er ;pide primer número<br />

call SacaCadena<br />

mov ah,0ah ;pide cadena de entrada<br />

mov dx,offset buff<br />

int 21h<br />

finit ;limpia pila de 387 y lo inicia<br />

mov si,offset buff+2<br />

call atof<br />

fstp [A] ;lo salva en A<br />

call NuevaLinea ;salta a siguiente línea<br />

mov di,offset Apr2do ;pide segundo número<br />

call SacaCadena<br />

mov ah,0ah<br />

mov dx,offset buff<br />

int 21h<br />

mov si,offset buff+2<br />

call atof ;lo hace flotante<br />

call NuevaLinea<br />

fst [B] ;lo salva en B<br />

fadd [A] ;suma valor en RAM<br />

call NuevaLinea<br />

mov di,offset CadSuma ;exhibe letrero de resultado<br />

call SacaCadena ;de suma<br />

fst [D] ;salvamos resultado<br />

mov si,offset ResSuma<br />

call ftoa ;convierte a ASCII<br />

mov di,offset ResSuma<br />

mov cx,ax ;trae cantidad de caracteres<br />

call SacaCadena2<br />

AUTOR: PROFESOR SALVADOR SAUCEDO FLORES<br />

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

<strong>13</strong>-12

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

Saved successfully!

Ooh no, something went wrong!