SlideShare uma empresa Scribd logo
1 de 8
Baixar para ler offline
Universidad De San Carlos de Guatemala
Facultad de Ingeniería
Escuela de Ciencias y Sistemas
Arquitectura de computadores y ensambladores 1




            Practica 1, (arquitectura de computadores y ensambladores 1)




                                                   Leonel Enrique Rojas Chinchilla
                                                   Carne: 200819162
                                                   Fecha Entrega: 15-03-2011
Introduccio n

Assembler un lenguaje de bajo nivel que permite interaccionar directamente con la memoria y
procesador del equipo de cómputo, este lenguaje tiene funciones muy básicas que solo permiten
la manipulación de hasta 3 direcciones de memoria, siendo así muy extenso un programa que en
un lenguaje de alto nivel sería muy corto.

Uno de los objetivos de esta práctica es graficar un polinomio para dar una mejor percepción de
los sistemas numéricos que se están resolviendo. El modo de video 13h es el que nos permite
dibujar por medio de posiciones en pantalla y cargándolas a memoria, especificando para cada
punto su color.
Objetivo

   Aprender a hacer operaciones básicas en lenguaje assembler.
   Lograr ingresar datos por teclado y poder operarlos.
   Lograr dibujar con el modo 13h.
   Hacer la primera derivada de una función especificada por el usuario.
   Hacer iteraciones de un método para llegar a un resultado satisfactorio.
Contenido

Definición de macros:

Un macro es un pedazo de código que se escribe una sola vez y puede ser utilizado tantas veces
sea necesario por medio de una llamada a macro, dando la ventaja de no reescribir código. Un
macro da la posibilidad de recibir parámetros a la hora de hacer una llamada y así poder usar los
valores que se pasan como parámetros y ejecutar la tarea específica del macro.

Una diferencia importante, un macro puede ser llamado desde diferentes programas mientras
que un procedimiento no. Y la forma de llamar a un macro es como si fuera una instrucción nativa
de assembler, por ejemplo para llamar a un macro llamado “mm” solo es necesario poner “mm”
en asembler sin alguna instrucción extra.

Para la definición de un macro tenemos la siguiente sintaxis:

        NombreDeMacro MACRO [param1,param2,param3]
        Cuerpo…
        Cuerpo…
        Cuerpo…
        ENDM

Sintaxis para llamada a macro:

        NombreDeMacro param1,param2,param3



Otra ventaja importante de la utilización de macros es que se pueden crear librerías y luego
usarlas en diferentes aplicaciones incluyendo el archivo con el comando “include nombreArch”.

Para crear una librería con macros es necesario hacer todos los macros en un archivo y guardarlo
como un archivo de texto, para luego poder importarlo asi como se mencionó antes.
Funciones Assembler utilizadas:


Instrucción   Descripción                                                            Ejemplo
push          empuja un nuevo valor en la pila                                       push op
pop           saca el valor del tope de la pila                                      pop op
mov           copia el valor de op y la ingresa a dest                               mov dest,op
              hace una suma aritmética normal de los dos parámetros y guarda
add           el valor en dest                                                       add dest,op
              hace una resta aritmética normal de los dos parámetros y guarda
sub           el valor en dest                                                       sub dest,op
              hace una división tomando en cuenta el signo, ax/op y lo guarda
idiv          en al                                                                  idiv op
              hace una multiplicación tomando en cuenta el signo, ax*op y lo
imul          guarda en al                                                           imul op
inc           incrementa en una unidad el valor del parámetro especificado           inc op
dec           decremento en una unidad el valor del parámetro especificado           dec op
              carga la dirección de memoria de un registro especificado como
lea           parámetro y lo guarda en dest                                          lea dest, op
              interrumpe la ejecución de una llamada y regresa al punto donde
int           fue llamado                                                            int
call          llama a una etiqueta o procedimiento                                   call identificador
jmp           salta hasta la etiqueta especificada                                   jmp identificador
              salta hasta la etiqueta especificada si los valores de comparación
je            son iguales                                                            je identificador
              salta hasta la etiqueta especificada si los valores de comparación
