What is assembler?
«Assembler language» is a programming language that is classified one level higher than the direct machine language.
The processor manufacturers have each defined individual instructions («codes») for their processor in binary form. The programmer could write these instructions to a file, which was then read and executed by the processor. These codes enable the whole functionality of a computer application, which consists in the background only of memory manipulation/shifting.
The codes as numbers were very difficult for programmers to remember (e.g.: 11111010 binary and FA hexadecimal). That's why manufacturers started to give names and abbreviations to the codes, which the developers could see and use (e.g.: ADD, MOV, PUSH etc.).
Assembler is able to understand and execute these abbreviations. In assembler you take any data value (in the form of a memory address) and perform an operation on it, which usually results in a new value that can then be reused. However, new data can also be read in and used constantly. «Higher languages» such as «C» make use of assembler by first compiling (translating) them to assembler language (machine language) and then «down» to machine codes.
What is WebAssembly (WASM)?
WebAssembly can also be translated into binary format as machine code, and compiler languages – languages whose code is translated into machine language prior to execution, such as C, C++, or Rust – can be compiled («translated») into WebAssembly.
Thanks to WebAssembly, these programs can now be used on the Internet. This makes WebAssembly one of the most important new features in web development, as it takes advantage of the compiler languages.
Since the release of WebAssembly many innovative and interesting applications have been developed. The functionality of WebAssembly not only allows new apps – which can be written in the developer's favourite compiler language – to be executed via the browser, but also other desktop applications to run over them without any problems thanks to a few adjustments. Also, «old» programs or games that have not been used often for a long time can be executed in the browser, which would arouse new interest in them and make them popular again. As an example: Someone took the trouble to revive the formerly very popular Windows 95 with WebAssembly.