还是找到了以前写的,拿分来
;
;purpose:ring and display a message every 10 seconds
;
model small
stack 100h
data
count dw 1
msg db 'The bell is ringing!',0dh,0ah,'$'
code
main proc far
start:
mov ax,@data
mov ds,ax
mov al,1ch
mov ah,35h ;get interrupt vector
int 21h
push es
push bx
push ds
mov dx,offset ring
mov ax,seg ring
mov ds,ax
mov al,1ch
mov ah,25h
int 21h
pop ds
in al,21h
and al,11111110b
out 21h,al
sti
mov di,2000
delay:
mov si,3000
delay1:
dec si
jnz delay
pop dx
pop ds
mov al,1ch
mov ah,25h
int 21h
mov ah,4ch
int 21h
main endp
;---------------------
;purpose:ring every 10 seconds when substituted for interrupt 1ch
ring proc near
push ds
push ax
push cx
push dx
mov ax,@data
mov ds,ax
sti
dec count
jnz exit
mov dx,offset msg
mov ah,09h
int 21h
mov dx,100
in al,61h
and al,0fch
sound:
xor al,02
out 61h,al
mov cx,1400h
wait1:
loop wait1
dec dx
jne sound
mov count ,182
exit:
cli
pop dx
pop cx
pop ax
pop ds
iret
ring endp
end start
已知中断向量号17H,那么对应中断向量表地址多少(005CH)。
--17H 4 = 5CH
若已知CS=3200,IP=3200,程序入口地址=(35200H)、
--32000H + 3200H = 35200H
17H中断对应向量表中4个字节内容分别是(90H,78H,45H,23H)
--这说法不对。
--这四个字节的内容,分别是 IP 和 CS 的低、高八位。
--应该如下:
--(005CH) = 00H
--(005DH) = 32H
--(005EH) = 00H
--(005FH) = 32H
以上就是关于汇编语言 中断程序代码全部的内容,包括:汇编语言 中断程序代码、某中断程序入口地址为23456H,放置在中断向量表中的位置为00020H,此中断向量号为、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)