在Assembler上解决功能

时间:2011-11-25 15:25:55

标签: assembly

我在Assembler中是假的。 我需要解决下一个函数y = x ^ 2(a + b + c); a,b,c - 从控制台输入 结果x是必须写入文件。 我不是要求我解决这个问题,但也许有人与我分享有用的链接?

2 个答案:

答案 0 :(得分:3)

尝试编写代码。您甚至可以在C中编写函数代码并查看生成的汇编代码(例如,如果在Linux上使用GCC,则使用gcc -S -fverbose-asm。)

答案 1 :(得分:0)

装配的问题在于没有真正的输入和输出功能。在标准编程语言中,您可以定义要在屏幕上显示的内容。在您的情况X中,您定义了用户要输入的内容,在您的情况下,a,b,c。然后进行一些处理并将结果赋值给要输出的值。

在这种特定情况下,标准编程语言中的所有这些步骤都清楚地映射到一些函数。

输出通过Print,puts,printf或writeline等完成。这些是输出功能。 输入是通过输入,获取或读取等完成的。这些是输入功能。 处理是通过各种任务和决定完成的。在你的情况下Y(=)X(^)2(*)(a(+)B(+)C)

所有简单的高级语言。以此为例。在组装中,至少有3种方法可以完成所有事情。他们都不容易。使用DOS中断,使用BIOS中断和使用直接硬件中断。所以至少有3种方法可以做输出,还有3种方法可以做输入,然后就是用内存来进行计算。

不要误解,冒险学习如何去做是值得的。我听起来比实际听起来要困难得多。您仍在讨论程序的每个部分至少4到5行代码。但是,一旦完成,您可以重复使用它们来输出和输入任何数量的东西,就像标准编程语言一样。只需一次执行,您就可以完全控制整个批次。

不幸的是,没有简单的方法来学习装配。但是你问的是正确的问题。

  1. 如何在屏幕上获得一些输出
  2. 如何从键盘输入一些信息
  3. 我如何进行像x + y-z
  4. 这样的处理

    我知道这并没有回答你对如何做的问题。但是,如果你在这里得到你想要的答案,我会感到惊讶,而不会发布你试图先写的汇编代码。