8 8086 interrupts
TRANSCRIPT
-
7/29/2019 8 8086 Interrupts
1/5
C O N T E N T S A h m e d H . Z a h r a n
8 0 8 6 I n t e r r u p t s
C o n t e n t s
1 I n t r o d u c t i o n t o I n t e r r u p t s 1
2 8 0 8 6 I n t e r r u p t s 4
2 . 1 8 0 8 6 I n t e r r u p t v e c t o r . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 . 2 E x a m p l e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1 I n t r o d u c t i o n t o I n t e r r u p t s
I n t e r r u p t s a r e s p e c i a l t y p e o f C A L L S . T h a t i s t o s a y t h a t i n t e r r u p t s s t o p s i n s t r u c t i o n s e q u e n -
t i a l e x e c u t i o n t o e x e c u t e a s u b r o u t i n e ( u s u a l l y c a l l e d i n t e r r u p t s e r v i c e r o u t i n e ( I S R ) o r
I n t e r r u p t h a n d l e r ) .
I n t e r r u p t p r o c e s s i n g i s a n a l t e r n a t i v e t o p o l l i n g .
T h e a d d e r s s o f t h e I S R i s s t o r e d i n a n i n t e r r u p t v e c t o r , w h i c h i s 4 - b y t e c o n t a i n i n g t h e I P
t h e n C S o f t h e I S R .
E L C - 2 0 3 : C o m p u t e r I I 1 L e c t u r e N o t e s
-
7/29/2019 8 8086 Interrupts
2/5
A h m e d H . Z a h r a n
I n t e l p r o c e s s o r s h a v e 2 5 6 i n t e r r u p t t y p e s w h o s e i n t e r r u p t v e c t o r s a r e s t o r e d i n t h e r s t
1 0 0 0 b y t e s o f t h e m e m o r y . T h e s e 1 0 0 0 b y t e s a r e c o m m o n l y k n o w s a s I n t e r r u p t v e c t o r
t a b l e .
I n t e r r u p t s a r e t w o t y p e s
S o f t w a r e g e n e r a t e d i n t e r r u p t s ; e . g . I N T 2 1 . S o f t w a r e i n t e r r u p t s a r e c o m m o n l y u s e d t o
p e r f o r m s y s t e m p r o c e d u r e s .
h a r d w a r e g e n e r a t e d i n t e r r u p t s . F o r e x a m p l e i n t e r r u p t s g e n e r a t e d b y e x t e r n a l d e v i c e s
s u c h a s t h e k e y b o a r d a n d m o u s e .
N M I ( N o n M a s k a b l e I n t e r r u p t s ) s u c h a s p o w e r f a i l l u r e
I N T R ( I n t e r r u p t s )
E L C - 2 0 3 : C o m p u t e r I I 2 L e c t u r e N o t e s
-
7/29/2019 8 8086 Interrupts
3/5
A h m e d H . Z a h r a n
I N T A i s u s e d t o a c k n w l e d g e t h e i n t e r r u p t b y t h e p r o c e s s o r .
A f t e r c o m p l e t i n g e v e r y i n s t r u c t i o n , t h e p r o c e s s o r p e r f o r m s t h e f o l l o w i n g o p e r a t i o n s i f
a n i n t e r r u p t i s d e t e c t e d [ I F = 1 a n d I N T R a c t i v e ( H I G H ) ]
F L A G S i s p u s h e d o n t o t h e s t a c k
B o t h t h e i n t e r r u p t ( I F ) a n d t r a p ( T F ) a g s a r e c l e a r e d , w h i c h d i s a b l e s t h e I N T R p i n
a n d t h e t r a p o r s i n g l e - s t e p f e a t u r e .
T h e C S a n d I P a r e p u s h e d o n t o t h e s t a c k .
T h e p r o c e s s o r g e n e r a t e s INTA L O W t w i c e , e a c h t i m e f o r a b o u t o n e c y c l e t o t r i g g e r
r e c e i v i n g t h e t y p e o f t h e i n t e r r u p t i n t h e s e c o n d INTA c y c l e
T h e i n t e r r u p t v e c t o r c o n t e n t s s t a r t i n g a t ( n * 4 ) a r e f e t c h e d a n d l o a d e d i n t o C S a n d I P
a n d e x e c u t i o n r e s u m e s i n t h e I S R .
I n t e r r u p t s e r v i c e r o u t i n e
I S R i s a t y p i c a l a s s e m b l y p r o g r a m b u t i t s h o u l d b e t e r m i n a t e d b y I R E T ( I n t e r r u p t
r e t u r n i n s t r u c t i o n )
O n e x e c u t i n g t h e I R E T i n s t r u c t i o n , C S , I P a n d F L A G S a r e p o p p e d f r e o m t h e s t a c k . 4
I F a n d T F a r e s e t t o t h e s t a t e p r i o r t o t h e i n t e r r u p t .
E L C - 2 0 3 : C o m p u t e r I I 3 L e c t u r e N o t e s
-
7/29/2019 8 8086 Interrupts
4/5
A h m e d H . Z a h r a n
2 8 0 8 6 I n t e r r u p t s
2 . 1 8 0 8 6 I n t e r r u p t v e c t o r
V e c t o r n u m b e r D e s c r i p t i o n
T y p e 0 : D i v i d e E r r o r ( D i v i s i o n b y z e r o )
T y p e 1 : D e b u g I n t e r r u p t ( S i n g l e s t e p )
T y p e 2 : N M I I n t e r r u p t ( E m e r g e n c y e v e n t s )
T y p e 3 : B r e a k p o i n t ( e . g . I N T 3 i n t h e c o d e )
T y p e 4 : I n t e r r u p t o n o v e r o w
T y p e c o d e s 5 t h r o u g h 3 1 a r e r e s e r v e d b y t h e I n t e l ( a c t u a l l y m a n y o f t h e m a r e u s e d i n t h e
f o l l o w i n g I n t e l p r o c e s s o r s )
T y p e c o d e s 3 2 - 2 5 5 c a n b e u s e d .
2 . 2 E x a m p l e
; T h e I S R i s w r i t t e n a t o f f s e t C u s t o m I S R o f t h i s p r o g r a m b u t i s n o t s h o w n
C I S R :
i n a l , 3 7 8 ;
c m p a l , 6 0
j l l o w
c m p a l , 8 0
j l e o k
j g h i g h
l o w :
m o v a l , 1
o u t 1 2 7 , a l ; t u r n " o n " h e a t e r @ p o r t 1 2 7 .
j m p o k
h i g h :
m o v a l , 0
o u t 1 2 7 , a l ; t u r n " o f f " h e a t e r @ p o r t 1 2 7
o k : I R E T ;
; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;
m o v a x , 0 ;
m o v e s , a x
m o v a l , 9 0 h ; i n t e r r u p t # 9 0 h :
m o v b l , 4 h ; m u l t i p l y 9 0 h b y 4 , s t o r e r e s u l t i n a x
m u l b l
m o v b x , a x
m o v s i , o f f s e t [ C I S R ] ; c o p y o f f s e t i n t o i n t e r r u p t v e c t o r
m o v e s : [ b x ] , s i
a d d b x , 2
m o v a x , c s ; c o p y s e g m e n t i n t o i n t e r r u p t v e c t o r :
E L C - 2 0 3 : C o m p u t e r I I 4 L e c t u r e N o t e s
-
7/29/2019 8 8086 Interrupts
5/5
2 . 2 E x a m p l e A h m e d H . Z a h r a n
m o v e s : [ b x ] , a x
i n t 9 0 h ; t e s t n e w l y c r e a t e d i n t e r r u p t .
R e f e r e n c e s
M . R A F I Q U Z Z A M A N , F u n d a m e n t a l s o f D i g i t a l L o g i c a n d M i c r o c o m p u t e r D e s i g n , F i f t h
E d i t i o n .
E L C - 2 0 3 : C o m p u t e r I I 5 L e c t u r e N o t e s