Assembly 如何";画;屏幕上的像素使用汇编,以及如何从用户处获取输入

Assembly 如何";画;屏幕上的像素使用汇编,以及如何从用户处获取输入,assembly,x86,x86-64,Assembly,X86,X86 64,所以我已经做了一点汇编编程,但是有些事情我不知道怎么做。 例如,如果我想在屏幕中间画一个黑色正方形,或者甚至创建一个窗口,我会怎么做呢? 所有图形化的东西我都看不懂 至于我的第二个问题,你如何从用户那里获取输入并在代码中使用它,就像我在做计算器一样 mov rax, (user picks a number) mov rbx, (user picks another number) sub rax, rbx 我怎样才能获取运行程序的人键入的数字并将其用于类似的用途?在哪个环境(Windows、

所以我已经做了一点汇编编程,但是有些事情我不知道怎么做。 例如,如果我想在屏幕中间画一个黑色正方形,或者甚至创建一个窗口,我会怎么做呢? 所有图形化的东西我都看不懂

至于我的第二个问题,你如何从用户那里获取输入并在代码中使用它,就像我在做计算器一样

mov rax, (user picks a number)
mov rbx, (user picks another number)
sub rax, rbx

我怎样才能获取运行程序的人键入的数字并将其用于类似的用途?

在哪个环境(Windows、OSX、Linux;directX、metal、vulcan、X、wayland等)中?我使用Linux。您可以用C编写程序,使用C函数获取用户输入,然后使用内联汇编程序进行计算。这听起来是个好主意,我可能会这么做。但如果C是由汇编组成的,那么为什么汇编中没有任何用户输入呢?Idk我不是这方面的专家。对于大多数现代操作系统来说,与硬件(输入或输出)的对话是由操作系统控制的。When意味着当你想调用(比如)printf时,它调用一个例程,该例程调用一个例程,该例程调用另一个例程,该例程最终调用操作系统。是的,您可以直接从asm中调用,但是C已经解决了许多令人沮丧的限制,您需要再次解决这些限制。大约在第四次或第五次你发现自己不得不这么做的时候,你会停下来问问自己为什么要这么做。可以使用C,必须使用asm。