Download presentation
Presentation is loading. Please wait.
Published byEileen Mitchell Modified over 9 years ago
1
COMPILERS CLASS 22/7,23/7
2
Introduction Compiler: A Compiler is a program that can read a program in one language (Source) and translate it into an equivalent program in another language (Target) An important role of the compiler is to report any errors in the source program that it detects during the translation process
3
Compiler : Source code Target code COMPILER Report error
4
Target code : Target code is mostly an executable machine-language program. It can be called by the user to process inputs and produce outputs. InputOutput Target Program
5
MDR MAR IR PC ID Control Unit Accumulator R0 R1 R2 ALU Memory
6
Computer Architecture Accumulator: When a mathematical operation is going on, operator is temporarily stored in Accumulator Content of memory location and the result is saved or stored through Accumulator
7
MAR – Memory Address Register MDR – Memory Data Register Memory – Memory Block Read, Write Signals: MAR reads the data from the Memory block. MDR writes into the Memory block.
8
Program Counter : Program Counter contains address of next instruction. Initially it carries address of first instruction. Instruction Memory : All instructions are stored here. IR – Instruction Register ID – Instruction Decoder
9
ALU – Arithmetic Logic Unit All the arithmetic operations are performed in ALU 2 terminals to the Accumulator 1 terminal to the Registers Control Unit: The control unit coordinates the components of a computer system. It fetches the code of all of the instructions in the program
10
Example X [P] + [Q] Instruction Memory Data Memory P,Q – Memory Address P QR
11
Steps: 1.MAR finds the Address 2.Data goes to MDR (Fetch P,Q) 3.P,Q stored in Accumulator to registers 4.Perform Add operation 5.Result is passed back to accumulator, from accumulator to MDR. Write action is performed and the value is stored in ‘X’
12
Address of P – 1000 Address of Q – 2000 Address of X – 2050 Solution: LDA 1000 MOV R0 LDA 2000 ADD R0 STA 2050
13
LDA – Load Data Address MOV – If we don’t use this instruction the value in accumulator will be over written STA – Stores the value in the memory address
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.