终止居住装配计划

时间:2014-10-29 23:59:24

标签: assembly dos terminate

我正在练习汇编语言已有一段时间了,我有点喜欢它。我开始做TSR程序,比如扫描来自键盘的输入等等。
对我来说仍然让人困惑的是,当按下某个键时,如何运行终止程序。我想要创建的最基本的东西是在屏幕的开头显示我的名字,例如" ^"键是按下的。请注意,我希望在我的程序执行后发生发生
Command line

就像你在图片上看到的一样。想象一下,我开始了ma program" test.com"。在我的" test.com"程序我写了TSR代码,每当我按" ^" key我的名字写在屏幕的开头。现在您可以在图片上看到我的程序已完成,我可以运行新程序。但是当我按下" ^"键我仍然想在屏幕的开头写我的名字,虽然程序不再运行。

对不起这么详细的帖子,但我想确定你明白我在问什么。我知道基本/高级装配编程,我熟悉用自定义例程和一切来改变中断。我曾与TSR项目合作,这些项​​目在执行时执行,而不是在。之后 我也很感激,如果你不发布愚蠢的答案,比如"你为什么这样做","哇,你过去生活是没用的"。我有自己的理由这样做,但显然出于实践原因。如果真正了解装配的人能够回答我,而不是那些想要获得更多徽章答案的人,那就太好了...

我最想要的是,如果有人可以给我写一个我要求的示例代码或者至少一些说明,比如我应该使用什么样的中断。

提前致谢

1 个答案:

答案 0 :(得分:0)

我现在明白了。诀窍是你只需编辑你的BIOS中断,而不是输入这样的东西

mov ax,3100h ;   *This will terminate program and make it resident in RAM memmory*
mov dx,ammount_of_memmory ;   *This is the amount of memmory i want to reserve for my program*
int 21h ;   *This is the DOS system call to execute our program*

通过这种方式,您可以更改键盘上按某个键时会发生什么。但是,如果我们想要显示消息,当某些动作发生时,我们需要将其直接放在视频内存上而不是使用标准打印功能。