Unidad2 Ensamblador 140403112958 Phpapp01

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 48

Rutinas de

servicio
Interrupciones de BIOS y
DOS
Imprimir cadena sin color
 MOV AH,9
 LEA DX, NOMBRE_CADENA
 INT 21H

 Nota: La cadena debe finalizar con „$‟


EJEMPLO
 Pantalla programa P3_U2.ASM

 Haga
un programa que escriba su
nombre.
EJEMPLO para añadir
RETORNO DE CARRO
 P3_U2_B.ASM
BORRAR PANTALLA
 Paraborrar pantalla se utiliza el siguiente
conjunto de código:

MOV AH,0FH
INT 10H
MOV AH,0H
INT 10H
EJEMPLO
 P2_U2.ASM
POSICIÓN DEL CURSOR
MOV AH,2
MOV DH,NÚMERO_RENGLÓN
MOV DL,NÚMERO_COLUMNA
MOV BH,0
INT 10H
EJEMPLO
 P5_U2.ASM
Instrucción XCHG
 Lineal1.asm
IMPRIMIR CARACTER
MOV AH,10
MOV BH,0
MOV CX,1; Número de veces
MOV AL,<<CARACTER A ESCRIBIR>>
INT 10H
EJEMPLO IMPRIMIR CATACTER
 C1.ASM
 [ETIQUETA:] NEMOTECNICO

"SWICH"E "IF", ya que estas sentencias no existen como tal.

Nota: Se aplican las mismas reglas para definición de variables, la definicion de


etiquetas.

El campo NEMOTÉCNICO especifica la instrucción y el campo operandos


dependerá del nemotécnico.

El campo COMENTARIOS PERMITE DOCUMENTAR UN PROGRAMA.

Ejemplos: 1. Sumar ADD, AX,BX ; Realiza la suma


Una instrucción con los 4 campos

2. CMP ah,'e'
Una instrucción con Nemotécnico y operandos.
 Simulacion de un ciclo 'FOR'

 Estructura:

 MOV CX,[Numero_de_veces]

 Nombre_etiqueta:

 [Código que se repetirá CX veces]
 LOOP Nombre_etiqueta

 LOOP. Decrementa automáticamente CX, si el


contenido de CX es diferente de CERO satará a la
etiqueta especificada en LOOP.
 Diseñe
un programa en ensamblador que imprima
tu nombre 10 veces.
mov cx,10
bucle:
mov ah,9
mov dx, offset nombre
int 21h
loop bucle
LOOP2.asm
 Diseñeun programa que imprima tres columnas de
tu nombre en tres posiciones diferentes de la
pantalla.
LOOP3.ASM
 Diseñe un programa en ensamblador que realice lo siguiente:
 A) Declarar un arreglo con 20 caracteres.
 B) Con dicho arreglo imprima una columna en el centro de la pantalla
 C)Imprima con el arreglo de caracteres una diagonal a lo largo del
monitor
Números Empaquetados
 Digitodecimal codificado en binario
 BCD empaquetado = 2 digitos decimales
por byte. 00-99
 BCD no empaquetado = 1 digito decimal
por byte. 0-9
MUL (Multiplicación para
numeros con signo)
Sintaxis:
MUL operando 1
El operando2 siempre deberá estar
almacenado en AL, AX, EAX

Ejemplo:
mov al,5
mov bl,4
mul bl
CMP
 Esta instruccion indica una comparación entre dos
operandos, funciona como una resta con la diferencia de
que no afecta el destino, únicamente los indicadores.

 Sintaxis:
CMP Operando1, Operando2

Trabaja junto con los saltos para formar estructuras de control tal
como el „if‟
_____________________Todos vienen seguidos de una etiqueta
JA.- Salta si mayor
JB.- Salta si menor
JAE.- Salta si mayor o igual.
JBE.- Salta si menor o igual.
JE.- Salta si igual
JZ.- Salta si cero
_____________________Salto condicional
JMP
Interrupcion para tecla con
codigo de rastreo
 Mov ah,0 Tecla AH AL
Arriba 48H 0
 Int 16h
Abajo 50H 0
Derecha 4DH 0
Izquierda 4BH 0
Enter 13
F1 0
… 0…
F10 0
Escape 27
 Códigode rastreo: Número de tecla en el teclado,
también es universal o un estandard

 Mov ah,0
 Int 16h
 Regresa AH=Código de rastreo AL=Valor ASCII
Tecla1.asm
 Diseñaun programa en ensamblador que
imprima el mensaje correspondiente a la
flecha presionada, repita hasta que el
usuario presiona escape.
Tecla2.asm
 Diseñe un programa en ensamblador que
