📄 中断数码管一.asm
字号:
assume cs:code
code segment public
org 100h
start: mov cx,0
jmp start1
segcod db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,77h,7ch,39h,5eh,79h,71h
start1: cli
mov dx,04a0h
mov ax,13h
out dx,ax ;ICW1, ICW4 NEEDED
mov dx,04a2h
mov ax,80h
out dx,ax ;ICW2 中断类型80h
mov ax,01h
out dx,ax ;ICW4
mov ax,00h
out dx,ax ;OCW1, 开放所有中断
nop ;以上为8259初始化
mov ax,0
mov ds,ax
mov di,200h ;初始化中断向量表
mov ax,offset int0
mov ds:[di],ax
add di,2
mov ds:[di],100h ;上述程序为芯片8259的初始化程序
sti
main: mov ax,7fh
mov dx,04b0h
out dx,ax
jmp main
int0: cli ;关中断
nop
mov si,offset segcod
mov bx,0 ;此两行为IR0的中断服务程序
circle1: mov ax,100h
mov ds,ax
mov ax,[si+bx]
mov dx,04b0h
out dx,al
mov cx,50000
lop1: loop lop1
inc bx
cmp bx,10h
jne circle1
mov dx,04a0h
mov ax,20h
out dx,al
sti
iret ;中断返回
code ends
end start
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -