主题:显示中断向量表
wentian007
[专家分:0] 发布于 2007-07-08 20:45:00
显示中断向量表的源代码
沙发
henrya2 [专家分:590] 发布于 2007-07-20 16:46:00
stacks segment stack 'stack'
db 60h dup (?)
stacks ends
intvect segment at 0000h
intvect ends
codes segment 'code'
main proc far
assume cs:codes, ss:stacks, ds:intvect
xor si, si
xor bx, bx
mov ax, intvect
mov ds, ax
loop1:
mov ah, 02h
mov dl, 'I'
int 21h
mov ah, 02h
mov dl, 'N'
int 21h
mov ah, 02h
mov dl, 'T'
int 21h
mov ah, 02h
mov dl, 20h
int 21h
mov cl, 4
push bx
shr bl, cl
and bl, 0fh
add bl, 30h
cmp bl, 3ah
jb prt1
add bl, 7h
prt1:
mov dl, bl
mov ah, 02h
int 21h
pop bx
mov dx, bx
and dl, 0fh
add dl, 30h
cmp dl, 3ah
jb prt2
add dl, 7h
prt2:
mov ah, 02h
int 21h
mov ah, 02h
mov dl, 20h
int 21h
lodsw
push ax
lodsw
call prthex
mov ah, 02h
mov dl, ':'
int 21h
pop ax
call prthex
mov dl, 0dh
mov ah, 02h
int 21h
mov dl, 0ah
mov ah, 02h
int 21h
inc bx
cmp bx, 0ffh
jbe loop1
mov ax, 4c00h
int 21h
main endp
prthex proc near
push bx
mov bx, ax
mov ch, 4
rotate:
mov cl, 4
rol bx, cl
mov al, bl
and al, 0fh
add al, 30h
cmp al, 3ah
jb printit
add al, 07h
printit:
mov dl, al
mov ah, 02h
int 21h
dec ch
jnz rotate
pop bx
ret
prthex endp
codes ends
end main