- The format in which the instructions are stored in memory
Most modern computers follow the Von Neuman Architecture: This architecture is based on the stored program concept. The program to be executed along with the data on which it operates are stored in a memory device attached to the processor.
Instruction Set Architectures
A computer’s hardware has a small, fixed number of operations, or instructions that it can perform. This is called the instruction set of the machine. It is defined by the manufacturer.
We will be concerned with the following issues:
- Operand storage in CPU
Where are operands kept other than in memory? - Number of explicit operands named per instruction
How many operands are named explicitly in a typical instruction? - Operand location (addressing modes)
Can any ALU instruction operand be located in memory or must some or all of the operands be in internal storage in the CPU? If an operand is located in memory, how is the memory location specified? - Operations
Is a symbolic code that allows mnemonics for machine language instructions and symbolic names for memory locations.
instead of using “1100 000”, we write the symbol ADD to mean the same thing
It is a programming language in which instructions correspond closely to the individual machine instructions that are carried by a particular computer. So assembly language, like machine language, is machine dependent
The VAX/VMS assembly language is called MACRO
Assembly language uses symbols to represent the operation codes while a special notation is used to represent the different addressing modes.
A translator is used to translate the assembly code into machine code. This translator is called an assembler.
The most important system software is the operating system, which is an integrated system of programs that manages the system resources, and provides various support services such as the computer executing the application programs of users.
Major Categories of Programming Languages:
Machine Language (First-generation Language)
Most basic level of programming languages. Uses binary coded instruction.
Assembly Language (Second-generation Language)
They are sometimes called symbolic languages, because symbols are used to represent operation codes and storage locations.
High-Level Languages (Third-generation Languages)
Use instructions called statements, that closely resemble human language or standard notation of mathematics.
A variety of programming languages that are more nonprocedural and conversational. The programmers specify the result they want, while the computer determines the sequence of instructions that will accomplish these results. Ex. SQL
SUM = SUM * 2 + ALPHA/3;
MULL3 SUM, #2, R6
DIVL3 #3, ALPHA, R7
ADDL3 R6, R7, SUM
each one of the above instructions will correspond to one machine instruction. (a pattern of 1’s and 0’s)
Mnomonics Assembler Object
source code (MACRO) code
HLL source Compiler Object
What’s is right with assembly language?
- Assembly language programs are generally the fastest programs around.
- Machine language created by compilers are usually longer and slower.
Assembly language programs are often the smallest.
- You can do things in assembly which are difficult or impossible in HLLs.
- Applications requiring access to low level machine capability are often written in assembly language