Vous êtes sur la page 1sur 4

Tuesday 21 april

Instrucciones para Lenguaje Ensamblador(1


Parte)
"Estas son algunas instrucciones basicas de codigo ensamblador... "
a) codigo para limpiar pantalla
mov ax,0600h ;ah 06(es un recorrido), al 00(pantalla completa)
mov bh,71h ;fondo blanco(7), sobre azul(1)
mov cx,0000h ;es la esquina superior izquierda reglon: columna
mov dx,184Fh ;es la esquina inferior derecha reglon: columna
int 10h ;interrupcion que llama al BIOS
esta funcion limpia la pantalla aciendo un recorrido por toda la
pantalla, el fondo de la pantalla se define por bh los color 71h que
es fondo blanco(7), fuente azul(1); CX: son los renglo: columno
iniciales; DX: son los reglon: columno finales

b) codigo para desplegar un mensaje en pantalla
mov ah,09h ;peticion para desplegar
lea dx,msg ;cargar la dirrecion de la indicacion
int 21h ;llama al DOS
la funcion 09h despliegua una cadena en el area de datos, utiliza lea
para cargar la direccion de cadena en DX; la operacion despliega los
caracteres de izquierda a derecha.


c) codigo para posicionar el cursor en cualquier parte de la pantalla
cursor:
mov ah, 02h ; peticion para colocar el cursor
mov bh,00 ; nmero de pgina
mov dh, 05 ;fila 05
mov bl, 12 ;columno 12
int 10h ;interrupcion que llama al BIOS
la funcion 02h indica la operacion que coloca al cursor, se carga el
numero de pagina o pantalla, y la fila y columna en que se colocara


d) codigo para leer caracter con eco
mov ah,01h ;peticion de leer caracter
int 21h ;llama al DOS
la funcion 01h indica la operacion para leer un caracter desde el
teclado, caracter con eco quiere decir: que cuando pulsas un caracater
se imprime en la pantalla enseguida


e) codigo para leer caracter sin eco
mov ah,07h ;petici de leer caracter
int 21h ;llama al DOS
la funcion 07h o tambien 08h ambas indica la operacion para leer un
caracter desde el teclado, caracter sin eco quiere decir: que cuando
pulsas un caracater no es impreso el carcater pulsado hasta que se
manda imprimir con otra funcion

Instrucciones para Lenguaje Ensamblador(2
Parte)
F) CDIGO PARA DESPLEGAR UN SOLO CARCTER
mov ah,0eh ;peticin para desplegar
int 10h ;llama al BIOS
la funcin 0eh utiliza al monitor como terminal para
despliegue simple, establece la funcin 0eh en ah, el
carcter para desplegar, esta funcin es utilizada para
imprimir el carcter sin eco de las funciones 07h y 08h que
son funciones de control de retroceso

G) INSTRUCCIONES DE PILA
push ax ;empilar
;-----------------------------------
pop ax ;desempilar

La funcin push realiza la operacin de empilar en el
registro ax, es decir: guarda datos temporalmente; tambin
bx, cx, dx
La funcin pop su operacin es desempilar es decir manda a
llamar los datos almacenados que se encuentran en la pila
en el registro guardado al igual al push solo ocupa los
registros: ax, bx, cx, dx

H) OBTENER FECHA DEL SISTEMA
mov ah, 2ah
int 21h
La funcin 2ah es utilizada para obtener la fecha actual
del sistema se muestra en los siguientes registros AL:
da(donde 0=domingo); CX: ao(en formato hextadecimal); DH:
Mes(01 a 12); DL; dia del mes(01 a 31)

I) OBTENER HORA DEL SISTEMA
mov ah, 2ch
int 21h
La funcin 2ch es utilizada para obtener la hora del
sistema actual se guarda en los registros siguientes: en
CH: hora; CL: minutos; DH: segundos; CL:
milisegundos(mximo 99)

Instrucciones para Lenguaje Ensamblador(3
Parte)
J) IMPRIMIR EL CODIGO ASCII
; es codigo esta compuesto por instrucciones que se muestran en la 1 y 2 parte, y solo explicarecomo
va funcionando algunas de la intrucciones que se colocaron
TITLE EXAMEN

stacksg segment para stack 'stack' ; el stack define el segmento de pila

db 64 dup (0) ; el tamao de la pila es de 64 bytes
stacksg ends

datasg segment ; se define un segmento de datos no siempre se declaran en un programa

col db 0 ; se declaran filas y columnas inicialisadas con 0
fil db 0
datasg ends
codesg segment ; se define un el codigo de segmento donde se programan la intrucciones
assume cs:codesg,ds:datasg,ss:stacksg ;especifica el segmento de registro

main proc far ;el procedimiento principal
push ds ;empila temporalmente el contenido de segmento de datos
mov ax, datasg

mov ds, ax

limpiar_pantalla: ;estas son equitetas son las que identificas algunas instrucciones
mov ax, 0600h
mov bh, 07h
mov bh,71h

movcx,0000h
mov dx,184Fh
int 10h


mov cx, 226 ;cx es utilizado como contador es las veces que realizara el ciclo

mov ah,' '

ciclo:

mov ah, 02 ;coloca el cursor
mov dh, fil ; fil comienza con la posicion 0 igual que col ya que son la fila y
columna

mov dl, col ;conforme el ciclo aunmenta tambien la posicion de fil y col

mov bh, 0
int 10h

inc fil ;incrementa fil (la fila)
cmp fil, 20 ;realiza una comparacion del valor que se encuentra en fil si este es 20
jne mostrar ;si lo anterior no es igual salta a la etiqueta mostrarsi es igual continua
la

mov fil, 0 ;esta instruccion
add col, 2 ;suma add=suma es decir suma 2 a col (la columna)
mostrar:

mov ah, 0eh
int 10h
inc al ;incrementa para el siguiente carcater "al" ya que hay se encuentra guardado
loop ciclo
cursor:

mov ah, 02

mov dh, 22
mov dl, 0
mov bh, 0

int 10h
fin:

mov ax, 4ch ;esta funcion siempre se coloca al final ya que es la

int 21h ;termina con toda la ejecucion del programa
mainendp
codesgends
endmain
end

Vous aimerez peut-être aussi