PDF de programación - Tema 1. Fundamentos del lenguaje ensamblador

Imágen de pdf Tema 1. Fundamentos del lenguaje ensamblador

Tema 1. Fundamentos del lenguaje ensambladorgráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 5 de Marzo del 2018)
1.388 visualizaciones desde el 5 de Marzo del 2018
530,0 KB
14 paginas
Creado hace 11a (26/07/2012)
Tema 1. Fundamentos del lenguaje ensamblador

Laboratorio de Estructura y
Organización de Computadores

Grados en Ingeniería Informática e
Ingeniería de Computadores

Curso 2012-2013

Tema 1: Fundamentos del lenguaje ensamblador

Índice

  Estructura del 8086
  Tipos de instrucciones
  Instrucciones de transferencia de datos
  Instrucciones aritméticas
  Filosofía de programación
  Estructura de un programa en ensamblador
  Pasos para la creación de un programa ejecutable
  Mi primer programa: edición, ensamblado, enlazado

y depuración

Departamento de Automática
Área de Arquitectura y Tecnología de Computadores

Laboratorio de Estr. y Org. de Computadores
Grados en I. Informática / I. de Computadores

Trans.:
2 / 27

1

Tema 1: Fundamentos del lenguaje ensamblador

Estructura del i8086 (I)

  El microprocesador 8086 tiene catorce registros de 16 bits:

–  Registros de datos

–  Registros punteros de la pila
–  Registro de instrucciones


- Registros de segmento
- Registros índices
- Registro de flags de estado

Departamento de Automática
Área de Arquitectura y Tecnología de Computadores

Laboratorio de Estr. y Org. de Computadores
Grados en I. Informática / I. de Computadores

Trans.:
3 / 27

Tema 1: Fundamentos del lenguaje ensamblador
Estructura del i8086 (y II)

  Registros de datos:

–  AX (AH, AL)
–  BX (BH, BL)
–  CX (CH, CL)
–  DX (DH, DL)

  Registro de estado del procesador:

–  PSW

  Registros punteros:

  Registros de segmento:

–  SP
–  BP
–  SI
–  DI
IP
– 

- Puntero de pila
- Puntero base de pila
- Registro índice
- Registro índice
- Contador de programa

–  CS
–  DS
–  ES
–  SS

- segmento de código
- segmento de datos
- segmento extra
- segmento pila

Departamento de Automática
Área de Arquitectura y Tecnología de Computadores

Laboratorio de Estr. y Org. de Computadores
Grados en I. Informática / I. de Computadores

Trans.:
4 / 27

2

Tema 1: Fundamentos del lenguaje ensamblador
Tipos de instrucciones del i8086)

Tipos de instrucciones

Departamento de Automática
Área de Arquitectura y Tecnología de Computadores

Laboratorio de Estr. y Org. de Computadores
Grados en I. Informática / I. de Computadores

Trans.:
5 / 27

Tema 1: Fundamentos del lenguaje ensamblador
Instrucciones de transferencia de datos (I)

  Nombre:

MOV

  Formato:

MOV destino, origen

  Descripción:

Transfiere un byte o una palabra desde el operando origen al
operando destino

  Ejemplos:

–  MOV CX, 112h ; CX = 112h
–  MOV BL, 255
–  MOV ES, AX
–  MOV AL, 12h
–  MOV PAL_MEM, BX ; PAL_MEM = BX

; BL = 255 = FFh
; ES = AX
; AL = 12h

Departamento de Automática
Área de Arquitectura y Tecnología de Computadores

Laboratorio de Estr. y Org. de Computadores
Grados en I. Informática / I. de Computadores

Trans.:
6 / 27

3

Tema 1: Fundamentos del lenguaje ensamblador
Instrucciones de transferencia de datos (II)

  Nombre:

PUSH

  Formato:

PUSH origen

  Descripción:

Decrementa el puntero de pila (SP) en 2 y luego transfiere la palabra
que se ha especificado en el operando origen a lo alto de la pila

  Ejemplo:

