Está en la página 1de 6

lOMoARcPSD|5636817

Arquitectura del computador - entrega previa 2

Arquitectura del Computador (Politécnico Grancolombiano)

StuDocu no está patrocinado ni avalado por ningún colegio o universidad.


Descargado por Brayan Tarquino (brayanftm5245@hotmail.com)
lOMoARcPSD|5636817

Entrega 2 Semana 5 1

ARQUITECTURA DEL COMPUTADOR


Cogaria Boada Dayana Marcela, Herrera Moreno Oscar Arbey, Ortega Tabares Julio Cesar, Pinzón
Rodríguez Emiro Esneider

I. DEFINICIÓN DE LA CANTIDAD DE REGISTROS QUE SE II. DESCRIPCIÓN BREVE DE LOS MODOS DE


USARÁN Y EL TAMAÑO DE CADA REGISTRO DIRECCIONAMIENTO QUE SERÁN POSIBLES.

Los registros de memoria son una pequeña cantidad de


memoria muy rápida en donde almacena y accedes a datos de Es el conjunto de reglas que especifican una localización
mayor frecuencia lo que permite incrementar la velocidad del (posición) del dato usado durante la ejecución de una
un programa en ejecución instrucción.

La mayoría de las arquitecturas de computadora emplean El microprocesador desempeña una función con facilidad
registros, moviendo datos desde la memoria principal hacia los debido a que usa un modo de direccionamiento el cual
registros, se opera sobre éstos, y el resultado es movido especifica la forma en que se interpreta la información.
nuevamente a la memoria principal.[1]
• Directo a registro
Registro Descripcion
X Registro acumulador,usandolo se El registro definido por la instrucción que contiene el
operando.
produce una instrucción que ocupa un
byte menos que si se utilizaran otros
registros de uso general. Código de Registro de
operación Procesos
SP Registro de uso general,debe utilizarse
solo como puntero de pila, la cual sirve
procesador
para almacenar las direcciones de
retorno subrutinas y datos temporarios.
BX Registro base de proposito similar (se
usa para direccionamiento indirecto) Ejecución
CX Registro contador, se utilixa como
contador en bucle, en operaciones con
cadenas Figura 1 (Elaboración propia)
DX Registro de datos, se utiliza junto con el
registro AX en multiplicaciones y
• Inmediato
divisiones en la instrucción CWD(el
registro DX indica el numero de puerto Se proporciona en el byte o bytes el operando que siguen el
de entrada/salida) código de operación de la instrucción.
BP Puntero base, generalmente se utiliza
para realizar direccionamiento indirecto Código de
dentro de la pila operación Ejecución
DI Puntero destino(no se puede subdividir)
Figura 2 (Elaboración propia)
SI Puntero indice, sirve como punterp
fuente para las operaciones con • Directo
cadenas, tambien sirve para realizar
direccionamiento indirecto El byte o par de bytes que siguen al código OP de
Tabla 1 (Elaboración propia) la instrucción da el desplazamiento de 8 ó 16 bits,
que, sumado al contenido del registro DS,
determina la dirección efectiva en la que se
encuentra el dato a transferir.

Descargado por Brayan Tarquino (brayanftm5245@hotmail.com)


lOMoARcPSD|5636817

Entrega 2 Semana 5 2

je L2
Código de Dirección mov eax, DWORD PTR [esp+20]
Operación de memoria test eax, eax
jle L2
mov DWORD PTR [esp+24], 0
mov DWORD PTR [esp+28], 2
Memoria jmp L3
L6:
mov eax, DWORD PTR [esp+20]
cdq
idiv DWORD PTR [esp+28]
Ejecución mov eax, edx
test eax, eax
Figura 3 (Elaboración propia) jne L4
mov DWORD PTR [esp+24], 1
L4:
add DWORD PTR [esp+28], 1
III. TRADUCCIÓN DEL PROGRAMA DE ALTO NIVEL (ENTREGA
L3:
1) AL LENGUAJE ENSAMBLADOR QUE HAN CONSTRUIDO,
mov eax, DWORD PTR [esp+20]
USANDO SU PROPIO CONJUNTO DE INSTRUCCIONES
cmp DWORD PTR [esp+28], eax
file "primo.c" jge L5
.intel_syntax noprefix cmp DWORD PTR [esp+24], 1
.text jne L6
.def ___main; .scl 2; .type 32; .endef L5:
.section .rdata,"dr" cmp DWORD PTR [esp+24], 0
LC0: jne L7
.ascii "\12Numero.....: \0" mov eax, DWORD PTR [esp+20]
LC1: mov DWORD PTR [esp+4], eax
.ascii " %d\0" mov DWORD PTR [esp], OFFSET FLAT:LC2
LC2: call _printf
.ascii "\12El numero %d es primo\0" jmp L2
LC3: L7:
.ascii "\12El numero %d no es primo\0" mov eax, DWORD PTR [esp+20]
.text mov DWORD PTR [esp+4], eax
.globl _main mov DWORD PTR [esp], OFFSET FLAT:LC3
.def _main; .scl 2; .type 32; .endef call _printf
_main: L2:
LFB17: mov eax, DWORD PTR [esp+20]
.cfi_startproc cmp eax, -1
push ebp jne L8
.cfi_def_cfa_offset 8 mov eax, 0
.cfi_offset 5, -8 leave
mov ebp, esp .cfi_restore 5
.cfi_def_cfa_register 5 .cfi_def_cfa 4, 4
and esp, -16 ret
sub esp, 32 .cfi_endproc
call ___main LFE17:
mov DWORD PTR [esp+20], 0 .ident "GCC: (MinGW.org GCC-8.2.0- 3) 8.2.0"
mov DWORD PTR [esp+28], 0 .def _printf; .scl 2; .type 32; .endef
mov DWORD PTR [esp+24], 0 .def _scanf; .scl 2; .type 32; .endef
L8:
mov DWORD PTR [esp], OFFSET FLAT:LC0
call _printf
lea eax, [esp+20]
mov DWORD PTR [esp+4], eax
mov DWORD PTR [esp], OFFSET FLAT:LC1
call _scanf
mov eax, DWORD PTR [esp+20]
cmp eax, -1

Descargado por Brayan Tarquino (brayanftm5245@hotmail.com)


lOMoARcPSD|5636817

Entrega 2 Semana 5 3

IV. LISTADO EN HEXA DEL BINARIO QUE REPRESENTA EL


PROGRAMA REALIZADO EN EL PUNTO 4 DE ESTA ENTREGA.

BINARIO HEXADECIMAL
10110100 B4
Figura 4 (Elaboración propia) 1 1
11001101 CD
00100001 21
10001010 8A
11111000 F8
11011000 D8
0010 2
11011111 DF
01110101 75
0011 3
11101001 E9
11100011 E3
0 0
10111011 BB
10111000 B8
0110 6
10110111 B7
0111 7
10111010 BA
10111001 B9
Figura 5 (Elaboración propia) 01001111 4F
00011000 18
01010111 57
00010000 10
10110110 B6
10111010 BA
0101 5
11101000 E8
11111101 FD
01111100 7C
11000111 C7
11111001 F9
00111001 39
01111111 7F
11000010 C2
10000000 80
11111011 FB
10011100 9C
01110100 74
1000 8
10011101 9D
10001000 88

Descargado por Brayan Tarquino (brayanftm5245@hotmail.com)


lOMoARcPSD|5636817

Entrega 2 Semana 5 4

00101110 2E La entrada de 3 bits la cual se llama código de operación es


01010101 55 la encargada de manejar las 3 operaciones básicas (suma, resta
1110 0E y división) parametrizadas de acuerdo ala siguiente tabla:
01010110 56
00110000 30 Operación Código operación Decimal
10110000 B0 Suma 0 0
1010 0A Resta 1 1
10001001 89 División 10 2
10110101 B5 Tabla 3 (Elaboración propia)
01110100 74
00011110 1E
00111011 3B
11101011 EB
11101010 EA
11110111 F7
11110011 F3
01110100 74
Tabla 2 (elaboración propia)

V. ALU EN LOGISIM, QUE PUEDA EJECUTAR LAS


INSTRUCCIONES REQUERIDAS POR EL PROGRAMA.

Son dos entradas de datos de 4 bits que son los números para
operar, los cuales aparecen como valor 1 y valor 2 y el
resultado es de 5 Bits una salida de 1 bit para la referencia del
residuo.

FIGURA 5 (ELABORACIÓN PROPIA)

Descargado por Brayan Tarquino (brayanftm5245@hotmail.com)


lOMoARcPSD|5636817

Entrega 2 Semana 5 5

BIBLIOGRAFIA

[1] Alegsa.com.ar (2016). Definición de Registro de memoria


Obtenido de http://www.alegsa.com.ar/Dic/registro_de_procesador.phP

[2] Creación y funcionamiento de una ALU con logisim. (2020). Retrieved 21


April 2020, obtenido de https://www.youtube.com/watch?v=xp6aXno6nac

[3] Lectura de Caracteres en Lenguaje Ensamblador. (2020). Retrieved 21


April 2020, obtenido de https://www.youtube.com/watch?v=vFnEN4s-zEw

[4] (2020). Retrieved 21 April 2020, Obtenido de


https://techlandia.com/tipos-modos-direccionamiento-computadoras-
lista_548496/

Descargado por Brayan Tarquino (brayanftm5245@hotmail.com)

También podría gustarte