Skip to main content

Addressing Concepts


Q.1. Explain in detail about the concept of Addressing in the Memory.

Ans.: Each instruction needs data on which it has to perform the specified operation. The data may be in the accumulator, GPR (general purpose registers) or in some specified memory location. The techniques of specifying the address of the data are known as addressing modes. The important addressing modes are as follows :
(i) Direct Addressing
(ii) Register Addressing
(iii) Register Indirect Addressing
(iv) Immediate Addressing
(v) Relation Addressing

(i) Direct Addressing : In this, the address of the data is specified within the instruction itself. Example of direct addressing is :
(a) STA 2500H : store the contents of accumulator in the memory location 2500H.

(ii) Register Addressing : In register addressing, the operands are located in the general purpose registers. In other words the contents of the register are the operands. Therefore only this name of the register is to be specified in the instruction. E.g. of register addressing are :
(a) MOV A, B : Transfer the contents of register B to register A.



(iii) Register Indirect Addressing : In this, the address of the operand is given directly. The contents of a register or a registers pairs are the address of the operand.
Example : LX1 H, 2400H--> load H-L pair with 2400 H.


(a) MOV A, M : Move the contents of the memory location whose address is in H-L pair to the accumulator.

(iv) Immediate addressing : In this the operand in given in the instruction itself. E.g.

(a) MVI A, 06 : Move 06 to accumulator.

(v) Relation Addressing : In this a signed displacement is added to the current value of the program counter to form the effective address. This is also known as PC relative addressing.

Q.2. Explain the concept of Paging in contest of Memory.

Ans.: In page oriented memory, the memory is divided into pages. A page has a fixed length, 4KB or 4MB length. The logical address is represented by the page address and the page offset. The page address points to a descriptor table. The function of a descriptor is same as that in the case of a memory Segment Scheme. When the demanded page is not present in the physical memory, a page fault is triggered. This informs the OS to swap the desired page. This type of memory management schemes is known as demand-paged virtual memory scheme.

Q.3. What is an Instruction Cycle?

Ans.: The main function of a CPU is to execute programs. A program converts of a sequence of instruction s to perform a particular task. Program as stored in a memory. The CPU fetcher one instruction at a time from the memory & executes it. Then it fetcher the vent instruction to execute it. The CPU repeats this process till it executes all the instruction of the program. Thereafter, it may take another program if any, to execute.
The necessary steps that the processor has to carry out for fetching an instruction from the memory and executing an instruction from the memory and executing it, constitute an instruction cycle. An instruction cycle consists of 2 parts. Fetch cycle & a execute cycle. In fetch cycle the CPU fetcher the m/c code of this instruction from the memory. The necessary steps that are carried out to the fetch an opcode from the memory constitute a fetch cycle. In execute cycle an instruction isexecuted. The necessary which are carried to execute an instruction constitute are execute cycle.

Popular posts from this blog

C++ Program to find the sum, difference, product and quotient of two integers

#include <iostream.h> #include <conio.h> void main() {   clrscr();   int x = 10;   int y = 2;   int sum, difference, product, quotient;   sum = x + y;   difference = x - y;   product = x * y;   quotient = x / y;   cout << "The sum of " << x << " & " << y << " is " << sum << "." << endl;   cout << "The difference of " << x << " & " << "y <<  is " << difference << "." << endl;   cout << "The product of " << x << " & " << y << " is " << product << "." << endl;   cout << "The quotient of " << x << " & " << y << " is " << quotient << "." << endl;   getch(); }

Program of virtual piano

//////////////Tested And Created By C++/////////////////////////////// #include<stdio.h> #include<dos.h> #include<conio.h> #include<stdlib.h> #define SHOW 1 #define HIDE 2 union REGS input,output; class piano {  public:int BIGKEY,MIDKEY,back,border;     piano()//init constructor     {         BIGKEY=15;         MIDKEY=1;         back=7;         border=15;     } }color; void drawpiano(int x,int y); int check_xy(int x,int y); void BOX(int c,int r,int c1,int r1,int col); int initmouse(); void setupscreen(); void pointer(int on); void restrictmouse(int x1,int y1,int x2,int y2); void check_keys(int x,int y); void getmouse(int *button,int *x,int *y); float freq[7] = {130.81, 146.83, 164.81, 174.61,196, 220, 246.94 } ; int n=0,a=4,backcolor=2,exitcode=1; void showbar(int t) {  if(t>65) t=65;  if(t<1) t=1;  textcolor(15);  for(int q=0;q<=t;t++)  {     gotoxy(3+q,4);     cprintf("Û");  } } void main() {  int

Putimage function in c

putimage function outputs a bit image onto the screen. Declaration:- void putimage(int left, int top, void *ptr, int op); putimage puts the bit image previously saved with getimage back onto the screen, with the upper left corner of the image placed at (left, top). ptr points to the area in memory where the source image is stored. The op argument specifies a operator that controls how the color for each destination pixel on screen is computed, based on pixel already on screen and the corresponding source pixel in memory. c smiling face animation This animation using c draws a smiling face which appears at random position on screen. See output below the code, it will help you in understanding the code easily. C programming code #include<graphics.h> #include<conio.h> #include<stdlib.h>   main() { int gd = DETECT, gm, area, temp1, temp2, left = 25, top = 75; void *p;   initgraph(&gd,&gm,"C:\\TC\\BGI");   setcolor(YELLOW);