jne           no son iguales                                                         jne identificador
jae           salta hasta la etiqueta especificada si dest es mayor o igual que op   jae identificador
jbe           salta hasta la etiqueta especificada si dest es menor o igual que op   jbe identificador
              salta hasta la etiqueta especificada si dest es mayor o igual que
jge           op, tomando en cuenta el signo                                         jge identificador
              salta hasta la etiqueta especificada si dest es menor o igual que
jle           op, tomando en cuenta el signo                                         jle identificador
Diagrama de Flujo

                  Inicia




             Pedir metodo a
                 utilizar




                Newton?          no         Esteffensen?          no         Muller?


                    si                           Si                              si


             Pedir datos para             Pedir datos para               Pedir datos para
                 newton                     Steffensen                        Muller




            Ejecutar método de           Ejecutar método de             Ejecutar método de
                  newton                     Steffensen                       Muller




                Graficar las                 Graficar las                   Graficar las
              valuaciones de               valuaciones de                 valuaciones de
                  newton                     steffensen                       muller




                                 Poner modo 13h y empezar a plotear
                                 puntos valuando la funcion ingresada
                                     en un intervalo establecido
Conclusiones


Para implementar métodos numéricos es necesario implementar operaciones complejas como la
raíz cuadrada por medio de operaciones muy simples como la suma y multiplicación.

Para poder dibujar es necesario usar instrucciones del método 13h y hacer uso de arreglos para
dibujar figuras predefinidas.

El uso de procedimientos y macros es fundamental para poder manejar correctamente los saltos y
comparaciones.

Para hacer comparaciones es necesario utilizas sentencias como je, jne, jg, jl, jbe,ja,jae,jb,etc…
Recomendaciones

   Para el aprendizaje se recomienda utilizar la página abrelosojosensamblador.com en la
    cual se encuentra teoría y ejemplos de manejo de assembler en fasm, tasm, asm, etc. Por
    lo que se facilita hacer pruebas.
   El uso de fasm y otros ides solo es posible en sistemas operativos que tengan una
    arquitectura de 32 bits por lo que se recomienda instalar una máquina virtual y manejar
    assembler allí.
   También es recomendable usar dosbox para la programación para evitar posibles
    problemas en el código que el programador ingresa y causar algún daño al equipo.
   Sino se cuenta con un ide fácil de usar se recomienda usar emu8086 en el cual se posee
    una consola de debug para poder llevar control de los valores de los registros y ejecutar
    paso a paso.

Mais conteúdo relacionado

Mais procurados

Algoritmos
AlgoritmosAlgoritmos
AlgoritmosMaye Re
 
Tortugarte primitivas v3
Tortugarte primitivas v3Tortugarte primitivas v3
Tortugarte primitivas v3ctepay
 
métodos procedimimientos estructuras de control java
métodos procedimimientos estructuras de control javamétodos procedimimientos estructuras de control java
métodos procedimimientos estructuras de control javaHenry Upla
 
Estructuras de control en Java
Estructuras de control en JavaEstructuras de control en Java
Estructuras de control en Javaquesada_diego
 
Sentencias de repetición en Java
Sentencias de repetición en JavaSentencias de repetición en Java
Sentencias de repetición en JavaJdcaste
 
Javacript: expresiones e instrucciones
Javacript: expresiones e instruccionesJavacript: expresiones e instrucciones
Javacript: expresiones e instruccionesjcremiro
 
C2 fundamentos de java v2
C2 fundamentos de java v2C2 fundamentos de java v2
C2 fundamentos de java v2Mariano Galvez
 
Programación básica (pseudocodigos)
Programación básica (pseudocodigos)Programación básica (pseudocodigos)
Programación básica (pseudocodigos)francysrangel
 
Curso Java Inicial 3 Sentencias De Control De Flujo
Curso Java Inicial   3 Sentencias De Control De FlujoCurso Java Inicial   3 Sentencias De Control De Flujo
Curso Java Inicial 3 Sentencias De Control De FlujoEmilio Aviles Avila
 
Estructuras De Control
Estructuras De ControlEstructuras De Control
Estructuras De ControlUPS
 
Vianey Hernandez Lopez
Vianey Hernandez LopezVianey Hernandez Lopez
Vianey Hernandez Lopezvianeylopez21
 

