19.04.2018 Views

Tutorial de ensamblador

Create successful ePaper yourself

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

MOV AH, 01H espera a que se ingrese un carácter, el que sea. En este<br />

programa, esta línea se utiliza para que el usuario, al presionar cualquier tecla,<br />

termine el programa. Una vez capturada la tecla, proce<strong>de</strong> a <strong>de</strong>volver el control al<br />

BIOS y termina su ejecución.<br />

Procedimientos almacenados, limpieza <strong>de</strong> registros, ciclo LOOP y uso<br />

<strong>de</strong> la pila<br />

ASCII2BIN PROC NEAR<br />

XOR AX,AX<br />

MOV CX,8<br />

Todos los procedimientos almacenados <strong>de</strong>ben seguir la siguiente sintaxis:<br />

Nombre PROC [NEAR|FAR]<br />

Código<br />

RET<br />

Nombre ENDP<br />

Don<strong>de</strong> NEAR se utiliza para procedimientos en el mismo programa, FAR<br />

cuando vienen <strong>de</strong> otro lado, RET es un return o regreso. Si falta este marcará un<br />

error. ENDP es para terminar el procedimiento.<br />

XOR AX, AX es un operador lógico. Su tabla <strong>de</strong> verdad es:<br />

X Y Resultado<br />

Falso Falso Falso<br />

Falso Verda<strong>de</strong>ro Verda<strong>de</strong>ro<br />

Verda<strong>de</strong>ro Falso Verda<strong>de</strong>ro<br />

Verda<strong>de</strong>ro Verda<strong>de</strong>ro Falso<br />

Lo que hace es que, si hay algo almacenado en AX, lo va a eliminar,<br />

limpiando así el registro. Otra manera <strong>de</strong> hacer esto es enviarle ceros <strong>de</strong> la<br />

siguiente manera<br />

MOV AX, 0H<br />

Esto es <strong>de</strong> gran utilidad cuando se requiere limpiar un registro para evitar<br />

que los datos manejados se empalmen y se genere “basura” (que es cuando<br />

aparecen caracteres que no <strong>de</strong>berían aparecer al mostrar un resultado).<br />

MOC CX,8 es para iniciar en contador en 8, esto para que la función<br />

LOOP sepa cuántas veces <strong>de</strong>be <strong>de</strong> repetir el ciclo.<br />

ASCII1:<br />

84

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

Saved successfully!

Ooh no, something went wrong!