National Instruments PC-DIO-96 User Manual page 63

Digital i/o board for the ibm pc/xt/at
Table of Contents

Advertisement

Chapter 4
mov
mov
mov
mov
; set interrupt vector--save the current vector before writing out new one
mov
cmp
ja
add
jmp
slave:
add
mov
setvec:
push
mov
int
pop
mov
mov
cmp
jne
cmp
je
ii_0:
mov
mov
mov
push
mov
mov
mov
int
pop
; mask interrupt level in the interrupt controller register and store
;
the original setting of the mask bit for the selected interrupt level
mov
mov
shl
mov
not
in
jmp
and
and
out
jmp
in
jmp
and
and
out
mov
© National Instruments Corporation
ax,[bp+8]
word ptr isrb_addr[0],ax
ax,[bp+10]
word ptr isrb_addr[2],ax
ax,[bp+6]
al,7
short slave
al,008h
short setvec
al,068h
slave_ack,1
ax
ah,35h
21h
ax
cx,cs
dx,es
dx,cx
short ii_0
bx,offset _isr_handler
short ii_exit
vect_num,al
word ptr int_addr[0],bx
word ptr int_addr[2],es
ds
ds,cx
dx,offset _isr_handler
ah,25h
21h
ds
cx,[bp+6]
bx,1
bx,cl
cx,bx
bx
al,maskm
$+2
cl,al
al,bl
maskm,al
$+2
al,masks
$+2
ch,al
al,bh
masks,al
int_mask,cx
; Get ofs into ax
; Save address in variable
; Get seg into ax
; Save address in variable
; Get interrupt level
; Check to see if it belongs to master
;
or slave interrupt chip
; Offset for master vector list
; Go set the vector
; Offset for slave vector list
; Flag for slave channel
; Save vector number for later
; Get current vector
; Get previous int_addr in es:bx
; Restore vector number
; Prep to compare current/new vectors
; See if vector is already there
; Vector already installed--exit
; Save vector number for remove_isr
; Save the address
; Save the data segment
; Copy cx (== cs) into ds
; ds:dx points to new handler
; Install the handler in the system
; Get interrupt level
; Generate some masks
; cx has 1 in bit pos of int-level
; bx has 0 in bit pos of int-level
; Get mask data from master chip
; Delay--wait for data transfer
; Determine setting of mask bit
; Enable interrupts for selected level
; Delay--wait for data transfer
; Get mask data from slave chip
; Delay--wait for data transfer
; Determine setting of mask bit
; Enable interrupts for selected level
; Save the previous value of the mask
4-25
Register-Level Programming
PC-DIO-96 User Manual

Advertisement

Table of Contents
loading

Table of Contents