3.tercer ejercicio emu8086

7
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 label Saltar hacia la dirección label. - JB etiqueta/JNAE etiqueta Saltar a etiqueta si es menor. - JA etiqueta/JNBE etiqueta Saltar 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.

Transcript of 3.tercer ejercicio emu8086

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.