1st Generation (Machine Language, Late 1940s)
A machine-language program is read and interpreted by the computer.
A program in machine code consists of a sequence of machine instructions, which are binary strings.
Execution of machine code may either be
hard-wired into the CPU or
controlled by microcode, which is used to implement machine instructions.
The basic execution cycle consists of
fetching the next instruction from main memory,
decoding it, and
executing it.
Microsoft (R) Macro Assembler Version 8.0 01/06/18 10:16:56
test.asm Page 1 - 1
INCLUDE Irvine32.inc
C ; Include file for Irvine32.lib (Irvine32.inc)
C INCLUDE SmallWin.inc
C ; MS-Windows prototypes, structures, and constants
C .NOLIST
C .LIST
00000000 .code
00000000 main PROC
00000000 B8 00010000 mov eax, 10000h
00000005 05 00040000 add eax, 40000h
0000000A 2D 00020000 sub eax, 20000h exit
00000016 main ENDP END main
2nd Generation (Assembly Language, Late 1940s)
Machine languages are almost impossible for humans to read and write.
Assembly languages have the same structure and set of commands as machine languages, but they enable programmers to use names instead of numbers.
Each type of CPU has its own machine and assembly languages, so a program written for one type of CPU will not run on another (not portable).