0 évaluation0% ont trouvé ce document utile (0 vote)
123 vues4 pages
Este documento contiene instrucciones en lenguaje ensamblador para limpiar la pantalla, desplegar mensajes, posicionar el cursor, leer caracteres del teclado, imprimir caracteres individuales, usar la pila, obtener la fecha y hora del sistema e imprimir el código ASCII. Algunas de las instrucciones clave son MOV, INT, PUSH, POP, CALL y LOOP. El código muestra un ejemplo de cómo imprimir el código ASCII usando un ciclo para incrementar el carácter mostrado en cada iteración.
Este documento contiene instrucciones en lenguaje ensamblador para limpiar la pantalla, desplegar mensajes, posicionar el cursor, leer caracteres del teclado, imprimir caracteres individuales, usar la pila, obtener la fecha y hora del sistema e imprimir el código ASCII. Algunas de las instrucciones clave son MOV, INT, PUSH, POP, CALL y LOOP. El código muestra un ejemplo de cómo imprimir el código ASCII usando un ciclo para incrementar el carácter mostrado en cada iteración.
Este documento contiene instrucciones en lenguaje ensamblador para limpiar la pantalla, desplegar mensajes, posicionar el cursor, leer caracteres del teclado, imprimir caracteres individuales, usar la pila, obtener la fecha y hora del sistema e imprimir el código ASCII. Algunas de las instrucciones clave son MOV, INT, PUSH, POP, CALL y LOOP. El código muestra un ejemplo de cómo imprimir el código ASCII usando un ciclo para incrementar el carácter mostrado en cada iteración.
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