验证中...
8月18日(周六)成都源创会火热报名中,四位一线行业大牛与你面对面,探讨区块链技术热潮下的冷思考。
语言: 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 )

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