Assembly 鼠标指针操作代码

Assembly 鼠标指针操作代码,assembly,embedded,Assembly,Embedded,假设,我在这一年,比方说,在1950或1960年代。我没有太多可用的编程语言工具,比如PASCAL、FORTRAN或ALGOL,直到最近,计算机鼠标才被引进和发明,直到最近它们才与计算机一起提供,当连接到计算机的某个特定端口时,我可以看到计算机屏幕上的一个小箭头,甚至是一个CRT屏幕,希望你能允许放松,因为没有按照我移动鼠标的方式与实际的时间顺序同步 现在我想要一个可以控制屏幕上鼠标指针的计算机程序。比如说,我想写一个计算机程序,将鼠标指针移动到与我移动鼠标的方向相反的方向,或者写一个计算机程序

假设,我在这一年,比方说,在1950或1960年代。我没有太多可用的编程语言工具,比如PASCAL、FORTRAN或ALGOL,直到最近,计算机鼠标才被引进和发明,直到最近它们才与计算机一起提供,当连接到计算机的某个特定端口时,我可以看到计算机屏幕上的一个小箭头,甚至是一个CRT屏幕,希望你能允许放松,因为没有按照我移动鼠标的方式与实际的时间顺序同步

现在我想要一个可以控制屏幕上鼠标指针的计算机程序。比如说,我想写一个计算机程序,将鼠标指针移动到与我移动鼠标的方向相反的方向,或者写一个计算机程序,将鼠标指针冻结在鼠标屏幕上几秒钟,或者写一个计算机程序,当鼠标移动到屏幕的特定部分时,改变鼠标指针的形状屏幕

鉴于此要求,我的语言将如何与系统交互以控制鼠标指针。我的语言的编译器是否会被修改,以添加更多的指令、方法或函数,从而生成控制鼠标指针的机器代码

假设,我在这一年。。。20世纪五六十年代。 我在编程语言方面没有太多可用的工具。 现在我想要一个可以控制鼠标指针的计算机程序

。。。我的语言将如何与系统交互以控制鼠标? 我的语言的编译器是否会被更改,以添加更多的指令

我想是的

在那些年代,计算机比今天更加僵硬;例如,你不能从一个供应商那里购买一台计算机,然后从另一个供应商那里将硬盘连接到计算机上。为计算机提供的编程语言或多或少遵循相同的方法;简言之,计算机是一种独特的硬件和软件,因此所需的一切都已经存在于这种独特的硬件和软件中

我认为这意味着,如果50年代的计算机有鼠标,其上使用的编程语言将有特殊的指令来处理它

例如,如果我们看一下BASIC语言,我们可以看到最初的打印指令可以用电传打字的方式打印东西。当电传打字机被带有视频的CRT终端取代时,可能会出现25行80列的字符,新概念如光标、清晰屏幕、闪烁字符等。开发了管理这些新功能的不同方法:从将值戳到操作系统或固件位置的低级别,到使用今天仍在使用的转义序列,但最终现代基础包括语言中对它们的本机支持,如LOCATE和CLS指令、FLASH修改器以及类似的东西

为机器X编写一个用BASIC编写的程序,并让它在机器Y上运行并不总是一件小事:BASIC的太多变体和周围许多不同的机器使事情变得复杂。无论如何,这与我的第一句话是一致的:语言是为给定的硬件量身定做的,并试图为该硬件提供功能

幸运的是,事情在发展。现在,您可以从供应商处购买硬盘或鼠标,并将其连接到其他供应商的计算机上。这是可能的,因为标准化。语言也是如此——现在没有人试图开发一种语言来支持计算机的特定功能。相反,语言和操作系统倾向于实现各种协议或标准,使它们能够与其他软件、软件库、驱动程序和操作系统服务进行交互操作。现代语言专注于定义良好的语法、模型、概念,并且在任何情况下都趋向于相同。也许这种方式使用的第一种成功的语言是C语言。在这种语言中,I/O甚至不是由语言本身指定的:您没有C语言的打印指令;相反,您有一个标准化的库,它的实现因系统而异,但语言却不一样

总之,现代语言不与鼠标或其他硬件交互,它们具有让它们与其他软件交互的功能。相反,在50年代,语言的规划与今天不同


附言:如果有人认为我所用的英语可以提高,请随意编辑。

你用错了方法。鼠标硬件和鼠标指针之间没有直接的硬件链接-必须已经有软件根据鼠标运动呈现指针。如果您希望指针的行为有所不同,那么这只是不同的软件,而不是另一个软件层

软件所用的语言在很大程度上是无关的,但系统级代码通常是用系统级语言编写的。在你所讨论的那个时代
t通常是装配代码/机器代码。当时任何有用的高级语言都有方法调用机器代码子程序来支持可扩展性。

在50年代和60年代,没有Pascal,50年代也没有Algol,方法的OOP更少。他们也远离我们现在所知道的个人电脑、鼠标指针和图形。撇开所有这些错误不谈:不清楚你想问什么。如果您能告诉我们处理鼠标事件的x86指令,可能会有所帮助。指令集文档是免费提供的。鼠标指针通常由操作系统管理,是操作系统对鼠标输入事件做出反应并根据需要绘制指针。因此,要影响指针运动,只需重写鼠标处理程序。在不太可能的情况下,您不知何故有一个奇怪的硬件鼠标光标,它必须支持您想要的功能,并且必须有一种方法来请求此类服务。您可以使用现有的与设备通信的常规方法来实现这一点,而不需要对编译器进行任何更改。@Jester:这是错误的。大多数操作系统都不关心鼠标,这就留给GUI了。只有单一的、不完整的操作系统才能把所有的东西放在一起,并用GUI的东西把控制台应用程序搞得一团糟。干净的操作系统允许在没有GUI的情况下运行,例如用于服务器应用程序和其他无头用途,例如嵌入式。关键是,鼠标设备只发送软件随后处理的事件,以便在适当的情况下最终绘制指针。因此,要改变这种行为,您只需要在中间更改软件,并且该软件已经使用正常可用的工具编写。@Jester:但操作系统本身是用某种语言编写的计算机程序。我的目的是了解高级计算机语言是如何产生指令的,使用户能够控制某些外部物理设备。所以我想追溯这些步骤。