Search code examples
user-interfaceassemblyprogramming-languagesnasm

What are the limitations of assembler? (NASM)


Is there a technical limitation of what kind of programs I can write with assembler (NASM)?
For now I've only seem some program that do arithmetic operations, like adding two numbers.

Is it possible to write complex assembler programs, that provide a GUI, access the file system, plays sounds et cetera?

I know I wouldn't write such programs, but I'm curious, if there are technical limitations on what kind of programs I can write with assembler.


Solution

  • Given sufficient knowledge of the target system, it's possible to do whatever you would like through ASM. However, there are other things at play that make it difficult to manage. But I've seen many GUIs that were done in ASM. They weren't particularly nice to look at, but they did. I've seen a guy write a video game (that game with the asteroids and you have a little ship in the middle of the screen that shoots a machine gun or laser) in pure ASM. He wanted to test himself, and had already done some ASM before. So yes, it can be done, whatever you would like.

    Need I remind you that ASM is merely pseudo-machine instruction, to which all other code must eventually be reduced?