Mais procurados (20)

05 - Funciones en lenguaje C
05 - Funciones en lenguaje C05 - Funciones en lenguaje C
05 - Funciones en lenguaje C
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Tortugarte primitivas v3
Tortugarte primitivas v3Tortugarte primitivas v3
Tortugarte primitivas v3
 
C facil de_v2
C facil de_v2C facil de_v2
C facil de_v2
 
métodos procedimimientos estructuras de control java
métodos procedimimientos estructuras de control javamétodos procedimimientos estructuras de control java
métodos procedimimientos estructuras de control java
 
Programacion
ProgramacionProgramacion
Programacion
 
Estructuras de control en Java
Estructuras de control en JavaEstructuras de control en Java
Estructuras de control en Java
 
Las Potencias
Las PotenciasLas Potencias
Las Potencias
 
Modelo Simulado
Modelo SimuladoModelo Simulado
Modelo Simulado
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Sentencias de repetición en Java
Sentencias de repetición en JavaSentencias de repetición en Java
Sentencias de repetición en Java
 
Javacript: expresiones e instrucciones
Javacript: expresiones e instruccionesJavacript: expresiones e instrucciones
Javacript: expresiones e instrucciones
 
PRACTICA 14
PRACTICA 14PRACTICA 14
PRACTICA 14
 
C2 fundamentos de java v2
C2 fundamentos de java v2C2 fundamentos de java v2
C2 fundamentos de java v2
 
Pseudocódigo
PseudocódigoPseudocódigo
Pseudocódigo
 
Programación básica (pseudocodigos)
Programación básica (pseudocodigos)Programación básica (pseudocodigos)
Programación básica (pseudocodigos)
 
Curso Java Inicial 3 Sentencias De Control De Flujo
Curso Java Inicial   3 Sentencias De Control De FlujoCurso Java Inicial   3 Sentencias De Control De Flujo
Curso Java Inicial 3 Sentencias De Control De Flujo
 
Estructuras De Control
Estructuras De ControlEstructuras De Control
Estructuras De Control
 
Dotnetmania 9 pag_21_29
Dotnetmania 9 pag_21_29Dotnetmania 9 pag_21_29
Dotnetmania 9 pag_21_29
 
Vianey Hernandez Lopez
Vianey Hernandez LopezVianey Hernandez Lopez
Vianey Hernandez Lopez
 

Destaque (20)

Buenas prácticas docentes
Buenas prácticas docentesBuenas prácticas docentes
Buenas prácticas docentes
 
METACOGNICION Y TEORIAS DEL APRENDIZAJE
METACOGNICION Y TEORIAS DEL APRENDIZAJE METACOGNICION Y TEORIAS DEL APRENDIZAJE
METACOGNICION Y TEORIAS DEL APRENDIZAJE
 
Metodo de estudio
Metodo de estudioMetodo de estudio
Metodo de estudio
 
Avisu2
Avisu2Avisu2
Avisu2
 
La Incorporación a las NNTT
La Incorporación a las NNTTLa Incorporación a las NNTT
La Incorporación a las NNTT
 
Vbasic60
Vbasic60Vbasic60
Vbasic60
 
Raton laveur
Raton laveurRaton laveur
Raton laveur
 
Tecnologia andres areiza
Tecnologia andres areizaTecnologia andres areiza
Tecnologia andres areiza
 
1111
11111111
1111
 
Presentación1
 Presentación1 Presentación1
Presentación1
 
Com 05 2011
Com 05 2011Com 05 2011
Com 05 2011
 
Rodrigo miguel tsunami
Rodrigo miguel tsunamiRodrigo miguel tsunami
Rodrigo miguel tsunami
 
Diego betwin
Diego betwinDiego betwin
Diego betwin
 
CONECTA al mundo
CONECTA al mundoCONECTA al mundo
CONECTA al mundo
 
Actividad # 2
Actividad # 2Actividad # 2
Actividad # 2
 
Nuevo Concepto De Compania Ti
Nuevo Concepto De Compania TiNuevo Concepto De Compania Ti
Nuevo Concepto De Compania Ti
 
Media kit binb 2011
Media kit binb 2011Media kit binb 2011
Media kit binb 2011
 
