大会:什么是最好的方式来打印一些东西(屏幕命令行)

我一直在做一些研究,但是我只能find越来越多的方法去做我想做的事情,而且我不明白其中的一些。

我需要将哪些代码组装到一个.exe中才能返回5到命令行?

我想要一个exe,当被调用时,打印5

研究:

 printf "5", 0 

它需要链接2个库,我想保持简单。

 move ebx, 5 ; or move ax, 5 ret 

为什么会打印5 ? 这加载一个值为5的寄存器并返回。 没有其他的。

有人能解释一下返回5吗?

什么是最适合一个非常简单的Windows EXE可执行文件

我无法在StackOverflow中已经提出的问题中得到答案。

注意,我使用:Win 7,WinAsam,MASM

谢谢!

为什么不使用printf? 在Windows上,它是MS C运行时的一部分,现在是Windows的一部分。

使用Windows API,您可以使用:

GetStdHandle

以下之一:

WriteConsole

WriteConsoleOutput

WriteConsoleOutputAttribute

WriteConsoleOutputCharacter

WriteFile

一切取决于你想怎么做。

mov某些东西写入寄存器不会打印任何内容,必须通知操作系统打印。

如果你发现了一些你不明白的东西,那就去做一些研究,阅读文档,编写代码,改变代码,看看它是如何工作的。