Interrupciones
Interrupciones
Interrupciones
Arquitectura de Computadoras
Ax = Almacena
Bx = Base
Cx = Contador
Dx = Datos
Ensambladores
AH = 01H
DEVUELVE:
DEVUELVE: NADA.
DEVUELVE:
NADA
DEVUELVE:
NADA.
Servicio Descripción
21 Event Wait
84 Leer Joystick
86 Delay (CX DX)
88 Tamaño mem.extend.
c0 Parámetros sistema
c1 Datos BIOS extendida
MOV AH,00h
INT 15h
JC error
;Si viene hasta aquí el motor está en marcha
error:
CMP AH,86h ;Comprobamos si AH=86h
JE no_hay_cinta
;Si viene hasta aquí hay un error
no_hay_cinta:
;Si viene hasta aquí no hay cinta dentro de la unidad
Int 16h
leertecla:
XOR AX,AX ;Funcion 0
INT 16h ;Llamamos al teclado
cambiarletra:
MOV AL,0A4h ;Ponemos la letra "ñ" en AL
RET ;Volvemos de la rutina
int 1ah
La interrupción INT 1AH es un tipo de interrupción BIOS que se considera
como “Llamada al sistema” que se encarga de controlar el RTC (real time-
clock) (Reloj de tiempo real) es un reloj de un ordenador, incluido en
un circuito integrado, que mantiene la hora actual. Aunque el término
normalmente se refiere a dispositivos en ordenadores personales,
servidores y sistemas embebidos(sistema de computación diseñado para realizar
una o algunas pocas funciones dedicadas), los RTC están presentes en la
mayoría de los aparatos electrónicos que necesitan guardar el tiempo
exacto.
Terminología
El término se usa para evitar la confusión con los relojes
hardware ordinarios que sólo son señales que
dirigen circuitos digitales, y no cuentan el tiempo en
unidades humanas. Los RTC no deben ser confundidos
con la computación en tiempo real (en inglés, real-time
computing), que comparte su acrónimo de tres letras,
pero que no se refiere directamente a la hora del día.
VENTAJAS
Aunque controlar el tiempo puede hacerse sin un RTC,
usar uno tiene beneficios:
•Bajo consumo de energía (importante cuando está
funcionando con una pila)
•Libera de trabajo al sistema principal para que pueda
dedicarse a tareas más críticas.
•Algunas veces más preciso que otros métodos
Los RT
C
alime a menudo
nt t
puede ación alte ienen una
E
n rn f
mien seguir m ativa, po uente de
C IO N
r lo q
TE D dispo
princ
tras l
ipal e
a fuent
idien
e de a
d o el t
iemp
o
ue
nible s tá apa l im en
altern . Esta gada tació
ativa fuent o n n
de lit es no e de a o está
i rm li
algun o en los si almente mentación
ENTA
FUEN
i a n
RAM strar energ tiva tambi te de
gener dent ía a u én pu
alme r o del m n a mem ede
n te is or
de la almacen mo RTC, ia
BIOS a q
de la la configu ue
placa ra
base. ción
1Ah
--> C
ontr
tiem ola
po re dor del
al (C re
ión
1Ah MOS loj de
h
--> 0 )
0h --
in t 1 a
1Ah > Le
tiem er el
rrupc --> 0
1h -- p o reloj
> Es real en
t
1Ah tiem ablecer
1Ah --> 0 po re el r e
--> 0 2 h --> a l loj e
3h -- Leer n
1Ah
--> 0 > Estab la hora
e inte
1 4h le c
1Ah Ah --> 0 --> Obte er la ho
-- 5 n ra
1Ah > 06h --> h --> Fija er fecha
1Ah --> 07h - Estable r fecha
--> 0 -> De c
A sact er la ala
d
1Ah h --> iv rm
--> 0
Bh -- Leer con ar la alar a
Tipos
> Es ma
table tador de
1Ah de d ce r c días
--> 8 ía s o ntado
0h -- r
> So
nido
Aplicación
Interfase
Tubería
Lectura del
flujo de entrada
Medidor de
Flujo
Procesamiento
Salida de la
válvula
Tiempo
Computadora Válvula
Un Sistema de control
de fluido simple
INT 33H
La interrupción INT 33H es la interrupción de control del ratón. El driver del ratón
esta constantemente recibiendo información del puerto al cual conectamos el ratón.
INT 10
INT 10H Función 00H
Establecer modo de Vídeo
LLAMADA:
AH = 00H
AL = Modo de vídeo.
DEVUELVE:
NADA.
ño de
r
-
Curso 4 de CH =
Curso
r Línea
Bits 0 inicia
u n c ió
-4 de l del
tama
Curso CL =
r. Línea
DEV final
UELV del
0H F
lecer
NAD E:
A.
EFEC
INT 1
Estab
TO:
Se se
leccio
Curso n
r en m a un nuev
odo t o tam
exto. año d
e
LLA
MAD
AH = A:
02 H
BH =
Págin
DH = a de
Línea vídeo
n 0 2H
DL = d onde s
Colu ituar
rsor
DEV m na don el cu
UEL d rsor
VE: e s ituar
NAD el cu
A. rsor
EFEC
TO:5
4444
e l Cu Posic
los re
iona
el cur
44
u n c ió
gistro so
Sólo s DH r en panta
se y DL lla, d
págin desplaza e acu
a de v rá el erdo
c a las
para íd eo acti u r sor s i coord
cada va. E la pág enada
actua una d s i s indi
l e las pá to es así n a de v cadas
ginas ya qu ídeo i en
io n a r
con l e
la p as qu n cursor i diante BH
izqui fila empi ara la col e con ndep
e es la
er ez u tamo
colum da de la p an a parti mna empi s en e ndiente
n a r e l mod
ó la 7 a máxim ntalla tend de 0. Esto zan a part o
9 (si a es l r á l a q u iere ir d e
es la e a s 0.
24 (s stamos en 39 (si esta coordenad decir qu Las coor
P o sic
n 03H
CH = E:
ursor
Línea
CL = inicia
a ño
Línea l del
final curso
DH = d r
Fila d e l curs
onde o r
DL = se e n
Colum cuent
n ra el
y Tam
EFEC a dond curso
TO: e se e
del C r
u n c ió
Obtie nc u entra
ne las el cur
obtie sor
ne el coordena
tama das d
ño de e
l curs l cursor en
INT 1 o r. una p
0H F ágina
unció de ví
Estab n deo d
lecer 0 5H ada. T
0H F
sición
n ueva ambi
LLA págin én se
MAD a
A : d e vídeo
AH =
05H
AL =
Págin
DE V a de v
UELV ídeo.
INT 1
NAD E :
ar po
A.
EFEC
TO:
Estab
le
mostr ce como
ándo activ
en la se al
posic por panta a nueva p
para ión q lla el ágina
Busc
cada u
modo e le corre contenido de vídeo i
de ví sp d n
deo s onda para e esa pág dicada me
on: esa p ina d diant
ágina ev ee
de ví ídeo, y sit l registro
deo.
Las p uando el c AL,
ágina u
s pos rsor
ibles
LLAM
ADA
AH = :
06H
AL =
N
la ven úmero de
n 06H
hacia exto
ta n a s l
elecc íneas a de
arriba
BH = ionad s
Atrib
u a med plazar. Si
to a u iante A
CH =
Línea sar en los re L=0, se bo
s de t dond las lín gistro rra to
CL = e comi e a s borra s C X y D da
Colu
u n c ió
NAD a la v
A. entan
a de t
EFEC exto.
TO:
l az a r
INT 1
Desp
la
la ven za hacia a
t rr
Las l ana espec iba un nú
ín if m
blanc eas despla icada med ero determ
Desp
o z ia
medi s. El color adas, que nte los re inado de l
ante e d g í
l regi utilizado e an vacías, istros CX neas en
stro B n esta re y
H. s líne llenándos DX.
as va
cías s e con
e in d
ica
LLAM
ADA
AH = :
07H
AL =
N
la ven úmero de
n 07H
hacia xto
ta n a s l
elecc íneas a de
abajo
BH = ionad s
Atrib
u a med plazar. Si
to a u iante A
CH = sar en los re L=0, se bo
e
Línea las lín gistro rra to
s de t CL = dond s
Colu e comi e a s borra C X y D da
u n c ió
NAD a la v
A. entan
a de t
exto.
EFEC
l az a r
TO:
INT 1
Desp
la
la ven za hacia a
t b
Las l ana espec ajo un nú
ín if m
blanc eas despla icada med ero determ
Desp
o z ia i
medi s. El color adas, que nte los re nado de l
ante e d g ín
l regi utilizado e an vacías, istros CX eas en
stro B n esta re y
H. s líne llenándos DX .
as va
cías s e con
e in d
ica
Leer
carác
LLAM ter y
atribu
ADA to
AH = :
n
08H
08 H
u n ció BH =
DEV
Págin
a de v
UELV ídeo.
AH = E:
Atrib
0H F
AL = uto (c
Códi olor d
g o el car
EFEC A SCII ácter
TO: del ca ).
Medi rácte
ante l r leíd
INT 1
devue a llam o.
l a
situad ve en AL da a esta
o el fu
mism en la pos código d nción, se
o ic el
carác , obtenem ión del cu carácter
ter. os en r
AH e sor. Así
l colo
r de e
ste
Escri
bir ca
LLA rácte
MAD r y at
ributo
AH = A :
n
09H
09 H
AL =
u n ció BH =
Códi
Págin
go de
l cará
cter a
BL = a d e víd escrib
Atrib eo d o ir.
u to ó c n de esc
CX = o l o ribir
0H F
EFEC
TO:
Se es
cr
curso ibe un ca
r, rá
carác en la pág cter en la
t er t e i
ndrá na de víd posición a
e l co l e c
or ind o deseada tual del
i cad o .E
medi l
ante
BL.
Escri
bir un
LLAM punto
ADA o pix
: e l g rá
AH = fico
0CH
AL =
n 0 CH
Valor
BH = del co
Págin lor a
a de v usar.
CX = ídeo
Colu dond
(coor mna e esc
denad dond ribir
a gr e esc el car
CX = á r ibir e
unció
fica x l pixe ácter.
Fila d )
gráfic onde l
a y) escrib
DEV ir el p
UELV ixel (
E coord
NAD : enada
A.
0H F
EFEC
TO:
Da un
válid nuevo col
a sólo or a u
INT 1
para n
modo pixel grá
s gráf fi
icos. co. Funció
n
LLA
MAD
AH = A:
0D H
BH =
H
Págin
el
a de v
o
n 0D CX = ídeo.
C
n pix
(coor olumna d
gráfic
denad el pix
DX = a g ráfica el que n
Fila d x). os int
u n ci ó
gráfic e eresa
a y). l pixel qu
r de u
DEV e nos
UELV intere
E s a ( co
AL = : orden
Valor ada
0H F
TO: or de
l pixe
Obtie l.
ne el
panta c
lla. E olor de un
INT 1
coord st p
enada e punto se unto gráf
ner e
válid i
a sólo s gráficas referencia co de la
p a ra (x rá
modo ,y): (CX, mediant
s gráf D e
icos. X). Funci las
Obte
ón
INT 10H Función 0FH
Obtener el Modo de vídeo actual
LLAMADA:
AH = 0FH
DEVUELVE:
AL = Modo de vídeo actual.
AH = Cantidad de caracteres que caben en una línea en el modo de vídeo
actual.
BH = Número de la página activa.
EFECTO:
Mediante esta función podemos saber en todo momento, en qué modo de
vídeo estamos trabajando. La utilidad de esta función reside sobre todo
en la construcción de programas residentes.
Los sis
llama temas ope
n r
disqu a esta int ativos de
e er m
interr te. Las ap rupción p odo real c
u lic a o
interr pción int 2 aciones d ra operaci mo MS-D
upció 1 e o O
n INT h para ac MS-DOS nes de dis S
3H
ceso c
13h. al dis llaman a o y de
Los nu co en
v ez
la
Wind evos siste de l a
o m
INT 1 2003 ws NT y s as operat
) u iv
se la o linux int s derivado os como M
pa e s
disqu san a sus rceptan la (ej. NT 4 icrosoft
e m l .0
cuand te. Windo ecanismo lamada a , XP y se
o util w s es rv
izan e s 9x y Wi nativos d ta interru er
l mod nd e pc
o de ows 3.x t acceso al ión y
La ruti acces a
o a ar mbién ha isco o
d
n
504 M a origina chivo cen e
s s
utiliz B o má l de la d e 32 bi to
a s gra interr ts.
se cre el modo d ndes hast upción so
a e a po
modo ron las ex acceso C un límite rta discos
L te H d
sopor BA (dire nsiones d S, para ro e 8 GiB p de
ta c e m o
usar m ndo así h ciones de la INT 13 per esta b r que
as 6 h a
o 128 odos LBA ta 8 ZiB 4-bits) par que utiliz rrera,
P iB r d de a a
espec e 32-bits espacio ( acceder a n el
tivam ó T l
ente) 48-bits q ambién se disco,
. ue so
porta puede
n2T
iB
Tabla de Unidades
Tabla de Estado
TOD
OS: P
para u
disco ede ser u
d tiliza
e
HD: u r o d
cios
y isque o
d
Solo d
c c ió n por e pued te
l disc e ser
Servi o d u utiliz
FD: S ro ado
olo p
por e u
l disq ede ser u
Tradu
u et e tiliza
PS/2: do
So l o
d e eq para
uipos disco
EXT: P S/ 2 s duros
Exten
13h sione
s de l
a INT
Servicios
INT 13 h AH=00h – Reiniciar
controlador de Disco
AH 00h
Ejemplo:
MOV AH,00h
MOV DL,00h ;Primera disquetera
INT 13h
INT 13h AH=02h - Leer sectores
Parámetros
AH = 02 h Leer Sectores
DL = ?? Número de Unidad
Ejemplo:
MOV AH,02h
MOV AL,10 ;10 sectores a leer
MOV CH,02 ;Cilindro 2
MOV CL,01 ;Empezamos desde el primer sector
MOV DH,01 ;Cabeza 1
MOV DL,00h ;Primera disquetera
MOV BX,0800h ;ES:BX - 0000:0800
INT 13h
JMP 0000h:0800h ;Saltamos a la dirección que acaba de leer
AH = 41h Verificar sectores
AL = ?? Número de sectores a
-
es
verificar (tiene que ser
=04h mayor de 0)
ector
CH = ?? 8 bits bajos del número
del cilindro
CL = ?? Número de sector (Bits
3h AH
Ejemplo:
MOV AH,02h
MOV AL,10 ;10 sectores a leer
MOV CH,02 ;Cilindro 2
MOV CL,01 ;Empezamos desde el primer sector
MOV DH,01 ;Cabeza 1
MOV DL,00h ;Primera disquetera
MOV BX,0800h ;ES:BX - 0000:0800
INT 13h
JMP 0000h:0800h ;Saltamos a la dirección que acaba de leer
INT 13h AH=04h - Verificar sectores
AH = 41h Verificar sectores
AL = ?? Número de sectores a verificar (tiene que ser
mayor de 0)
CH = ?? 8 bits bajos del número del cilindro
CL = ?? Número de sector (Bits 0-5), 2 bits altos del
número del cilindro (Sólo disco duro)
DH = ?? Número de cabeza
DL = ?? Número de unidad
ES:BX Buffer de datos
Retorna
CF Activada en error, limpia si no hay error
AH = ?? Estado
AL = ?? Número de sectores verificados
Ejemplo:
MOV AH,04h
MOV AL,18 ;18 sectores ha comprobar
MOV CH,3 ;Cilindro 3
MOV CL,1 ;Sector 1
MOV DH,00 ;Cabeza 0
MOV DL,00 ;Primera disquetera
MOV BX,00 ;Ponemos el buffer en 0000:0800
MOV ES,BX
MOV BX,0800h
INT 13h
JC sector_malo_o_error
;Si viene aquí los sectores están bien
sector_malo_o_error:
;Si viene aquí hay un sector dañado o ha habido otro tipo de error
INT 13h AH=41h - Comprobar si las
extensiones están instaladas
AH = 41h Comprobar extensiones
BX = 55AAh Comprobar extensiones
DL = ?? Número de unidad
CF Activada en error (no hay extensiones), limpia si no hay error
AH = ?? Número de la versión mayor de las extensiones (01h = 1.x, 20h = 2.0 /
EDD-1.0, 21h = 2.1 / EDD-1.1, 30h = EDD-3.0)
AL = ?? Uso Interno
BX = 55AAh Devuelve 55AAh si están instaladas
CX = ?? Lista de bits de las extensiones instaladas (Bit 0-15)
DH = ?? Versión de las extensiones (v2.0+ ??? -- no presente en 1.x)
Ejemplo:
MOV AH,41h
MOV BX,55AAh
MOV DL,80h ;Primer disco duro
INT 13h
JC no_hay_extensiones
;Si viene aquí las extensiones están instaladas
no_hay_extensiones:
;Si viene aquí las extensiones no están instaladas
Código ASCII
https://www.youtube.com/watch?v=vFnEN4s-
zEw
http://ict.udlap.mx/people/oleg/docencia/Asse
s
mbler/asm_interrup_10.html
encia
https://es.wikipedia.org/wiki/Int_13h
https://es.wikipedia.org/wiki/Int_15h
Refer
https://es.wikipedia.org/wiki/Int_16h
https://www.lawebdelprogramador.com/foros/E
nsamblador/12815-interrupciones-de-lenguaje-
ensamblador.html