Ventas mes octubre p133
Ventas mes octubre p133Ventas mes octubre p133
Ventas mes octubre p133
 
Hashtable
HashtableHashtable
Hashtable
 
Esta gran lectura la comenzamos el 11 de febrero con la profesora ullenid la ...
Esta gran lectura la comenzamos el 11 de febrero con la profesora ullenid la ...Esta gran lectura la comenzamos el 11 de febrero con la profesora ullenid la ...
Esta gran lectura la comenzamos el 11 de febrero con la profesora ullenid la ...
 

Semelhante a Practica1 arquitectura de computadores 1 usac - metodos numericos -asm-

Lenguajec intorduccionui
Lenguajec intorduccionuiLenguajec intorduccionui
Lenguajec intorduccionui3dwin3
 
OKDFNSDKJFNSKDJFBNSDKJFNDSKJFNSDKFNSDKJFNDKSJFN
OKDFNSDKJFNSKDJFBNSDKJFNDSKJFNSDKFNSDKJFNDKSJFNOKDFNSDKJFNSKDJFBNSDKJFNDSKJFNSDKFNSDKJFNDKSJFN
OKDFNSDKJFNSKDJFBNSDKJFNDSKJFNSDKFNSDKJFNDKSJFNWilderHidalgo1
 
Unidad 1 Introducción a los Algoritmos.ppt
Unidad 1 Introducción a los Algoritmos.pptUnidad 1 Introducción a los Algoritmos.ppt
Unidad 1 Introducción a los Algoritmos.pptssuser6eba56
 
conceptos basicos lenguajes de programacion.pdf
conceptos basicos lenguajes de programacion.pdfconceptos basicos lenguajes de programacion.pdf
conceptos basicos lenguajes de programacion.pdfcarlosquiza2
 
Fundamentos de programación.pptx
Fundamentos de programación.pptxFundamentos de programación.pptx
Fundamentos de programación.pptxvrykowayne1
 
Unidad 2 introducción a los algoritmos
Unidad 2 introducción a los algoritmosUnidad 2 introducción a los algoritmos
Unidad 2 introducción a los algoritmosAlexandra Ochoa
 
Programacion MatLab
Programacion MatLabProgramacion MatLab
Programacion MatLabEdgar Galvez
 
Comandos de Raptor,C# y Java
Comandos de Raptor,C# y JavaComandos de Raptor,C# y Java
Comandos de Raptor,C# y JavaAna Ruth G H
 
Unidad 1, 2 y_3_algoritmos
Unidad 1, 2 y_3_algoritmosUnidad 1, 2 y_3_algoritmos
Unidad 1, 2 y_3_algoritmosGrisell d?z
 
Semana 1 - Principios de Algoritmos.pdf
Semana 1 - Principios de Algoritmos.pdfSemana 1 - Principios de Algoritmos.pdf
Semana 1 - Principios de Algoritmos.pdfCarlosJahnsen3
 
Estructuras básicas 3 er periodo.docx
Estructuras básicas 3 er periodo.docxEstructuras básicas 3 er periodo.docx
Estructuras básicas 3 er periodo.docxLuzAngieBolaosOrdoez
 
Estructuras básicas 3 er periodo.docx (1)
Estructuras básicas 3 er periodo.docx (1)Estructuras básicas 3 er periodo.docx (1)
Estructuras básicas 3 er periodo.docx (1)LuzAngieBolaosOrdoez
 

Semelhante a Practica1 arquitectura de computadores 1 usac - metodos numericos -asm- (20)

Unidad II
Unidad IIUnidad II
Unidad II
 
SeúDocodigo
SeúDocodigoSeúDocodigo
SeúDocodigo
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Tecnología Periodo 2.pdf
Tecnología Periodo 2.pdfTecnología Periodo 2.pdf
Tecnología Periodo 2.pdf
 
Lenguajec intorduccionui
Lenguajec intorduccionuiLenguajec intorduccionui
Lenguajec intorduccionui
 
