301302_60_momento4(1)
TRANSCRIPT
-
7/24/2019 301302_60_Momento4(1)
1/7
Arquitectura de Computadores
Trabajo Colaborativo 3
PRESENTADO POR
Jorge Osorio Meja. Cdigo: 71618675
Jos Gabriel Chima M. Cdigo: 1.027.998.887
Diego Andres Fuentes L. Cdigo: 1039099062
GRUPO
301302_60
TUTOR:Anyelo Gerley Quintero
UNIVERSIDAD ABIERTA Y A DISTANCIA
2015
-
7/24/2019 301302_60_Momento4(1)
2/7
INTRODUCCION
El presente trabajo se hace con el fin de adquirir conocimientos sobre un tema
muy interesante Lenguaje Assembler, se manejaran instrucciones, vamos a
trabajar con grupos de caracteres alfanumricos que simbolizan ordenes, se
creara un programa que nos va a permitir sumar, restar, multiplicar y dividir dos
nmeros.
OBJETIVOS
Que el estudiante identifique y aprenda cmo funciona el Lenguaje Assembler,
en sus diferentes facetas, instrucciones y comandos ms usados.
-
7/24/2019 301302_60_Momento4(1)
3/7
DESARROLLO
1. Explicar mediante un grfico en qu consiste el repertorio de instrucciones que se maneja en LenguajeAssembler y analizar cmo es la segmentacin (modos de direccionamiento, tipos de direccionamiento, pila, memoriainterna y memoria convencional).
-
7/24/2019 301302_60_Momento4(1)
4/7
2. Presentar una tabla con 15 instrucciones del lenguaje Assembler explicando para que sirve cada instruccin. IndicarNombre de la instruccin, Sintaxis y un breve ejemplo
Nro. Caracterstica InstruccinInstruc
cinSintaxis Ejemplo
1
Aritmtica Suma: Suma
los dos operandos yguarda el resultado en eloperando destino
ADDADD destino,
fuente
ADD reg,inmediato ADD BYTE PTR [SI],35
ADD reg,reg ADD BX,DXADD mem,reg ADD [BX],AX
ADD reg,mem ADD AH,[BX]
2Compara dos campos dedatos CMP CMP
X CMP BX, 00 ; Compara Bx con ceroJZ B50 ;Si es cero salta aB50. ;(Accin si es diferente de cero)
3
Guarda en la cima de lapila 16 bits,decrementando en la pilaen dos bytes
PUSHPUSH: reg16PUSH:mem16
PUSH: CXPUSH:TABLA (SI)
4Desplazar o rotar bitsdentro de un registro
SHL SHL Shift left
MOV CL, 03MOV AL, 10110111B; 10110111SHR AL, 01; 01101110 Un movimiento a la izquierda
SHR AL, CL ; 01110000
Tres movimientos msSHR AX, 03; Vlido para 80186 y procesadores posteriores
El primer SHL desplaza el contenido de AI un bit hacia laizquierda
5
Incrementa Suma 1 alcontenido de un registro ode una posicin dememoria
INC
INC AX(AX=AX+1)
INC DL(DL=DL+1)
INC AX : (AX=AX+1)INC DL : (DL=DL+1)INC WORD PTR ES: (DI+4): Incrementa palabra contenida eses DI + 4
4
-
7/24/2019 301302_60_Momento4(1)
5/7
6
Realiza una operacin deY lgico entre eloperando origen y eloperando destino.
AND AND destino, origen
AND AX, BX; : AX=AX AND BXAND SI,ES:[DI] : SI=SI AND ES:[DI]AND BX, 0A34H : BX=BX AND 0A34HAND ES:[BX], CX : ES:[BX] AND CXAND BYTE PTR [SI+4],5 : [SI+4],= [SI+4], AND 5
7
Sirve para que elprocesador, en lugar deejecutar la siguiente
instruccin, pase aejecutar otra en lugar quese denomina destino desalto.
JMP
JMP direccino
JMP SHORTdireccin
JMP A90A90;mov ah,00
Salta a A90 que es una etiqueta dada a una instruccin Mov
8
La instruccin LOOP,requiere un valor inicial enel registro CX, LOOP de
forma automticadisminuye 1 de CX
LOOPLOOP [direccin
corta]
ABC.ASM -> Imprime el abecedarioCODIGO SEGMENT
ASSUME CS:CODIGOINICIO: MOV DL,65 ; Carcter inicial (A)MOV CX,26 ; Nmero de letrasBUCLE: MOV AH,2 ; Servicio para imprimir carcterINT 21HINC DL ; Incrementar carcter actualLOOP BUCLE ; Repetir mientras CX no sea ceroMOV AX,4C00H ; Salir al DOSINT 21HCODIGO ENDSEND INICIO
Este ejemplo :Gestiona un bucle, tomando el registro CX como instruccinLOOP decrementa el valor de CX
9
Transferencia de datosentre celdas de memoria,registros y acumulador.
MOVMOV destino
fuente
10Indica el final del programafuente.
END END [Expresin]ENDEND INICIO
11Carga cadenas de unbyte opalabra al acumulador. LODS LODS
MOV SI, OFFSET VARABLE1LODS
12 Genera el complemento a 2 NEG NEG destinoNEG AX (Si AX guarda el valor de -2 (FFFE) el resultado sera
que AX el valor de 0002
5
-
7/24/2019 301302_60_Momento4(1)
6/7
13Transfiere el registro AHal contenidos de lasbanderas
LAHF LAHF SF ZF_AF PF_CF (
14Resta , instruccinaritmtica
SUBSUB destino,
fuente
SUB AX, DX
15Desplaza a la derecha los
bits en el registrodesignado
RCRRCL destino,
contador
MOV CL, 03MOV BH, 10110111B; 10110111
SHR BH, 01; 11011011 Una rotacion a la derechaSHR BH, CL; 00001011 Tres rotaciones a la derechaSHR BX, 03; Vlido para 80186 y procesadores posteriores
3. Desarrollar un cdigo en un lenguaje ensamblador que permita sumar, restar, multiplicar y dividir dos nmeros de un
digito cada uno capturados por teclado y subir un video a la web donde explique cmo lo hizo, debe quedar evidencia
del estudiante que lo desarroll.
El video debe ser subido a Youtube y el enlace debe ser ubicado en el documento como aporte individual.
Se realizan los Videos y se suben a Youtube:
https://youtu.be/iFwQH-f70Mk y https://www.youtube.com/watch?v=tuC_Fy7KRoc
6
-
7/24/2019 301302_60_Momento4(1)
7/7
CONCLUSIONES
Los programas hechos en lenguaje ensamblador son generalmente msrpidos en su ejecucin y ocupan menos espacio de memoria.
A medida de que se aprende (hay que dedicarle mucho tiempo paraconocerlo y aprenderlo) un leguaje ensamblador se crean libreras defunciones que le pueden facilitar mucho el trabajo.
En el lenguaje ensamblador cada enunciado o lnea produce unainstruccin de mquina.
Al generar el video y subirlo a la nube se vio otra faceta del curso.
BIBLIOGRAFIA
Monografas Miriam Jazmn Mendoza
Recuperado el 20 de septiembre de 2009, de Monografas Lenguajeensamblador:
Http://www.monografias.com /trabajos14/lenguaje-ensamblad http://es.slideshare.net/andalmi/instrucciones-lenguaje-assembler http://moisesrbb.tripod.com/unidad6.htm https://www.youtube.com/watch?v=vWfx5syUYv4 https://books.google.com.co/books?isbn=8426714145 Unad (2015) Gua Integrada de Actividades. Disponible a travs de:
http://datateca.unad.edu.co/contenidos/301302/AVA_2015/Guia_Integrada_de_
Actividades_Academicas_301302_2015-2.pdf comunidad.dragonjar.or (2015). tutorial completo de lenguaje ensamblador.Disponible a travs de: http://comunidad.dragonjar.org/f177/tutorial-completo-de-lenguaje-ensamblador-8845/
Vittalia Internet S.L (2015) program ensamblador. Disponible a travs de:http://www.solodrivers.com/manuales/programacion_ensamblador
Anyelo quintero .( 23 oct. 2015) Instalar Turboassembler, Dosbox, Notepad++compilar. Disponible a travs de:https://www.youtube.com/watch?v=Mf5qaxpnneM
SourceForge (2014-04-13) Turbo Assembler disponible a travs de:http://sourceforge.net/projects/tasmforwindows/?source=directory
Current Version (2015) notepad ++ disponible a vraves de: https://notepad-
plus-plus.org/