Programming Language Generations
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).