Differences Between Lmc and a Real Assembly Language (X86)

380 Words2 Pages
LMC (Little Man Computer) is an application used to simulate how a computer’s processor works. Created by Dr Stuart Madnick in 1965, it has now become a teaching tool for students to learn about assembly languages and how they work. It is a simple model simulating the von Neumann architecture which is used in the processing of modern computers. It can be programmed in machine code or assembly code. In the case of this LMC simulation, the Little Man Computer is the processor chip, and the instruction set we use to write the code is the Assembly Language (e.g. ADD, SUB, STA etc.). As it is understandable by the processor, (almost as if the assembly language is the native tongue of the processor chip), it is also a type of “low-level” programming language. In Assembly Language, the programmer is responsible for writing each and every processor instruction. Assembly language uses a mnemonic to represent each low-level machine operation or opcode (e.g. ADD = 1xx – where ADD is the mnemonic and 1xx is the opcode for this code). An assembly language is specific to the processor chip that it is written for. Each machine has its own assembly language. The assembly language used on one type of processor chip will not be understandable by a different processor chip. This means assembly language can only run on one family of machines, (whereas a higher level of programming can run on many machines), lacking portability. Assembly language is considered a low level programming language as it has no semantics and no specification, being only a mapping of human-readable symbols, to opcodes, addresses, numeric constants, strings and so on. The word "low" refers to the small or non-existent amount of abstraction between the language and machine language; because of this, low-level languages are sometimes described as being "close to the hardware" (i.e. machine code).

More about Differences Between Lmc and a Real Assembly Language (X86)

Open Document