realice lo siguiente:
a) Imprime el mensaje “Lenguaje
ensamblador” en el centro de la
pantalla
b) Haz que navegue el cursor a travéz del
mensaje, tomando únicamente las
flechas  
Proyecto unidad 2, unidad 3,
unidad 4.
El proyecto consiste en crear avances desde la unidad 2 hasta la
unidad 4 bajo las siguientes reglas:
a) Para el avance del proyecto de la unidad 2 se realizaran dos
dias de exposiciones por comunidad. 29 y 30 de marzo.
b) Al final de cada exposición se realizará una sesión de preguntas
donde se eligirá el integrante de la comunidad que deberá
responder (al azar). Si el seleccionado para responder no logra
defenderse provocará que toda la comunidad no tenga el 20%.
c) Cualquiera que sea la razón de que una comunidad no apruebe
o no entregue el avance sólo podrá presentarlo hasta el 5 de
junio quedando pendiente la calificacion de la unidad 2
d) Revisar las reglas de exposición (formalidad de los expositores,
dominio del tema, entrega de folletos, etc.)
Lectura de cadena
ensamblador
Lenguaje ensamblador nos proporciona una
interrupción que nos permite realizar de cadena
desde teclado (Cadena teclado a buffer).
El formato para dicha lectura debe ser el siguiente:

0 1 2 3 … N

No. de No. de
caracteres a caracteres Cadena leída mas
leer mas Enter. leído. Enter.
Cadena1.asm
 Diseñe un programa en ensamblador que
realize la lectura de tu nombre y lo
imprima nuevamente a modo de
verificación.
Cadena2.asm
 Diseñe un programa en ensamblador que
realice la lecutra de 5 datos generales de
una persona, divida la pantalla con una
linea de cualquier caracter e imprima e
imprima nuevamente los 5 datos
generales leídos.
Manejo de color por caracteres y
cadena (atributo)
 Byte de color

8 4 2 1 8 4 2 1
Blink o
parpadeo

Color del fondo Color de la letra


 Para imprimir ya sea caracter o cadenas con color
es necesario definir lo que se conoce como el byte
de color, donde el nibble inferior es el color de la
letra y el nibble superior, es el color del fondo, a
todo esto se le conoce como el byte del color.

 Para ello es necesario definir la tabla de color.


Número Color Número Color Número Color
0 Negro 8 Gris 15 Blanco
brillante
1 9 Azul claro
2 Verde 10 Verde claro
3 Cyan 11 Cyan claro
5 Magenta 12 Rojo claro
6 Castaño 13 Magenta claro
7 Blanco 14 Amarillo
Interrupción imprimir caracter
con color
MOV AH,9
MOV AL,CARACTER
MOV CX,MVECES
MOV BH,PAGINA
MOV BL,ATRIBUTO
INT 10H
Interrupcion para imprimir
cadena con color

MOV AH,19
MOV CX,LONGITUD
MOV DH,RENGLON
MOV DL,COLUMNA
LEA BP,CADENA
MOV AL,MODO
MOV BL, ATRIBUTO
INT 10H
Color1.asm
 Diseñeun programa en ensamblador que
imprima tu nombre en el centro de la
pantalla con letras amarillas y fondo azul.
Color2.asm
 Modificarcolor1.asm de tal manera que
imprima el modo AL=1 letras blancas y
fondo Rojo
 BL=47h
Color3.asm
 Haciendo uso de la interrupción 19 de la 10h, imprima HOLA
de la sig. manera:
 H-Letras negras fondo blanco (70h)
 O-Letras roja fondo azul (14H)
 L-Letras verdes fondo negro(02H)
 A-Letras amarillas fondo rojo(4EH)
Número 8 proyecto B
 Tareas para mañana:
Color4.asm.- Diseñe de manera individual la
pantalla para una factura, incluye los colores
de tu comunidad. Además añade el menú que
deberá ir en dicha factura.

Diseña la descripcion de un proyecto que


aplicarias en territorio nayarita donde podrias
aplicar conocimientos del lenguaje
ensamblador. Estar al pendiente del correo
para la definicion de los proyectos.
Gusano.asm
 Diseñe un programa en
ensamblador que permita dibujar
un gusano con el caracter
asterisco de manera dinámica a
travéz de las flechas, validar los
límites del monitor. El programa
termina una vez que se presiona
la tecla escape.

 La posición inicial del caracter


será en las coordenadas
Gusa_c.asm

 Modificar de tal manera, que el caracter


