验证中...
8月18日(周六)成都源创会火热报名中,四位一线行业大牛与你面对面,探讨区块链技术热潮下的冷思考。
Languages: Assembly
Latest update 2017-07-27 18:41
8254.asm
Raw Copy
.model small
.data
mess db 'TPCA interrupt!', 0dh, 0ah, '$'
count db 10
.code
.startup
; 将中断服务程序的入口地址写入中断向量表
mov ax, cs
mov ds, ax
mov dx, offset IR10
mov ax, 2572h
int 21h
; 打开IR2中断屏蔽位
in al, 21h
and al, 0fbh
out 21h, al
; 打开IR10中断屏蔽位
in al, 0a1h
and al, 0fbh
out 0a1h, al
; 设置8254的计数器和方式
mov dx, 293h
mov al, 10h
out dx, al ; 计数器0,方式0
mov dx, 290h
mov al, 04h ; 初始计数器数值为4
out dx, al
sti
wait1:
cmp count, 0
jnz wait1
; 屏蔽IR2中断
in al, 21h
or al, 04h
out 21h, al
sti
; 程序运行结束,返回DOS
mov ah, 4ch
int 21h
IR10:
mov ax, @data
mov ds, ax
mov dx, offset mess
mov ah, 09
int 21h
dec count
mov dx, 290h
mov al, 04h ; 初始计数器数值为4
out dx, al
mov al, 20h
out 20h, al
out 0a0h, al
iret
end

Comment list( 0 )

You need to Sign in for post a comment