List of Educational Programming Languages - Learning Paths - Assembly Language

Assembly Language

Originally, machine code was the first and only way to program computers. Assembly language was the next type of language used, and thus is one of the oldest families of computer languages in use today. Many dialects and implementations are available, usually some for each computer processor architecture. It is very basic and termed a low level programming language. It is one of the more difficult languages to work with being untyped and rigid, but this is how computers work at low level. Several simplified dialects exist for education.

Low level languages must be written for a specific processor architecture and cannot be written or taught in isolation without referencing the processor for which it was written. Unlike higher level languages, using an educational assembly language needs a representation of a processor (whether virtualized or physical). Assembly is the most helpful programming language to use for learning about fundamental computer processor operation.

  • Little Man Computer (LMC) is an instructional model of a simple von Neumann architecture computer with all basic features of modern computers. It can be programmed in machine code (usually decimal) or assembly. It is based on the concept of having a little man locked in a small room. At one end of the room are 100 mailboxes (memory), each capable of holding a three digit instruction or data. At the other end of the room are two mailboxes labeled INBOX and OUTBOX which receive and emit data. In the middle of the room is a work area with a simple two function (add and subtract) calculator called the Accumulator and a resettable counter called the Program Counter. The Program Counter is similar to what a doorperson uses to keep track of how many people have entered a facility -- it can count up 1, or it can be reset to 0. As specified by the von Neumann architecture, memory contains both instructions and data. The user loads data into the mailboxes and then signals the little man to begin execution.
  • Next Byte Codes (NBC) is a simple language with assembly language syntax that is used to program Lego Mindstorms NXT programmable bricks. The command line compiler emits NXT compatible machine code, and supports Windows, Mac OS, Linux.
  • Little Computer 3 (LC-3), is an assembly language with a simplified instruction set, but can be used to write moderately complex assembly programs and is a theoretically viable target for C compilers. It is simpler than x86 assembly but has many features similar to those in more complex languages. These features make it useful for teaching basic programming and computer architecture to beginning college computer science and computer engineering students, which is its most common use.
  • DLX is a reduced instruction set computer (RISC) processor architecture by the main designers of the MIPS and the Berkeley RISC designs, two benchmark examples of RISC design. DLX is essentially a cleaned up, simplified MIPS, with a simple 32-bit load/store architecture. It is widely used in college-level computer architecture courses.
  • MIX and MMIX are hypothetical computers used in Donald Knuth's monograph, The Art of Computer Programming (TAOCP). Paraphrasing Knuth: The MIX systems are computers intended to illustrate machine-level aspects of programming, so its machine language is simple, elegant, easy to learn. It also includes all the complexities needed for high performance in practice, so in principle it can be built and perhaps be competitive with some of the fast general-purpose computers. MIX is hybrid programmable in binary and decimal numbers; most programs written for it will work using either form. Software implementations for MIX and MMIX have been developed by Knuth and made freely available. Several versions of both emulators exist. MIX is a 1960s-style computer. It is superseded by MMIX, a newer modern computer architecture, a 64-bit RISC instruction set architecture (ISA). For MMIX, Knuth collaborated with the architects of the MIPS and Alpha ISAs.

Read more about this topic:  List Of Educational Programming Languages, Learning Paths

Other articles related to "assembly language, language":

Micro Instrumentation And Telemetry Systems - Altair Computer - Altair Basic
... development software for the new 8080 microprocessor, Gates began writing 8080 assembly language by hand on yellow legal pads ... friend of Gates and Allen, converted the Altair BASIC's 8080 assembly language to 6800 assembly language ...
ARB (GPU Assembly Language)
... ARB assembly language is a low-level shading language, which can be characterized as an assembly language ...
Cross-compilers - Microsoft C Cross Compilers - 1987
... C programs had long been linked with modules written in assembly language ... compilers (even current compilers) offer an assembly language pass (that can be tweaked for efficiency then linked to the rest of the program after assembling) ... Compilers like Aztec-C converted everything to assembly language as a distinct pass and then assembled the code in a distinct pass, and were noted for their very efficient and small code, but by 1987 the ...
PDP-11 Architecture - MACRO-11 Assembly Language
... MACRO-11 is the assembly language for the PDP-11 ... It is the successor to PAL-11 (Program Assembler Loader), an earlier version of the PDP-11 assembly language without macro facilities ...
Translator (computing) - Types
... If the translator translates a high level language into another high level language, it's called a translator ... If the translator translates a high level language into a lower level language it is called a compiler ... Notice that every language can be either translated into a (Turing-complete) high level or assembly language ...

Famous quotes containing the words language and/or assembly:

    No language is rude that can boast polite writers.
    Aubrey Beardsley (1872–1898)

    That man is to be pitied who cannot enjoy social intercourse without eating and drinking. The lowest orders, it is true, cannot imagine a cheerful assembly without the attractions of the table, and this reflection alone should induce all who aim at intellectual culture to endeavor to avoid placing the choicest phases of social life on such a basis.
    Mrs. H. O. Ward (1824–1899)