Layers of Representation of Machine Structures
Layers of representation (high to low level) High-level language program high-level language - a programming language that uses English and mathematical symbols in its instructions (e.g. C) High-level programming languages are abstractions to lower-level programming languages compiler - turns high-level language problem into an assembly language program Assembly language program assembly language - a low-level programming language for a computer in which there is a strong correspondence between the language and the architecture's machine code instructions (e.g. MIPS, x86, 32b ARM) Assembly languages are abstractions of machine languages Assembly code is human-readable version of computer's native machine code There are different assembly languages for different CPUs following different ISAs (each assembly language is tied to a particular ISA) assembler - turns assembly language program into machine language program Machine Language Program (MIPS)