汇编问题!急!!!

yong1 2002-04-21 09:47:57
本来想得到打印10次的,却不行,请问哪里有问题?

data SEGMENT

mess DB '8259A interrupt! ',0ah,0dh,'$'

nn DB 0

data ENDS

code SEGMENT

ASSUME cs:code,ds:data,es:data

start: MOV ax,data

MOV ds,ax

MOV dx,offset shit ; 设置0A中断向量

MOV ah,25h

MOV al,0Ah

INT 21h

CLI

IN al,21h

AND al,0fbh ;开放IRQ2中断对应的屏蔽位

OUT 21h,al

STI ;开中断

faint: JMP faint ;死循环,等待中断

shit: MOV ax,data ;

MOV ds,ax

INC nn ;统计中断次数

MOV dx,offset mess

MOV ah,09h

INT 21h ;显示中断信息

MOV dx,20h

MOV al,20h

OUT dx,al ;发中断结束信号

CMP byte ptr nn,10

JNZ next ;中断次数小于10转NEXT

IN al,21h ;读入屏蔽寄存器的内容

OR al,04h

OUT 21h,al ;关闭IRQ2中断屏蔽位

STI ;开中断

MOV ah,4ch ;返回DOS

INT 21h

next: IRET ;中断返回

code ENDS

END start
...全文
23 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Areslee 2002-04-21
  • 打赏
  • 举报
回复
IRQ2是COM2用的吧?你在COM2接设备(鼠标之类)了吗?
yong1 2002-04-21
  • 打赏
  • 举报
回复
那是哪里有问题呢?要如何修改才好?谢谢了!
  • 打赏
  • 举报
回复
中断后循环除了问题!!!

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