⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sheji.asm

📁 有关芯片8253/8255/8259的程序
💻 ASM
字号:
;该程序电路需把8253的0号OUT端接在8259的IR0
data segment
say db 'welcome come','$'
a db 0h
b db 01h
qseg dw ?
qoff dw ?
data ends
code segment
  assume cs:code,ds:data
main proc far
push ds
mov ax,0
push ax
start:mov ax,data
mov ds,ax
mov al,08h ;取8号中断向量
mov ah,35h
int 21h
mov ax,es
mov qseg,ax
mov qoff,bx
cli
mov al,08h ;修改中断向量
mov ah,25h
mov dx,seg intsum
mov ds,dx
mov dx,offset intsum
int 21h
mov ax,data
mov ds,ax
sti
;初始话8259
mov al,13h; ICW1:边沿触发,单片,要ICW4
mov dx,020h
out dx,al
mov al,8; 中断号高5位
mov dx,021h
out dx,al
mov al,9;全嵌套,非自动结束
out dx,al
;初始化8253
s:mov dx,43h;命令口
mov al,00010000b
out dx,al
mov dx,40h;0号计数器
mov al,12h
out dx,al
l:cmp a,05h
jnz l
cli
mov b,30h
mov dl,b
int 21h
sub b,30h
inc b
call deng
jmp s
cli
mov al,08h
mov ah,25h
mov dx,qseg
mov ds,dx
mov dx,qoff
int 21h
sti
ret
main endp
;延时子程序
delay proc
push ax
push bx
push cx
push dx
mov bx,0ffffh
loop1:mov cx,0200h
loop2:nop
loop loop2
dec bx
jne loop1
pop dx
pop cx
pop bx
pop ax
ret
delay endp
deng proc
mov al,10000000b
mov dx,63h;命令口
out dx,al
mov cx,7
mov bl,1
mov al,80h
l1:mov dx,60h
out dx,al
call delay
sar al,1
push ax
add bl,30h
mov dl,bl
mov ah,2
int 21h
pop ax
inc bl
loop l1
mov dx,60h
mov al,00h
out dx,al
ret
deng endp

intsum proc
sti
push ax
push bx
push cx
push dx
add a,01h
lea dx,say
mov ah,09h
int 21h
mov dx,43h
mov al,00010000b
out dx,al
mov dx,40h
mov al,12h
out dx,al
pop dx
pop cx
pop bx
pop ax
mov al,20h
out 20h,al
iret
intsum endp
code ends
end start

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -