Answer the question
In order to leave comments, you need to log in
Which assembler is more suitable for Windows and Linux?
The choice is between masm and nams, the sites write that masm is for dos, and nasm is for Unix, but I only want to learn some specific assembler. So what to choose?
Thank you!
Answer the question
In order to leave comments, you need to log in
Assembler is a language of direct text-instruction substitution, it almost does not depend on the compiler, but depends on the hardware architecture under which you are writing (even different generations of cores from the same manufacturer may have different commands, more precisely, for compatibility from the bottom up, new ones are added, but old ones are rarely added are removed).
In addition to the language in the assembler, there is also a preprocessor, a kind of pseudo-language that processes the source files of the project to obtain assembler texts, often these are simple substitution defines with arguments and condition support, but not necessarily, here the question is, which implementation of it is offered by which compilers.
Writing the entire project in pure assembler is an absolutely useless exercise, maybe just for the sake of spreading your fingers, some kind of competitions are held to minimize binaries and other things. Often, assembler inserts are written - sections of code that are critical for speed, or when the compiler is not able to do the necessary low-level things (access to certain processor instructions, for example). Knowledge of assembler is relevant for reading dumps of your own code and reverse engineering other people's code, for research or finding bugs.
drivers, viruses, I want to understand even more how everything works. Maybe I'll write if I canyou don’t need an assembler for this
I recommend the Hummingbird OS - it is written in ASM itself and there is a developer environment
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question