The easiest way to communicate with the computer is via the machine language which is in binary format (i.e. series of 1’s and 0’s). This is the language understood most by the computer system because of the state of the computer. Computer system are always in two states which is either ON or OFF, MAGNETIC or NON-MAGNETIC etc. Assembly language is also refers to as a low level programming language. It was created due to the disadvantages that erupts from machine language such as;
- Documentation is very expensive
- It is difficult to read and write.
- It is time consuming and difficult to understand
- It is prone to error as debugging is very difficult etc.
Assembly language makes use of symbolic code which comprises of mnemonic instruction (move, jump, xchg, pop, push, imul, mul etc) in writing program codes. Mnemonic instructions are set of instructions or set of operation codes. AL has its own advantages and limitation in which one of the disadvantage is that it is machine dependent like machine language, but it is easy to read and write, likewise it is easy to understand and debug. It has given programmers privileges to control or manipulate the hardware of any computer especially when it comes to games development.
Most games are hardware compatibility except when programmer’s wants to create the GUI (Graphic User Interface) of the game in which programming languages like Python, C++ are used. This is one major reason why it is very useful in games development. When coding in assembly language, the format below is followed;
LABEL; MNEMONIC INSTRUCTION; OPERANDS; COMMMENT.
In the above format, the label and comment are optional during coding but the mnemonic instruction (opcode) and operands are important. These format explains the way or structures in which codes are written in assembly language. Most programmer does not like to code with symbolic code, Aside the GUI aspect that cannot be created using Assembly notation it is still regards as the best because of the privilege it gives to developers to control the hardware of the particular system.
Most games developed using assembly language is not software dependent except if the software of the system is obsolete.