I hope you will have some patience to me as I´m new to ASM.
I have 3 "existencial" questions about ASM that I hope you can help me with.
First: I have seen so far two types of ASM code. One uses something like push and call commands without any include files. The other uses include files and instead of using push and call commands it puts everything into a single line... For instance, if we are calling a Windows API the code will call it in a way similar to visual basic(in a single line not using offset). It seems this is a new aproach. Because this, it seems to me that there are different "versions" of assembly. If this is true, it means that to compile ASM code, the compiler we will use depends on how the code was writen... So, it means that I can´t use TASM to compile any assembly code?
Second: Why use include files? For instance, imagine I´m using a windows API to show a messagebox. I think I can do this with and without include files. Does the include files help us to garantee that if the dll with that API running in the client is not compatible with our code, it doesn´t matter because the code will only use the include file? If this is not the answer I can´t get the point of using it. On the other hand, with the include file... Doesn´t the compiled exe become bigger?
Third: I would like your opinion about the best assembly tools one can use (like compiler, ASM editor, Hexeditor, disassembler...)
Thank you in advance!