Está en la página 1de 4

codigos en lenguaje ensamblador

Que tal amigos programadores aki les dejo unos codigos my utiles en el
famoso lenguaje ensamblador primeramente aprenderemos a limpiar la
pantalla que lo podemos hacer con las siguientes instrucciones

mov ax,0600h

mov bh,07h

mov cx,0000h

mov dx,184fh

int 10

*en la primera instruccion(mov ax,0600h) limpia la pantalla loque queremos hacer.

*la segunda instruccion (mov bh,07h) nos permite poner un color en la pantalla el 0 es
el color que esta en el fondo y el 7 es es que esta disponible sobre la pantalla, claro
estos son colores que yo puse, sepueden cambiar los conoles cambiando los numeros
pero eso se los dejo al gusto de ustedes.

*la tercera instruccion (mov cx,0000h) es lo que nos permite poner desde donde va a
empezar la limpieza de la pantalla.

*la cuarta instruccion(mov dx,184fh) es lo que mos permite poner hasta donde va a
llegar la limpieza de la pantalla.

* y por ultimos la (int 10h) es la instruccion que nos permite llamar al BIOS y asi
terminar con el proceso de limpieza.

Lo siguiente que veremos es, como desplegar un mensaje en pantalla.

Empezamos con escribir el mensaje que queremos desplegar esto de hace de la


siguiente forma.

mov ah, 09h

lea cx, mensage

int 21h

* en la primera instruccion (mov ah,09h) es lo ke nos permite desplegar el mensaje.


*en la segunda instruccion(lea cx,mensaje) es el que manda a llamar el mensaje en
este caso el mensaje se llama "mensaje" por eso despues de la coma le puse mensaje
este nombre puede variar, debe recordar que al final del mensaje usted tiene que
poner el simbolo $ para que el programa vea que es el final del mensaje.
*en la ultima instruccion (int 21h)llama al BIOS.

"aclaro el mensaje tiene que ser del mismo nombre que le pusiste al principio de lo
contrario marcara un error y no se desplegara el mensaje
(datasg segment
mensaje db"mi nombre es$"
datasg ends )
este es un ejemplo de como declarar un mensaje, el mensaje es lo que esta escrito
entre comillas y termina con $"

El siguiente codigo es para posicionar el curson el cuanquier parte de la


pantalla, para que puedas empezara a escribir desde donde tu le pongas a tu
programa.

Para realizar esto se debera ingresar este conjunto de instrucciones.

mov ah,02h
mov dh,03h
mov dl,0ch
int 10h
* el la primera instruccion (mov ah,02h) es lo que nos permite mover el cursor.
*la segunda instruccion (mov dh,03h) es la direccion de la fila, en este caso yo estoy
posicionando el cursor en la fila 3 (hexadecimal).
*en la tercera instruccion (mov dl,0ch) es la direccion de la columna, en esta caso
tambien yo estoy posicionando el cursor en la columna 12 solo que esta en
hexadecimal.
*y por ultimo mandamos a llamar al BIOS.

El siguiente codigo nos permitira leer un caracter con eco.


Leer un caracter con eco quiere decir que al leer el caracter, este lo mostrara y lo
podemos hacer con el siguiente codigo.

mov ah,01h
int 21h

*La primera instruccion (mov ah,01h) es lo que nos permite leer el caracter con eco,
cabe destacar que yo estoy utilizando esta funcion(01h) pero hay otros tambien .
*En el ultimo solo mandamos allamar el BIOS y listo.

Este codigo nos permitira leer un caracter sin eco.


Leer un caracter sin eco quiere decir que al pulsar un caracter esta no se mostrara
hasta que hagamos un metodo para desplegar el caracter.

mov ah,07h
int 21h

*En la primera instruccion (mov ah,07h) nos permite leer el caracter sin eco, al igual
que el codigo anterior aqui tambien hay otras funciones mas.
* Y por ultimo mandamos a llamar al BIOS.
"este codigo puede ser util, cuando queramos que nuestro programa acepte solo
algunos caracteres en especifico".

Codigo para desplegar un solo caracter.


Algunas veces queremos imprimir cualquier caracter y para lograr eso el siguiente
codigo no sera de utilidad.

mov ah,0eh
mov al, '@'
int 10h

* en la primera instruccion (mov ah,0eh) es la funcion para poder imprimir un caracter


*en la segunda instruccion (mov al, '@') es lo que nos permite imprimir el caracter en
este caso el caracter es @ y se almacena en ' al ' en este codigo le puse el arroba pero
tambien esto puede variar, por ejemplo para imprimir un caracter del codigo ascii solo
puedes poner el numero en hexadecimal equivalente al codigo pero solo se quitan los
apostrofes( ' ' ) es solamente el puro numero pero no olvides que si pones ay
directamente el caracter es son apostrofes.
* por ultimo mandamos a llamar al BIOS con la interrupcion 21 (int 21h).

Los siguientes codigos son para empilar y desempilar (push) y (pop)


Al hablar de empilar me refiero a ingresar un dato o registro en una pila (un espacio
para guandar elementos)
y desempilar es quitar el dato de alguna pila y para ello utilizaremos los siguientes
codigos.

push ax

* con esta instruccion podemos empilar el registro ax, es decir guardar el contenido
del registro, tambien se pueden empilar los demas registros (bx, cx, dx)

pop ax

* con esta instruccion desempilamos el registro ax, es decir quitamos el contenido del
registro ax de la pila.
nota:
"en las pilas, los datos que se ingresan al principio se desempilan al ultimo y los que se
empilan al ultimo de empilan al principio".

Codigo para obtener la fecha del sistema.

aveces necesitamos obtener la fecha del sistema es por eso que tambien pongo el
codigo para realizar esto.

mov ah,02h
int 21h

*En la primera instruccion (mov ah,02h) es para pedir la fecha del sistema y se
almacenan en los siguientes registros al=dia (en donde 0 equivale a domingo) , cx=
año(que se muestra en hexadecimal), dh=mes(que se muestra del 01 al 12), dl=dia
(que se muestra de 01 al 31) .
* Y por ultimo mandamos a llamar al BIOS para finalizar.

Codigo para obtener la hora del sistema.


Este es el codigo que se utiliza para obtener la hora del sistema.
mov ah,2ch
int 21h
*En la primera instruccion (mov ah,2ch) es para pedir la hora del sistema y se guarda
en los siguientes registros ch=hora, cl=minutos, dh=segundos y cl=centesimas de
segundo
*Por ultimo mandamos a llamar al BIOS y fin.

bueno es todo lo que puedo poner por el momento.

También podría gustarte