Assembly language

From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
(Created page with "{{FormatInfo |formattype=Languages |subcat=Programming Languages }} '''Assembly language''' is the programming language that is one step above machine language. Its comma...")
 
(Added sample files)
 
(11 intermediate revisions by 2 users not shown)
Line 2: Line 2:
 
|formattype=Languages
 
|formattype=Languages
 
|subcat=Programming Languages
 
|subcat=Programming Languages
 +
|extensions={{ext|asm}}, {{ext|s}}, {{ext|a}}
 
}}
 
}}
 
+
'''Assembly language''' is the programming language that is one step above [[machine language]]. Its commands (op-code mnemonics, with their operands) directly correspond to the low-level machine instructions, but are expressed in the form of human-readable strings instead of the raw binary of the machine codes themselves. So, for instance, an assembly mnemonic '''MOV''' might correspond to a machine language op-code that moves data between a memory location and a processor register, with the op-code itself being a byte which can be expressed in binary or hexadecimal. Traditionally, three-letter identifiers are often used for assembler mnemonics. The mnemonic is often followed by operands such as names of registers or numbers in some base (often hexadecimal), with a comma separating the source and destination of a move command. Comments can also be included to make the code more understandable to humans.
'''Assembly language''' is the programming language that is one step above [[machine language]]. Its commands (op-code mnemonics, with their operands) directly follow the low-level machine instructions, but are expressed in the form of human-readable strings instead of the raw binary of the machine codes themselves. So, for instance, an assembly mnemonic '''MOV''' might correspond to a machine language op-code that moves data between a memory location and a processor register, with the op-code itself being a byte which can be expressed in binary or hexadecimal. Traditionally, three-letter identifiers are often used for assembler mnemonics. The mnemonic is often followed by operands such as names of registers or numbers in some base (often hexadecimal), with a comma separating the source and destination of a move command. Comments can also be included to make the code more understandable to humans.
+
  
 
A program called an assembler converts the assembly language program into a machine language program in raw binary, which can then be executed on the computer.
 
A program called an assembler converts the assembly language program into a machine language program in raw binary, which can then be executed on the computer.
Line 11: Line 11:
  
 
Assembly language (like the machine language it assembles to) is platform-specific, designed for a specific machine architecture, so there are many different versions of it. A "cross-assembler" is an assembler which runs on one platform in order to produce code designed to run on a different platform. A "virtual machine" is a simulated machine which runs on one platform but emulates another one (and can thus run machine code targeted at the emulated platform).
 
Assembly language (like the machine language it assembles to) is platform-specific, designed for a specific machine architecture, so there are many different versions of it. A "cross-assembler" is an assembler which runs on one platform in order to produce code designed to run on a different platform. A "virtual machine" is a simulated machine which runs on one platform but emulates another one (and can thus run machine code targeted at the emulated platform).
 +
 +
== Sample files ==
 +
* {{DexvertSamples|text/asm}}
  
 
== Links ==
 
== Links ==
 
* [[Wikipedia:Assembly language|Wikipedia article]]
 
* [[Wikipedia:Assembly language|Wikipedia article]]
 +
* [[Wikipedia:Comparison of assemblers|List of assemblers on Wikipedia]]
 +
* [http://archive.org/details/Assembly_Language_for_Kids_1985_Microcomscribe Assembly Language for Kids] (1985 book for Commodore computers)
 +
* [http://archive.org/details/bitsavers_fairchildfng1977_5888299 Guide to assembly programming on Fairchild F8 system (1977)]
 +
* [http://central.kaserver5.org/Kasoft/Typeset/BBC/Ch43.html Why use an assembly language rather than BASIC? (BBC Microcomputer)]
 +
* [http://programminggroundup.blogspot.co.uk/ Programming from the Ground Up - An introduction to programming using Linux assembly language]
 +
* [https://archive.org/details/8080-8085_Assembly_Language_Programming_1977_Intel 8080/8085 Assembly Language Programming (1977 book)]
 +
* [http://blog.codinghorror.com/heres-the-programming-game-you-never-asked-for/ Here's The Programming Game You Never Asked For]
 +
* [http://www.megaprocessor.com/programming.html Megaprocessor programming] (a processor built by hand-wired transistors)

Latest revision as of 15:33, 28 December 2023

File Format
Name Assembly language
Ontology
Extension(s) .asm, .s, .a

Assembly language is the programming language that is one step above machine language. Its commands (op-code mnemonics, with their operands) directly correspond to the low-level machine instructions, but are expressed in the form of human-readable strings instead of the raw binary of the machine codes themselves. So, for instance, an assembly mnemonic MOV might correspond to a machine language op-code that moves data between a memory location and a processor register, with the op-code itself being a byte which can be expressed in binary or hexadecimal. Traditionally, three-letter identifiers are often used for assembler mnemonics. The mnemonic is often followed by operands such as names of registers or numbers in some base (often hexadecimal), with a comma separating the source and destination of a move command. Comments can also be included to make the code more understandable to humans.

A program called an assembler converts the assembly language program into a machine language program in raw binary, which can then be executed on the computer.

While in the more simple and primitive assemblers the assembly code has a direct one-on-one correspondence with the machine code, via a simple mechanical transformation, more sophisticated assemblers make the language somewhat higher-level by using such things as macros to simplify the programming process by including "commands" that actually translate to longer sequences of machine code than just one op-code and its operands.

Assembly language (like the machine language it assembles to) is platform-specific, designed for a specific machine architecture, so there are many different versions of it. A "cross-assembler" is an assembler which runs on one platform in order to produce code designed to run on a different platform. A "virtual machine" is a simulated machine which runs on one platform but emulates another one (and can thus run machine code targeted at the emulated platform).

[edit] Sample files

[edit] Links

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox