验证中...
码云 Gitee IDE 全新上线——支持 Git 管理的轻量在线编码环境
语言: Assembly
最后更新于 2017-07-27 18:43
8254.asm
原始数据 复制代码
.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

评论列表( 0 )

你可以在登录后,发表评论

搜索帮助