Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Architecture 我们可以用汇编语言开发哪种软件_Architecture_Assembly - Fatal编程技术网

Architecture 我们可以用汇编语言开发哪种软件

Architecture 我们可以用汇编语言开发哪种软件,architecture,assembly,Architecture,Assembly,我是计算机科学专业的学生,学习汇编语言。现在我想用汇编语言做一个项目,请告诉我用汇编语言做什么样的应用。因此,我为我的主题选择了合适的项目 汇编作为一种低级编程语言,可以用来开发任何东西,从一个小小的hello,world!编程到一个操作系统。曾几何时,在40年代,所有开发人员都必须使用这些语言,但随后高级语言开始出现,人们迅速向前迈进 今天,汇编语言的使用主要局限于没有足够编译器的设备和手工编制的优化代码。也就是说,在今天的体系结构中,很难生成比现代编译器所能提供的更优化的汇编代码 出于您的目

我是计算机科学专业的学生,学习汇编语言。现在我想用汇编语言做一个项目,请告诉我用汇编语言做什么样的应用。因此,我为我的主题选择了合适的项目

汇编作为一种低级编程语言,可以用来开发任何东西,从一个小小的hello,world!编程到一个操作系统。曾几何时,在40年代,所有开发人员都必须使用这些语言,但随后高级语言开始出现,人们迅速向前迈进

今天,汇编语言的使用主要局限于没有足够编译器的设备和手工编制的优化代码。也就是说,在今天的体系结构中,很难生成比现代编译器所能提供的更优化的汇编代码

出于您的目的,这取决于项目范围和要求。请记住,即使是一个非常简单的项目,比如基于交互控制台的tic-tac-toe,在组装时也可能非常大。以下是一些小型项目的示例:

猜测数字:电脑将选择一个随机数字[1..100],用户需要猜测它。 查找除数:给定用户提供的一个数字,查找该数字的所有除数。 排列字符串:给定用户的字符串,查找该字符串的所有排列。
从理论上讲,您可以使用汇编语言构建任何软件;但是,仅在以下情况下使用汇编语言是合适的:

1直接与硬件通信。例如,编写硬件驱动程序

2使用低级操作系统服务或入侵操作系统。例如,编写病毒或防病毒软件

3编写高效的程序。汇编代码生成非常小的可执行文件。如果运行程序的设备内存非常有限,这是一个完美的选择。此外,从理论上讲,大多数情况下,汇编程序的运行速度比使用高级语言创建的程序快


根据我的经验,一个真实的例子是,很久以前,我使用汇编语言拦截Windows API,将一些阿拉伯语服务引入英语Windows 98。此外,我还必须使用汇编语言创建一个阿拉伯语字符串实用程序,core非常频繁地使用它,事实证明使用汇编语言是一个正确的选择。

如果你在学校,你试过向你的教授/讲师征求建议吗?第一批汇编语言直到20世纪50年代才出现——早在40年代,只有机器代码。-1这是错误的。我和许多其他人在汇编中开发了许多Windows GUI应用程序。源代码非常清晰,虽然没有使用HLA,并且比许多等效的C/C++/java和其他应用程序更容易理解。它在汇编中开发的时间并不比我用更高级的语言开发的时间长。是的。有许多应用程序是用汇编语言编写的。但在桌面GUI应用程序中使用汇编是不切实际的。我打赌我和其他许多人使用VB/C创建GUI应用程序比使用汇编更快。如果您发现使用汇编创建GUI应用程序所花费的时间与使用高级语言所花费的时间相同,那么现在绝对是您开始更详细地研究高级语言的时候了。另外,别忘了澄清其他人是谁。有一些用于汇编的资源编译器winasm也可以让你在VB中放置组件,我可以在几分钟内制作一个复杂的GUI。我可以使用windows API来完成其余部分。这有什么不同。我建议你看看可用的工具。几分钟后复杂的UI?它有多复杂?Windows API呢?旧的sendMessagehInstance、msg、wParam、lParam并在函数调用之前将所有参数推入堆栈?在VB中如何比obj.prop1=val更容易?亲爱的朋友,你可能非常喜欢集会;但是,这并不意味着它适合大多数开发案例。而且,我从来没有说过不能使用汇编开发GUI应用程序。您甚至可以直接使用机器代码创建任何应用程序,但这并不能证明它的使用是合理的。在有意义的时候使用一项技术,兄弟。它可以是你想要的那么复杂。这只是在屏幕上绘制控件的问题,兄弟。这并不是因为你不知道技术,它是坏的。op询问在asm中可以开发哪些软件,而不是哪种语言最适合这项工作。朋友,你回答说它只能用于司机和低级的东西只是表明你对这个问题的无知。