–  PUSH BX ; Pone BX en la pila

Departamento de Automática
Área de Arquitectura y Tecnología de Computadores

Laboratorio de Estr. y Org. de Computadores
Grados en I. Informática / I. de Computadores

Trans.:
7 / 27

Tema 1: Fundamentos del lenguaje ensamblador

Instrucciones de transferencia de datos (y III)

  Nombre:

POP

  Formato:

POP destino

  Descripción:

Transfiere un byte o una palabra desde la cima de la pila al
operando destino y luego incrementa la pila en 2

  Ejemplo:

–  POP BX ; Pone en BX el contenido de la cima de la pila

Departamento de Automática
Área de Arquitectura y Tecnología de Computadores

Laboratorio de Estr. y Org. de Computadores
Grados en I. Informática / I. de Computadores

Trans.:
8 / 27

4

Tema 1: Fundamentos del lenguaje ensamblador
Instrucciones aritméticas (I)

  Nombre:

ADD

  Formato:

ADD destino, origen

  Descripción:

Suma los dos operandos y el resultado lo deja en el operando
destino. Los operandos deben ser del mismo tipo

  Ejemplos:

– 
– 
– 

; CL = CL + BL
ADD CL, BL
ADD AL, 12h
; AL = AL + 12h
ADD CX, DX ; CX = CX + DX

Departamento de Automática
Área de Arquitectura y Tecnología de Computadores

Laboratorio de Estr. y Org. de Computadores
Grados en I. Informática / I. de Computadores

Trans.:
9 / 27

Tema 1: Fundamentos del lenguaje ensamblador
Instrucciones aritméticas (II)

  Nombre:

ADC

  Formato:

ADC destino, origen

  Descripción:

Suma los dos operandos más el posible acarreo de la operación
anterior. El resultado se almacena en el operando destino.
Además los operandos deben ser del mismo tipo

  Ejemplos:

–  ADC CL, BL
–  ADC AL, 12h
–  ADC CX, DX

; CL = CL + BL + CF
; AL = AL + 12h + CF
; CX = CX + DX + CF

Departamento de Automática
Área de Arquitectura y Tecnología de Computadores

Laboratorio de Estr. y Org. de Computadores
Grados en I. Informática / I. de Computadores

Trans.:
10 / 27

5

Tema 1: Fundamentos del lenguaje ensamblador
Instrucciones aritméticas (III)

  Nombre:

SUB

  Formato:

SUB destino, origen

  Descripción:

Resta el operando origen del operando destino. El resultado se
almacena en el operando destino y además, ambos operandos
deben ser del mismo tipo

  Ejemplos:

–  SUB CL, BL
–  SUB AL, 12h
–  SUB CX, DX

; CL = CL - BL
; AL = AL - 12h
; CX = CX - DX

Departamento de Automática
Área de Arquitectura y Tecnología de Computadores

Laboratorio de Estr. y Org. de Computadores
Grados en I. Informática / I. de Computadores

Trans.:
11 / 27

Tema 1: Fundamentos del lenguaje ensamblador

Instrucciones aritméticas (IV)

  Nombre:

SBB

  Formato:

SBB destino, origen

  Descripción:

Resta el operando origen del operando destino. Resta uno si
el flag de acarreo está activo. Los operandos deben ser del
mismo tipo. El resultado se almacena en el operando destino

  Ejemplo:

–  SBB CX, DX

; CX = CX - DX - CF

Departamento de Automática
Área de Arquitectura y Tecnología de Computadores

Laboratorio de Estr. y Org. de Computadores
Grados en I. Informática / I. de Computadores

Trans.:
12 / 27

6

Tema 1: Fundamentos del lenguaje ensamblador
Instrucciones aritméticas (V)

  Nombre:

MUL

  Formato:

MUL origen

  Descripción:

Multiplica, sin considerar el signo el acumulador (AL o AX) por el
operando origen.
Si el operando origen es de tipo byte, lo multiplica por AL y el
resultado se almacena en AX. Si es de tipo palabra, lo multiplica
por AX y el resultado se almacena en DX (palabra superior) y AX
(palabra inferior)

  Ejemplo:

– 
– 
–  MUL BX ; DX = 0123h, AX = 4000h

; AX = 1234h
; BX = 1000h




Departamento de Automática
Área de Arquitectura y Tecnología de Computadores

Laboratorio de Estr. y Org. de Computadores
Grados en I. Informática / I. de Computadores

Trans.:
13 / 27

Tema 1: Fundamentos del lenguaje ensamblador
Instrucciones aritméticas (VI)

  Nombre:

IMUL

  Formato:

IMUL origen

  Descripción:

Multiplica, considerando el signo, el acumulador AL o AX por el
operando origen.
Si el operando fuente es un byte, lo multiplica por AL y se almacena el
resultado en AX. Si se trata de una palabra, lo multiplica por AX y el
resultado se almacena en DX (palabra superior) AX (palabra inferior)

  Ejemplos:



– 
– 
– 

; AL = FEh = -2
; BL = 12h = 18

IMUL BL ; AX = FFDCh = -36

Departamento de Automática
Área de Arquitectura y Tecnología de Computadores

Laboratorio de Estr. y Org. de Computadores
Grados en I. Informática / I. de Computadores

Trans.:
14 / 27

7

Tema 1: Fundamentos del lenguaje ensamblador
Instrucciones aritméticas (VII)

  Nombre:

DIV

  Formato:

DIV origen

  Descripción:

Divide, sin considerar el signo, el acumulador AL o AX y su extensión
(AH o DX) por el operando origen. Si el operando origen es un byte,
divide AX por dicho operando y el resultado se almacena en AL y el
resto en AH. Si el origen es una palabra, divide DX y AX entre dicho
operando y el resultado se almacena en AX y el resto en DX.

  Ejemplos:



– 
– 
–  DIV BL ; AH = 1, AL = 9

; AX = 0013h = 19
; BL = 02h = 2

Departamento de Automática
Área de Arquitectura y Tecnología de Computadores

Laboratorio de Estr. y Org. de Computadores
Grados en I. Informática / I. de Computadores

Trans.:
15 / 27

Tema 1: Fundamentos del lenguaje ensamblador

Instrucciones aritméticas (VIII)

  Nombre:

IDIV

  Formato:

IDIV origen

  Descripción:

Divide, considerando el signo, el acumulador AL o AX y su extensión
(AH o DX) por el operando origen. Si el operando origen es un byte,
divide AX por dicho operando y el resultado se almacena en AL y el
resto en AH. Si el origen es una palabra, divide DX y AX entre dicho
operando y el resultado se almacena en AX y el resto en DX.

  Ejemplos:



– 
– 
– 

; AX = FFEDh = -19
; BL = 02h = 2

IDIV BL ; AH = 1, AL = F7h = -9

Departamento de Automática
Área de Arquitectura y Tecnología de Computadores

Laboratorio de Estr. y Org. de Computadores
Grados en I. Informática / I. de Computadores

Trans.:
16 / 27

8

Tema 1: Fundamentos del lenguaje ensamblador
Instrucciones aritméticas (IX)

  Nombre:

INC

  Formato:

INC destino

  Descripción:

Suma una unidad al operando destino. El operando puede ser de
tipo byte o palabra

  Ejemplos:


– 
– 
– 

; AX = 1234h
INC AX ; AX = 1235h
INC AH ; AH = 13h

Departamento de Automática
Área de Arquitectura y Tecnología de Computadores

Laboratorio de Estr. y Org. de Computadores
Grados en I. Informática / I. de Computadores

Trans.:
17 / 27

Tema 1: Funda
  • Links de descarga
http://lwp-l.com/pdf9231

Comentarios de: Tema 1. Fundamentos del lenguaje ensamblador (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad