Assembly 需要在MS-DOS中连接新键盘中断的帮助吗
我正在为一个装配班做作业 我以前曾设法使我的计时器中断显示,并在每次滴答声时更新一个“时钟” 我试图用这些知识来代替我的键盘中断。但即使我对新键盘中断处理程序的安装进行注释,我的程序也会干扰MS-DOS活动(即无法运行任何可执行文件,只能使用“dir”、“cd”和类似命令): 因为即使在我注释掉安装时也存在问题,所以我认为问题在于取消安装或旧的_密钥保存。然而,我不知道是什么错了;安装和解除安装代码本质上不应该与计时器中断的安装/解除安装代码类似吗 如果您能提供帮助,我们将不胜感激Assembly 需要在MS-DOS中连接新键盘中断的帮助吗,assembly,dos,x86-16,interrupt-handling,keyboardinterrupt,Assembly,Dos,X86 16,Interrupt Handling,Keyboardinterrupt,我正在为一个装配班做作业 我以前曾设法使我的计时器中断显示,并在每次滴答声时更新一个“时钟” 我试图用这些知识来代替我的键盘中断。但即使我对新键盘中断处理程序的安装进行注释,我的程序也会干扰MS-DOS活动(即无法运行任何可执行文件,只能使用“dir”、“cd”和类似命令): 因为即使在我注释掉安装时也存在问题,所以我认为问题在于取消安装或旧的_密钥保存。然而,我不知道是什么错了;安装和解除安装代码本质上不应该与计时器中断的安装/解除安装代码类似吗 如果您能提供帮助,我们将不胜感激 mo
mov ds, ax
old_key DD 00000000h
MOV AL, 9h ;+-
你不应该把代码和数据混为一谈。CPU不知道
old_key
不是代码,所以它会很高兴地尝试执行它。将变量移动到设置
标签之前,或插入跳转指令跳过它 有点离题,这帮助我将新的键盘中断与旧的键盘中断挂钩。但是,仍然无法帮助解除安装:
mov ds, ax
old_key DD 00000000h
MOV AL, 9h ;+-