Título: Ejercicio ensamblador Publicado por: juank2_7 en 6 Diciembre 2016, 16:54 pm Compañeros hoy vengo a pedirles una gran ayuda, me están solicitando realizar el siguiente ejercicio, pero la verdad no tengo conocimiento alguno en ensamblador, de pronto si alguno de ustedes puede darme una mano, les agradecería.
• Realice el prototipo funcional en lenguaje Ensamblador, que incluya el siguiente menú de opciones: MENÚ 1. Datos del autor. 2. Suma de dos números. 3. Resta de dos números. 4. Multiplicación de dos números. 5. División de dos números. 6. Validar si un número es positivo o negativo 7. Salir • La opción para datos del autor (opción 1), debe imprimir en pantalla: Nombre del estudiante Nombre del colegio Fecha • Las opciones 2, 3, 4 y 5 deben solicitar por teclado dos números de un dígito cada uno. Mil gracias si pueden ayudarme. Título: Re: Ejercicio ensamblador Publicado por: engel lex en 6 Diciembre 2016, 17:03 pm no se hacen tareas se resuelven dudas... muestra tu código y tus avances...
Título: Re: Ejercicio ensamblador Publicado por: BlackM4ster en 7 Diciembre 2016, 14:09 pm MENÚ
1. Datos del autor. :xD ;-) ;-) Título: Re: Ejercicio ensamblador Publicado por: david03 en 15 Mayo 2017, 23:04 pm compañero donde puedo encontrar el programa descrito al inicio por el compañero
Realice el prototipo funcional en lenguaje Ensamblador, que incluya el siguiente menú de opciones: MENÚ 1. Datos del autor. 2. Suma de dos números. 3. Resta de dos números. 4. Multiplicación de dos números. 5. División de dos números. 6. Validar si un número es positivo o negativo 7. Salir • La opción para datos del autor (opción 1), debe imprimir en pantalla: Nombre del estudiante Nombre del colegio Fecha • Las opciones 2, 3, 4 y 5 deben solicitar por teclado dos números de un dígito cada uno. Mil gracias si pueden ayudarme. Título: Re: Ejercicio ensamblador Publicado por: MCKSys Argentina en 15 Mayo 2017, 23:34 pm no se hacen tareas se resuelven dudas... muestra tu código y tus avances... Saludos! Título: Re: Ejercicio ensamblador Publicado por: david03 en 15 Mayo 2017, 23:42 pm no he podido realizar la validación y el salir me pueden ayudar por favor
6. Validar si un número es positivo o negativo 7. Salir Código
· Los códigos deben ir en etiquetas GeSHi >aquí las reglas del foro (http://foro.elhacker.net/reglas.htm) -Engel Lex Título: Re: Ejercicio ensamblador Publicado por: Serapis en 21 Mayo 2017, 18:37 pm Un número negativo, es una convención de acuerdo.
Aunque pueden proveerse diferentes formas de usar números negativos, al comienzo del diseño de la lógica del hardware, se vio claro que: x - x = 0 0 - 1 = -1 -1 + 2 =1 1 - 1 = 0 Luego en binario debería ser igual... entonces se encontró que la forma de hacelro igual es que el último bit (el de más peso), tiene la función asignada del signo. Así, éste valor: 1111.1111 puede significar 2 valores si no admite números negativos es 255, pero si es un número negativo, será -1 Por tanto que sea positivo o negativo, depende del tipo de datos declarado. Sin más datos al respecto (por ejemplo podríamos estar trabajando con datos BCD) lo más que se puede hacer es verificar el bit de más peso. Hay varias maneras... una podría ser haciendo desplazamiento (o rotaciones) a la izquierda (multiplicar por 2) y consultar luego el banderín de Acarreo (incluso el de desbordamiento). Si hubo acarrero, es porque es ebit estaba a 1, por tanto es negativo. Código También se puede hacer con RCL, RCR, ROL y ROR, pero tienes que controlar que contiene previamente el acarrero. en cualquier caso, el registro afectado (al), queda modificado... Estudia el comportamiento (condiciones) de los banderines de acarreo y desbordamiento en este tipo de operaciones: Rotaciones y Desplazamientos. Otra forma es comparar el bit 7 del valor con un valor inmediato que tiene ese bit a 1 y el resto a 0, es decir con 128 Código
El segundo método es superior, por su sencillez. La ventaja del 2º método sobre el primero, es que el 2º, no modifica el estado del registro 'al', en el 1º, se ha multiplicado por 2 y como operamos con un byte, si era negativo, el valor queda truncado (el valor de ese bit se conserva en el banderín, por si se precisa). Para devolver una llamada a una función usas RET x (Retorno, Return, x es un parámetro opcional que se suma al registro SP, para descartar parámetros de llamada), y para Salir, se usan directivas end: END, END modulo, ENDM para fin de una macro... etc... esto puede variar ligeramente según el ensamblador usado, pero varían poca cosa entre sí. Código
|