Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.

Uses For ASM?

ASM is Assembly Language Programming, which is probably the most basic programming language (aside from maybe Machine Language or pure binary)
 
Its a programming language, its use is to program. Its ancient, and practically unused, but thats what its uses are. If you wanted to program NES games for the actual system (as opposed to NES-like games) then ASM would be the programming language you'd use.
 
ASM or Assembly, is actually pretty much synonimous with machine code. Each line of ASM corresponds to a single line of binary/hexadecimal insrtuctions. It is a platform specific programming language at the lowest reasonable leve. (Writing in binary or hex would be lower, yes, but has ZERO benefits, because ASM is just as fast. The ASM command "MOV EA EAX" would be exactly equivelant to something like 245AFD2H4A so on and so forth.)

By platform specific, I mean that each architecture of processor has its own assembly language, although I'm not sure of the major differences between x86 and x64.

ASM actually is still used, especially in current gen console games. Graphics engines are written in PS2 specific ASM (Which is pretty much the single thing that makes it hard to work with PS2, but is also what makes it more powerful from a programming perspective. If the PS2 had the exact same specs as the XBOX, the games could come out looking better unless the XBOX coders started ignoring XNA and went straight ASM.)

It's also used often for programming Finite state machines such as Soda Machines, Claw games, and digital door locks.
 
Actually, even GBA programmers tend to avoid using ASM today. There is Java and .NET for cell phones and other pocket devices. Games for big consoles are programmed in C++. ASM really is a dying language. I think that the only ones that still use ASM are the chip programmers (obviously) and those people often are not even programmers.

If, by any chance, there is a part of your application that needs to be coded in machine code (something which, really, happens far less often that you'd think) some C/C++ compilers (the best ones) allow inline-assembly (embed assembly instructions in your source) so there is very little reasons to program anything in pure assembly, not even drivers.

Still, I believe that ASM is very important to those that program with high-level languages. (I.E: C and C++.) I think that one can produce more efficient code if he or she knows how code is compiled and how things work "under the hood". So, yeah. ASM has educational purposes.
 
Yes; Its also used in Operating System's in Boot loader's ie (Grub, LILO).

And is probably the lowest form of coding you can get. (Where C++ is the highest). It is quite fast... but the code is quite messy although is capable of doing advanced operation's!
 
hehe, Minkoff is right, C++ is like one step higher than ASM. You seem to be forgetting about interpreted languages like Java and VB, or even higher than that, HTML. I'm sure there's prolly. something higher, but I don't want to think about it.
 
HTML is not really a programming language... just a file format.

Lua, Python, Perl, Ruby, Lisp... those are higher than .NET and Java. I don't know what would be higher than that. Perhaps the Unix shell scripts?

The highest level of programming (excluding an English interpreter obviously) would be something based on macros, like the ones in Access, the event editor of RPG makers, or the trigger editor of the Starcraft campaign editor... but able to do general programming tasks. But of course, the level of abstraction of such a "language" would be so high that there would be little to no versaility, and it would take half-a-million of macros to make up for it. Not very realistic.
 
HTML is every bit as much of a scripting language as anything else. They may not call it as much, but the fact is that it has syntax and symantics and short of being used to make a program, meets all the other "requirements" of a programming language.
 
While I appreciate your sarcasm, I left out a word. I meant to say "software program" and while that still doesn't drive my point home any further, maybe you should learn a bit about the english language. A program is just a set of instructions for how something is going to go. HTML is a set of instructions on how things in a webpage are rendered more or less. It's a program damnit. I argue that a text markup and a program are the same thing.
 
Hypertext Markup Language, its a series of tags that denote meaning, and follows strict syntax and such, and is interpretted by the browser to produce output. Its as much a programming language as Ruby or Python, as far as i'm concerned. Its got default classes, yes, but with the use of CSS as well you can redefine classes (such as a <span> tag, or <div> or <p> or whatever) and create new ones.
 

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top