OKDFNSDKJFNSKDJFBNSDKJFNDSKJFNSDKFNSDKJFNDKSJFN
OKDFNSDKJFNSKDJFBNSDKJFNDSKJFNSDKFNSDKJFNDKSJFNOKDFNSDKJFNSKDJFBNSDKJFNDSKJFNSDKFNSDKJFNDKSJFN
OKDFNSDKJFNSKDJFBNSDKJFNDSKJFNSDKFNSDKJFNDKSJFN
 
Unidad 1 Introducción a los Algoritmos.ppt
Unidad 1 Introducción a los Algoritmos.pptUnidad 1 Introducción a los Algoritmos.ppt
Unidad 1 Introducción a los Algoritmos.ppt
 
conceptos basicos lenguajes de programacion.pdf
conceptos basicos lenguajes de programacion.pdfconceptos basicos lenguajes de programacion.pdf
conceptos basicos lenguajes de programacion.pdf
 
Fundamentos de programación.pptx
Fundamentos de programación.pptxFundamentos de programación.pptx
Fundamentos de programación.pptx
 
Unidad 2 introducción a los algoritmos
Unidad 2 introducción a los algoritmosUnidad 2 introducción a los algoritmos
Unidad 2 introducción a los algoritmos
 
Programacion MatLab
Programacion MatLabProgramacion MatLab
Programacion MatLab
 
Comandos de Raptor,C# y Java
Comandos de Raptor,C# y JavaComandos de Raptor,C# y Java
Comandos de Raptor,C# y Java
 
Unidad 1, 2 y_3_algoritmos
Unidad 1, 2 y_3_algoritmosUnidad 1, 2 y_3_algoritmos
Unidad 1, 2 y_3_algoritmos
 
Programación
ProgramaciónProgramación
Programación
 
Semana 1 - Principios de Algoritmos.pdf
Semana 1 - Principios de Algoritmos.pdfSemana 1 - Principios de Algoritmos.pdf
Semana 1 - Principios de Algoritmos.pdf
 
P01 secuencial
P01 secuencialP01 secuencial
P01 secuencial
 
Programación
ProgramaciónProgramación
Programación
 
Programación
ProgramaciónProgramación
Programación
 
Estructuras básicas 3 er periodo.docx
Estructuras básicas 3 er periodo.docxEstructuras básicas 3 er periodo.docx
Estructuras básicas 3 er periodo.docx
 
Estructuras básicas 3 er periodo.docx (1)
Estructuras básicas 3 er periodo.docx (1)Estructuras básicas 3 er periodo.docx (1)
Estructuras básicas 3 er periodo.docx (1)
 

Último

Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 

Último (13)

Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 

