You are on page 1of 18

Universidad Nacional de Moquegua

Ing. Sistemas e Informtica

Instrucciones & Interrupciones


ASSEMBLER
INTEGRANTES
KAREN CUSILAYME ROMERO
DARIO VALVERDE QUISPE GOMEZ

INSTRUCCIONES
Las instrucciones en
Assembler son
entradas binarias
que producen
acciones definidas
durante un ciclo de
instruccin.

SE PUEDEN CLASIFICAR EN LOS SIGUIENTES GRUPOS

TRANSFERENCIA
ARITMTICOS
LGICOS
MISCELNEOS
SALTOS

TRANSFERENCIA

Se utilizan para
efectuar
la
transferencia
de
datos , copian datos
de un origen a un
destino
sin
modificar
dicho
origen .

NOMBRE

COMENTARIO

CDIGO

MOV

Mover (copiar)

MOV Dest,Fuente

XCHG

Intercambiar

XCHG Opt1,Opt2

STC

Set the carry (Carry=1)

STC

CLC

Clear carry (Carry=0)

CLC

CMC

Complementar Carry

CMD

STD

Setear direccin

STD

CLD

Limpiar direccin

CLD

STI

Flag de Interrupcin en 1

STI

CLI

Flag de Interrupcin en 0

CLI

PUSH

Apilar en la pila

PUSH Fuente

PUSHF

Apila los flags

PUSHF

PUSHA

Apila los registros generales

PUSHA

POP

Desapila de la pila

POP Dest

TRANSFERENCIA
NOMBRE

COMENTARIO

CDIGO

POPF

Desapila a los flags

POPF

POPA

Desapila a los reg. General

POPA

CBW

Convertir Byte a Word

CBW

CWD

Convertir Word a Doble

CWD

CWDE

Conv. Word a Doble Exten.

CWDE

IN

Entrada

IN Dest,Puerto

OUT

Salida

OUT Puerto,Fuente

ARITMTICOS

Son efectuada por la


Unidad Aritmtico lgica
(ALU) y suelen cambiar los
flags o indicadores de
condicin .

NOMBRE

COMENTARIO

CDIGO

ADD

Suma

ADD Dest,Fuente

ADC

Suma con acarreo

ADC Dest,Fuente

SUB

Resta

SUB Dest,Fuente

SBB

Resta con acarreo

SBB Dest,Fuente

DIV

Divisin (sin signo)

DIV Op

IVID

Divisin entera con signo

IVID Op

MUL

Multiplicacin

MUL Op

IMUL

Multiplicacin entera con signo

IMUL Op

INC

Incrementar

INC Op

DEC

Decrementar

DEC Op

CMP

Comparar

CMP Opt1,Opt2

SAL

Desplazamiento aritm. A la izquierda

SAL Op,Cantidad

SAR

Desplazamiento aritm. A la derecha

SAR Op,Cantidad

ARIMTICOS
NOMBRE

COMENTARIO

CDIGO

RCL

Rotar a la izquierda c/acarreo

RCL Op, Cantidad

RCR

Rotar a la derecha c/acarreo

RCR Op, Cantidad

ROL

Rotar a la izquierda

ROL Op, Cantidad

ROR

Rotar a la derecha

ROR Op, Cantidad

LGICOS
Se
introducen
las
instrucciones
de
conjuncin , disyuncin
,exclusiva y negacin.

NOMBRE

COMENTARIO

CDIGO

NEG

Negacin (Complemento a 2)

NEG Op

NOT

Invertir cada bit

NOT Op

AND

Y (And ) lgico

AND Dest, Fuente

OR

O (Or) lgico

OR Dest, Fuente

XOR

O (Or) exclusivo

XOR Dest, Fuente

SHL

Desplazam. Lgico a la Izquierda

SHL Op, Cantidad

SHR

Desplazam. Lgico a la Derecha

SHR Op, Cantidad

MISCELNEOS

NOMBRE

COMENTARIO

CDIGO

NOP

Hacer Nada

NOP

LEA

Cargar direccin Efectiva

LEA Dest,Fuente

INT

Interrupcin

INT Num

SALTOS SIN SIGNO (Cardinal)


Sirven para que el
procesador , en lugar de
ejecutar
la
siguiente
instruccin , pase a
ejecutar otra en lugar que
se denomina destino no
salto

SALTOS
NOMBRE

COMENTARIO

CDIGO

JA

Saltar si es superior

JA Dest

JAE

Saltar si es superior o igual

JAE Dest

JB

Saltar si es inferior

JB Dest

JBE

Saltar si es inferior o igual

JBE Dest

JNA

Saltar si no es superior

JNA Dest

JNAE

Saltar si no es superior o igual

JNA Dest

JNB

Saltar si no es inferior

JNB Dest

JNBE

Saltar si no es inferior o igual

JNBE Dest

JC

Saltar si hay carry

JC Dest

JNC

Saltar si no hay carry

JNC Dest

NOTA:
Carry :resultado de operac. sin signo es muy grande o inferior a cero

SALTOS CON SIGNO (Integer)

SALTOS
NOMBRE

COMENTARIO

CDIGO

JG

Saltar si es mayor

JG Dest

JGE

Saltar si es mayor o igual

