Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
CISC:
Ventajas:
- Facilidad de programacion.
-Facilidad de implementacion del conjunto de instrucciones.
-Puede se rmenor la complejidad al cmpilar.
Descventajas:
-La complejidad del conjuntode instrucciones crece.
-Las instrucciones de longitud variable reducen el rendimiento del sistema.
-Inclusion de instrucciones que raramente se usan.
RISC:
Ventajas:
-Se incrementa la velocidad debio a un conjunto de instrucciones mas simple.
-HW mas simple debido a que instrucciones mas simples requieren menos espacio en el
chip.
Desventajas:
-Se incrementa el tama�o del codigo.
-La depuracion de los programas se hace mas dificil.
Desventajas:
-Se requieren "grandes maquinas".
�Java, C:
Ventajas:
-Facilidad de crear nuevos comandos.
Desventajas:
-Requiere ser programador.
�Ensamblador:
Ventajas:
-Lenguaje corto y rapido.
-Todos los recursos del sistema estan disponibles.
Desventajas:
-No es transportable.
MODELO DE PROGRAMACION:
1-. Llega la instruccion.
2-. Se decofica.
3-. Lo que se va a almacenar o sacar se guarda en B.
4-. El monto almacenado o sacado se suma o resta del almacen A.
REGISTROS DISPONIBLES:
nuevo tema:
SI como DI.
(Indice fuente)
RFLAG 15 14 13 12 11 10 9 8 7 6 5
4 3 2 1 0
(Registro banderas) -- -- -- -- 0 D I T S Z
-- A -- P -- C
c:\TASM>TASM heelo.asm
Ensambla y les crea hello.obj
c:\TASM>tlink /p hello.obj
Crea
selectores y descriptores:
existen dos tablas de descriptores utilizadas con los registros de segmento: una
contiene los descriptores globales y otra los descriptores locales.
CS= 0033h
hex= x33 bin= 00110011
0110 0 11
6 global priv=3
CS=002DH
segmentos:
MOV AX:[40h]
DS:[40h]
guia de examen:
ejercicios:
modo real: en este un ejemplo: MOV AL,CS:[BX+DI+3] BX= 200h, CS= 7000h, DI=05h,
DS=8000h.
CS= 70000 <---- se le agrega un cero al que este al lado
del AL que en este caso es el que se quiere sacar el resultado
entonces haces la suma de CS+BX+DI+3= 70000h + 200h + 05h +
03h= 70208h.
significado de banderas
0=C C= carry
2=P P= paridad
4=A A= carry auxiliar
6=Z Z= Zero
7=S S=Sign
8=T T= trayecto
9=I I= Interrupt
10=D D= Direccion
11=O O= Overflow
"PARCIAL 2"
tipos de multiplicaciones:
8 bits byte B
16 bits Word W
32 bits Double Word D
64 bits Quad Word
ejemplos:
1-.
MOV AL, 0C8h
MOV BL, 4h
mul bl ; RESULTADO= AX= 0320h
2-.
MOV AX, 76C8h
MOV BX, 0004h
MUL BX
AL= C8h
AH=1
ejemplo:
MOV CX, 100
AQUI=ETIQUETA.
el codigo que se desea repetir va dentro de mov cx y LOOP etiqueta
LOOP ETIQUETA.
todo esto del loop es un ciclo lo que hace cada vez que termina el ciclo resta un 1
al valor de cx y luego vuelve a hacer el ciclo si y solo si el cx no queda en 0
procedimientos:
PROC ---> Es una instruccion que permite se�alar el inicio de un procedimiento o
subrutina.
ENDP----> Indica el final del procedimiento.
sintaxis:
nombreProcedimiento PROC atributo
.
.
.
RET
NombreProcedimiento ENDP
ejemplo:
.model small
.data
.stack 100h
.code
.startup
.
.
.
mov bx, offset EJEMPLO
call bx
mov ah, 4Ch
int 21h
END
Funciones logicas:
MOV AH, 10101100b
AND ---> AH, 00001111b --> AH= 00001100b ;/ HACE MULTIPLICACION CON MOV AH Y UN
CERO EN AND ES CERO DE SALIDA
OR ---> AH, 11110000b --> AH= 11111100b ;/DEJA LOS PRIMEROS 4 NUMEROS EN UNOS
Y LOS OTROS 4 LOS DEJA COMO LOS TRAIA MOV AH
NOT ---> AH, --> 01010011b ;/ INVIERTE LOS VALORES DE MOV AH
MACROS
EJ:
inicio MACRO
movax,@data ;definicion de
mov ds, ax ;la macro
ENDM
.model small
.stack 100
.data
.code
.startup
inicio ;Uso de la macro
end