Practica1 arquitectura de computadores 1 usac - metodos numericos -asm-

  • 1. Universidad De San Carlos de Guatemala Facultad de Ingeniería Escuela de Ciencias y Sistemas Arquitectura de computadores y ensambladores 1 Practica 1, (arquitectura de computadores y ensambladores 1) Leonel Enrique Rojas Chinchilla Carne: 200819162 Fecha Entrega: 15-03-2011
  • 2. Introduccio n Assembler un lenguaje de bajo nivel que permite interaccionar directamente con la memoria y procesador del equipo de cómputo, este lenguaje tiene funciones muy básicas que solo permiten la manipulación de hasta 3 direcciones de memoria, siendo así muy extenso un programa que en un lenguaje de alto nivel sería muy corto. Uno de los objetivos de esta práctica es graficar un polinomio para dar una mejor percepción de los sistemas numéricos que se están resolviendo. El modo de video 13h es el que nos permite dibujar por medio de posiciones en pantalla y cargándolas a memoria, especificando para cada punto su color.
  • 3. Objetivo  Aprender a hacer operaciones básicas en lenguaje assembler.  Lograr ingresar datos por teclado y poder operarlos.  Lograr dibujar con el modo 13h.  Hacer la primera derivada de una función especificada por el usuario.  Hacer iteraciones de un método para llegar a un resultado satisfactorio.
  • 4. Contenido Definición de macros: Un macro es un pedazo de código que se escribe una sola vez y puede ser utilizado tantas veces sea necesario por medio de una llamada a macro, dando la ventaja de no reescribir código. Un macro da la posibilidad de recibir parámetros a la hora de hacer una llamada y así poder usar los valores que se pasan como parámetros y ejecutar la tarea específica del macro. Una diferencia importante, un macro puede ser llamado desde diferentes programas mientras que un procedimiento no. Y la forma de llamar a un macro es como si fuera una instrucción nativa de assembler, por ejemplo para llamar a un macro llamado “mm” solo es necesario poner “mm” en asembler sin alguna instrucción extra. Para la definición de un macro tenemos la siguiente sintaxis: NombreDeMacro MACRO [param1,param2,param3] Cuerpo… Cuerpo… Cuerpo… ENDM Sintaxis para llamada a macro: NombreDeMacro param1,param2,param3 Otra ventaja importante de la utilización de macros es que se pueden crear librerías y luego usarlas en diferentes aplicaciones incluyendo el archivo con el comando “include nombreArch”. Para crear una librería con macros es necesario hacer todos los macros en un archivo y guardarlo como un archivo de texto, para luego poder importarlo asi como se mencionó antes.
  • 5. Funciones Assembler utilizadas: Instrucción Descripción Ejemplo push empuja un nuevo valor en la pila push op pop saca el valor del tope de la pila pop op mov copia el valor de op y la ingresa a dest mov dest,op hace una suma aritmética normal de los dos parámetros y guarda add el valor en dest add dest,op hace una resta aritmética normal de los dos parámetros y guarda sub el valor en dest sub dest,op hace una división tomando en cuenta el signo, ax/op y lo guarda idiv en al idiv op hace una multiplicación tomando en cuenta el signo, ax*op y lo imul guarda en al imul op inc incrementa en una unidad el valor del parámetro especificado inc op dec decremento en una unidad el valor del parámetro especificado dec op carga la dirección de memoria de un registro especificado como lea parámetro y lo guarda en dest lea dest, op interrumpe la ejecución de una llamada y regresa al punto donde int fue llamado int call llama a una etiqueta o procedimiento call identificador jmp salta hasta la etiqueta especificada jmp identificador salta hasta la etiqueta especificada si los valores de comparación je son iguales je identificador salta hasta la etiqueta especificada si los valores de comparación jne no son iguales jne identificador jae salta hasta la etiqueta especificada si dest es mayor o igual que op jae identificador jbe salta hasta la etiqueta especificada si dest es menor o igual que op jbe identificador salta hasta la etiqueta especificada si dest es mayor o igual que jge op, tomando en cuenta el signo jge identificador salta hasta la etiqueta especificada si dest es menor o igual que jle op, tomando en cuenta el signo jle identificador
  • 6. Diagrama de Flujo Inicia Pedir metodo a utilizar Newton? no Esteffensen? no Muller? si Si si Pedir datos para Pedir datos para Pedir datos para newton Steffensen Muller Ejecutar método de Ejecutar método de Ejecutar método de newton Steffensen Muller Graficar las Graficar las Graficar las valuaciones de valuaciones de valuaciones de newton steffensen muller Poner modo 13h y empezar a plotear puntos valuando la funcion ingresada en un intervalo establecido
  • 7. Conclusiones Para implementar métodos numéricos es necesario implementar operaciones complejas como la raíz cuadrada por medio de operaciones muy simples como la suma y multiplicación. Para poder dibujar es necesario usar instrucciones del método 13h y hacer uso de arreglos para dibujar figuras predefinidas. El uso de procedimientos y macros es fundamental para poder manejar correctamente los saltos y comparaciones. Para hacer comparaciones es necesario utilizas sentencias como je, jne, jg, jl, jbe,ja,jae,jb,etc…
  • 8. Recomendaciones  Para el aprendizaje se recomienda utilizar la página abrelosojosensamblador.com en la cual se encuentra teoría y ejemplos de manejo de assembler en fasm, tasm, asm, etc. Por lo que se facilita hacer pruebas.  El uso de fasm y otros ides solo es posible en sistemas operativos que tengan una arquitectura de 32 bits por lo que se recomienda instalar una máquina virtual y manejar assembler allí.  También es recomendable usar dosbox para la programación para evitar posibles problemas en el código que el programador ingresa y causar algún daño al equipo.  Sino se cuenta con un ide fácil de usar se recomienda usar emu8086 en el cual se posee una consola de debug para poder llevar control de los valores de los registros y ejecutar paso a paso.