JGE Dest

JL

Saltar si es menor

JL Dest

JLE

Saltar si es menor o igual

JLE Dest

JNG

Saltar si no es mayor

JNG Dest

JNGE

Saltar si no es mayor o igual

JNGE Dest

JNL

Saltar si no es inferior

JNL Dest

JNLE

Saltar si no es inferior o igual

JNLE Dest

JO

Saltar si hay Overflow

JO Dest

JNO

Saltar si no hay Overflow

JNO Dest

JS

Saltar si hay signo (=negativo)

JS Dest

JNS
Saltar si no hay signo (=posit.)
JNS Dest
NOTA:
Overflow: Resultado de operac. Sin signo es muy grande o pequeo

INTERRUPCIONE
S
QU ES?

Consiste en detener la continuidad de una


accin o proceso.
Una interrupcin en ensamblador; es el
rompimiento en la secuencia de un programa
para ejecutar un programa especial.

En dnde y para
que se utilizan?

Existen 2 clases:

SOFTWARE

HARDWARE

INTERRUPCIONES POR
SOFTWARE

INTERRUPCIONES POR
HARDWARE

Son aquellas programadas por el usuario, es


decir, el usuario decide cuando y donde
ejecutarlas, generalmente son usadas para
realizar entrada y salida. Se ejecutan con
ayuda de las instrucciones:
INT e IRET

Son aquellas que son provocadas por dispositivos


externos al procesador su caracterstica principal es
que no son programadas, esto es, pueden ocurrir en
cualquier momento en el programa. Existen dos clases
de interrupciones de este tipo:
Interrupciones por hardware enmascarables
Interrupciones por hardware no enmascarables

INSTRUCCIN INT

La instruccin INT llama a una


subrutina del sistema conocida
tambin como "manejador de
interrupciones". antes de que se
ejecute la instruccin INT deben
insertarse uno o mas parmetros en
los registros, por lo menos debe
moverse al registro AH un numero
que identifique al procedimiento
especifico.
la
sintaxis
es:

INT numero
Instruccin INT

EJEMPLO:
MOV AH Numero_de_peticin
Parmetros
INT Numero de interrupcin

INTERRUPCCIONES
DEL BIOS

Algunas interrupciones son:


INT 10h: Servicios de Vdeo (texto y grficos).
INT 11h: Informe sobre la configuracin del equipo.
INT 12h: Informe sobre el tamao de la memoria convencional.
INT 13h: Servicios de disco (muy elementales: pistas, sectores, etc.).
INT 14h: Comunicaciones en serie.
INT 16h: Servicios de teclado.
INT 17h: Servicios de impresora

Las interrupciones del


BIOS se invocan, desde
los programas de
usuario.

SERVICIOS QUE OFRECE LA INT 10H

00H Establece el modo de video


01H Establece el tamao del cursor
02H Establece la posicin del cursor
03H Lee la posicin del cursor
04H Lee la posicin del pluma ptica
05H Selecciona la pgina activa

EJEMPLO 1
MOV AH, 02h
MOV BH, 00
MOV DH, 05
MOV DL, 20
INT 10h

06H Recorre la pantalla hacia arriba


07H Recorre la pantalla hacia abajo
08H Lee el atributo o carcter en la posicin del cursor
09H Despliega el atributo o carcter en la posicin del cursor
0AH Despliega el carcter en la posicin del cursor.
etc...

EJEMPLO 2

EJEMPLO 3

MOV AH, 03h


MOV BH, 00
INT 10h
MOV AH, 02h
INC DL
INT 10h

MOV AH, 09h


MOV AL, ' * '
MOV BH, 00
MOV BL, 61H
MOV CX, 50
INT 10h

INTERRUPCCIONES
DEL DOS

El DOS emplea
varias
interrupciones, al
igual que la BIOS

INT 20h: Terminar programa (tal vez en desuso).


INT 21h: Servicios del DOS.
INT 22h: Control de finalizacin de programas.
INT 23h: Tratamiento de Ctrl-C.
INT 24h: Tratamiento de errores crticos.
INT 25h: Lectura absoluta de disco (sectores lgicos).
INT 26h: Escritura absoluta en disco (sectores lgicos).
INT 27h: Terminar dejando residente el programa (en desuso).
INT 28h: Idle (ejecutada cuando el ordenador est inactivo).
INT 29h: Impresin rpida en pantalla (no tanto).
INT 2Ah: Red local MS NET.
INT 2Bh-2Dh: Uso interno del DOS

SERVICIOS QUE OFRECE LA INT 21H

00H Terminacion de Programa


01H Entrada de caracteres con eco
02H Salida de caracteres
03H Entrada auxiliar
04H Salida auxiliar
05H Salida de impresora

EJEMPLO 4
MOV AH, 01h
INT 21H
CMP AL, 00

06H E/S directa de consola


07H Entrada de caracteres no filtrados sin eco
08H Entrada de caracteres sin eco
09H Salida de una cadena de caracteres
ETC...

EJEMPLO 5
MOV AH, 09h
MOV DX, OFFSET MS1
INT 21H

EJEMPLO 6
MOV AH, 4ch
INT 21H

GRACIAS POR SU
ATENCIN