Transcript
Page 1: 3.tercer ejercicio emu8086

1) El programa nos pide que ingresemos un numero para comprobar si el numero ingresado es mayor a 5 o menor, de la misma manera nos dice que si queremos salir del programa tecleemos cualquier otro carácter que no sea un número.

2) -la instrucción (mov dx) es lo que nos permite poner hasta donde va a llegar la limpieza de la pantalla.-La ultima instrucción (int 21h) llama al BIOS.-La instrucción (mov ah) es lo que nos permite desplegar el mensaje.- msg1 db "enter a number or any other character to exit: $"equal_5 db " is five! (equal)", 0Dh,0Ah, "$"below_5 db " is below five!" , 0Dh,0Ah, "$"above_5 db " is above five!" , 0Dh,0Ah, "$"Este es un ejemplo de cómo declarar un mensaje, el mensaje es lo que está escrito entre comillas y termina con “$”.-La instruccion (mov ah,02h) es lo que nos permite mover el cursor.- Instrucciones de transferencia Son utilizadas para mover los contenidos de los operandos. Cada instrucción se puede usar con diferentes modos de direccionamiento.MOV.- JMP labelSaltar hacia la dirección label.- JB etiqueta/JNAE etiquetaSaltar a etiqueta si es menor.- JA etiqueta/JNBE etiquetaSaltar a etiqueta si es mayor.

3) nombre "banderas"

org 100h

; esta muestra muestra cómo conjuntos de instrucciones cmp las banderas. ; por lo general la instrucción de cmp es seguida de cualquier pariente ; instrucción de salto como: je, ja, jl, jae... ; se recomienda hacer clic en "banderas" y "analizar" ; para mejor expirience visual antes de andar a través de este código.

; (firmado/no firmado) ; 4 es igual a 4mov ah, 4mov al, 4cmp ah, al nop

; (firmado/no firmado); 4 Está por encima de y superior a 3 mov ah, 4mov al, 3cmp ah, alnop

Page 2: 3.tercer ejercicio emu8086

; -5 = 251 = 0fbh

; (Firmado); 1 Es superior a -5mov ah, 1mov al, -5cmp ah, alnop

; (Sin firmar) ; 1 es inferior a 251mov ah, 1mov al, 251cmp ah, alnop

; (Firmado) ; -3 es inferior a -2mov ah, -3mov al, -2cmp ah, alnop

; (Firmado) ; -2 es superior a -3mov ah, -2mov al, -3cmp ah, alnop

; (Sin signo) ; 255 es superior a 1mov ah, 255mov al, 1cmp ah, alnop

; ahora un pequeño juego: juego:mov dx, offset msg1 mov ah, 9 int 21h

; lea el carácter en al: mov ah, 1 int 21h

cmp al, '0' jb stop

cmp al, '9'

Page 3: 3.tercer ejercicio emu8086

ja stop cmp al, '5' jb below ja above mov dx, offset equal_5 jmp print

Debajo: mov dx, offset below_5

jmp print

Sobre: mov dx, offset above_5

Imprimir: mov ah, 9

int 21h jmp juego ; Bucle.

parada: ret; parada

msg1 db " Introduzca un número o cualquier otro carácter para salir: $"

equal_5 db " es cinco! (igual)", 0Dh,0Ah, "$"

below_5 db " es menor a cinco!" , 0Dh,0Ah, "$"

above_5 db " es mayor a cinco!" , 0Dh,0Ah, "$"

4)

Codigo del programa:

En este programa la idea es que aparezca el nombre de los que hicieron el trabajo y uno pueda ingresar un numero y le diga si es igual, menor o mayor a cinco, también mostraremos el desarrollo de las banderas en estos casos.

Page 4: 3.tercer ejercicio emu8086

Al ejecutar el programa se puede ver un cambio en IF automáticamente para el inicio de la operación y al hacerlo correr ocurre lo siguiente.

Ocurre una variación en IF y se pone en 0 ya que se inicio la ejecución.

Page 5: 3.tercer ejercicio emu8086

Desarrollando lo que dice el programa, ocurre una variación en AF, SF y CF en las banderas.

De la misma forma ocurre sucesivamente mientras mas avanzamos por el programa.

Page 6: 3.tercer ejercicio emu8086

Podemos apreciar las variaciones en banderas de todos los tipos, hasta que lo damos por terminado.

Finalizando el programa con cualquier carácter que no sea un numero.


Top Related