No. De lista: 27
• Hora: 8-9 am
Materia: Lenguaje Ensamblador
•
•
Esqueleto de un programa
en ensamblador


A continuación se presenta la estructura básica de un programa en ensamblador con extensión
.asm
.model small
.stack
.data
Tipo de modelo de un programa en ensamblador. Determina el tamaño de los segmentos.
Segmento de pila
Segmento de datos
.code
end
mov ax,@data
mov ds,ax
Inializacion
push ds
… Código del programa
…
…
mov ax,4c00h
Finalizacion
int 21h
Segmento
de codigo
Declaración de datos en
el segmento de datos

 Directivas:
 db= Define byte
 dw= Define palabra
 dd= Define doble palabra
= 8 bits = 1 carácter
= 16 bits = 2 caracteres
= 32 bits = 4 caracteres
No existen tipos de datos en lenguaje ensamblador a diferencia de los
lenguajes de alto nivel, lo que se realiza es para reservar espacios en la
memoria
Sintaxis para declarar datos, cadenas, arreglos y matrices:
Nombre_Dato directiva valor(es)
Ejemplos:
1. Se desea declarar una variable contador de tipo byte inicializada a
cero en el segmento de datos.
.data
contador db 0

2. Define una variable llamada “carácter” inicializada
con el carácter ‘Z’
.data
carácter db ‘Z’
3. Declara una variable “promedio” inicializada con tu
promedio general
.data
promedio dw 87.65
Evidencia No. 4

 Define los siguientes esqueletos de programas en
ensamblador:
a) Guardar como p1.asm un documento creado en bloc de
notas. Define las siguientes variables inicializadas a cero:
promedio, sumatoria, contador_repe, contador normal.
METODOS DE
DIRECCIONAMIENTO








DIRECCIONAMIENTO INMEDIATO
DIRECCIONAMIENTO POR REGISTROS
DIRECCIONAIENTO DIRECTO
DIRECCIONAMIENTO INDEXADO DIRECTO
DIRECCIONAMIENTO RELATIVO A LA BASE
DIRECCIONAMIENTO INDIRECTO
DIRECCIONAMIENTO BASE INDEXADO
EXPLICACION DE CADA UNO: (SE UTILIZARFA LA INTRUCCION MOV PARA SU EXPLICACION).
1.- DIRECCIONAMIENTO INMEDIATO.- SE LE IDENTIFICA CUANDO EL OPERANDO FUENTE ES
UNA CONSTANTE.
EJEMPLO:
A) MOV AH,34H
B) MOV BX,0F98H
C) MOV CH,’C’
INVALIDOS
A) MOV CL,999H
B) MOV DH , ‘AB’
C) MOV ‘A’, BL

 2.- DIRECCIONAMIENTO POR REGISTROS.SEIDENTIFICA CUANDO TANTO EL OPERANDO
FUENTE COMO EL OPERANDO DESTINO SON
REGISTROS VALIDOS DEL MICROPROCESADOR.
 EJEMPLO:




A) MOV A, BX
B) MOV AH, AL
C) MOV CX, CL
D) MOV SI, DI




INVALIDOS
A)MOV AH, BX
B)MOV DL, BP
C) MOV CL, CX

 3.- DIRECCIONAMIENTO DIRECTO: SE IDENTIFICA
CUANDO EL OPERANDO FUENTE O EL OPERANDO
DESTINO ES UNA VARIABLE DECLARANDO EN EL
SEGMENTO DE DATO.
 EJEMPLO:
 A)MOV DX,PALABRA
 B)MOV DATOS, AX
 C)MOV CARÁCTER, CH
 INAVALIDOS: NO ES PERMITIDO DIRECIONAR DE VARIABLE A
VARIABLE O DE MEMORIA A MEMORIA.
 A) MOV PALABRA, DATOS
 B) MOV CARÁCTER, DATOS
 C) MOV CARÁCTER, ARREGLO [0]
 D) MOV PALABRA, PALABRA
P3.asm

 DISEÑE UN PROGRAMA EN ENSAMBLADOR
QUE UTILICE LOS PRIMEROS 3 MODOS DE
DIRECCIONAMIENTO, HAGA REFERENCIA A
POR LO MENOS 2 INTRUCCIONES PARA CADA
MODO DE DIRECCIONAMIENTO. NOTA: NO
REPITA LOS EJEMPLOS VISTOS EN CLASE.

 4.- DIRECCIONAMIENTO INDEXADO DIRECTO.SE INDENTIFICA CUANDO EL OPERANDO
FUENTE U OPERANDO DESTINO ES UNA
VARIABLE DECLARADA EN EL SEGMENTO DE
DATOS INDEXADA POR ALGUNO DE LOS
REGISTROS INDICES ( SI, DI ):
 EJEMPLO:
 A)MOV ARREGLO [SI] ‘A’
 B)MOV CL, VECTOR [DI]
 C) MOV VECTOR [SI]
 INVALIDOS:
 MOV VECTOR1[SI], VECTOR2 [DI]
P4.asm

 DISEÑE UN PROGRAMA EN ENSAMBLADOR
QUE DECLARE 3 ARREGLOS DE 4 ELEMENTOS
CADA UNO, LOS 2 PRIMEROS ARREGLOS
INICIALIZADOS CON CUALQUIER CONJUNTO
DE CARACTERES. PASAR EL CONTENIDO DEL
PRIMERO VECTOR AL TERCER VECTOR Y EL
CONTENIDO DEL SEGUNDO VECTOR AL
PRIMER VECTOR. IDENTIFICA POR MEDIO DE
COMENTARIOS
AL
MODO
DE
DIRECCIONAMIENTO UTILIZADO EN CADA
INSTRUCCION
Descargar

MODOS DE DIRECCIONAMIENTO - wiki