cambie de color navegando desde el
color 1 hasta el color 15, una vez que
llegue al color 16 reinicial al color 1
Relación de proyectos
a) Aplicación biometrica
b) Transporte según concepto de jose luis hernandez no. 20
c) Aplicación para granjas/estanques/ hibernaderos
d) Aplicación de domótica
e) Aplicación hotelera

Qué se evaluará?

Parte 1 proyecto unidad 2


1) Se evaluará la parte visual de todas y cada una de las pantallas
que integrarán el sistema.
2) Todas las pantallas deberán permitir la captura de la
información, es decir la entrada de datos por pantalla.
3) Investigación referente al proyecto asignado.
Parte 2 proyecto unidad 3
1) Integración de macros y procedimientos
2) Manejo de archivos para el almacenamiento
de datos (archivos de texto)

Parte 3 proyecto unidad 4 (Programacion híbrida)


1) Se propone como lenguaje de programación
Delphi aunque puede utilizar C.
2) Se integraran en este proyecto todas aquellas
funciones que no conviene implementar en un
lenguaje de bajo nivel.
3) Las aplicaciones desarrolladas en
ensamblador se mandarán llamar desde
Delphi.
Reglas de exposición
1) Puntualidad de todos los expositores.
2) Todos los integrantes de la comunidad
deberán presentarse de manera formal.
3) La comunidad deberá estar perfectamente
organizada.
4) Reservar el cañón y el audiovisual.
5) Folletos para los participantes.
6) Detalles para los participantes.
7) Todos los integrantes de la comunidad
deberán mostrar dominio del tema, de lo
contrario no aprobará la comunidad.
8) Entrega de boletas para los participantes.
9) Respetar el tiempo de exposición.
Cursor1.asm
a) Coloque el cursor en el reglón 12, columna 40.
b) Modifique el tamaño del cursor.
c) Espere una tecla para hacer una pausa.
Cursor2.asm
a) Coloque el cursor en el renglón 3,
columna 5
b) Obtenga la posición del cursor e
imprima las coordenadas obtenidas.
Matriz1.asm
a) Defina 3 matrices de 4x4 definidas como db
b) La matriz 1 y la matriz 2 tienen valores inicializados con digitos del 0 al 9
y la matriz 3 esta inicializada a 0
c) Implemente un menu para la suma, resta y multiplicación
d) Imprima el resultado en la matriz 3
Scroll
Ensamblador incluye dos interrupciones que nos permiten realizar un scroll
o enrollamiento de la pagina ya sea hacia arriba o hacia abajo, si se
realiza un enrollamiento hacia arriba de x numero d líneas se pierde la
parte superior el numero de líneas desplazadas y si se realiza un
enrollamiento hacia abajo se pierde el numero de líneas desplazadas en
la parte inferior. Las interrupciones para el desplazamiento son:

Scroll hacia arriba:


MOV AH,6
MOV AL,NUMERO DE LINEA
MOV CH, FILA ESQUINA SUPERIOR IZQUIERDA
MOV CL, COLUMNA ESQUINA SUPERIOR IZQUIERDA
MOV DH, FILA ESQUINA INFERIOR DERECHA
MOV DL, COLUMNA ESQUINA INFERIOR DERECHA
MOV BH, ATRIBUTO DE LAS NUEVAS LINEAS
INT 10H

Scroll hacia abajo:


MOV AH,7
MISMOS PARAMETROS
INT 10H
Scroll1.asm
Diseñe un programa en ensamblador que realize
lo siguiente:
a)Imprima el mensaje “lenguaje ensamblador” en
el renglón 0 columna 15
b)Espere una tecla, realize un scroll de una linea
hacia arriba de toda la pantalla del monitor.
c)Espere una tecla y finalize
Scroll2.asm
Diseñe un programa en ensamblador que realice:

a) Imprime 24 proverbios chinos cada proverbio es un renglon


iniciando desde el renglon 0 hasta el 24.
b)Espera una tecla
c)Desplaza un solo scroll de 12 renglones Qué pasa?
Scroll3.asm
 Diseñe un programa en ensamblador
que:
 A) imprima un mensaje en el renglón 24
 B) Haga que el mensaje se desplace con
cada tecla un renglon hacia arriba
 C)Una vez que llegue al renglon 0 que se
pierda y aparezca en el renglon 24
 D)Que realice 3 vueltas
Software educativo (miercoles)

Diseñe un programa en ensamblador que


reaccione al siguiente menú:
Menú
1.-Vocales
2.-Sumas
3.-Restas
4.-Consonantes
5.-Salir
En cada opcion hay 5 ejercicios para los niños.
Califica el numero de aciertos y errores.

También podría gustarte

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy