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
  1. fetching the next instruction from main memory,
  2. decoding it, and
  3. 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).

Review: Basic Instruction Execution Cycle
    Which is NOT one of steps of the basic execution cycle of a computer instruction?

      Decoding
      Executing
      Fetching
      Writing
Result: