25 Sept 2012

what is mean by interrupt in microprocessor 8085 ?

In very simple sense interrupt in microprocessor 8085 means "order to do  new work with pausing its running work". I think this sentence "order to do  new work with pausing its running work" is bit confusing. let I give you an example to ease the matter.

Step 1 . let you are seating on a chair read a very interesting story book which you like / in microprocessor let processor doing program of arrange ascending order of 1000 number.

Step2 . Now you heard the telephone ring / in microprocessor now let it got request of interrupt means it get INTR (Interrupt Request) signal.

Step 3 . You pick-up the phone and say hallow / in microprocessor send acknowledgement of getting interrupt request to send INTA  (Interrupt Acknowledgement ).

Step 4 . You heard that your friend told you please shutdown the main door because it is open / in microprocessor you got the ISR (Interrupt service routine where the order of new work is written).

Step 5 . Now you put a page pointer between the page which you read / in microprocessor it store the address of current running program, where it interrupted, in stack pointer register.

Step 6 . Now you go there and shutdown the main door and return back to your chair and start reading the story book from where i put the page pointer. / in microprocessor now it process the ISR and after completion of work It pull the stored address of main programmed from stack and execute again.

So in above mansion step which you give the clear picture of how Interrupt is processed in microprocessor 8085.

9 Sept 2012

What is the function of the two DMA signals HOLD and HLDA?

DMA mode of data transfer is fastest and pins 39 and 38 (HOLD and HLDA) become active
only in this mode.
When DMA is required, the DMA controller IC (8257) sends a 1 to pin 39 of 8085. At
the end of the current instruction cycle of the microprocessor it issues a1 to pin 38 of
the controller. After this the bus control is totally taken over by the controller.
When 8085 is active and 8257 is idle, then the former is MASTER and the latter is
SLAVE, while the roles of 8085 and 8257 are reversed when 8085 is idle and 8257 becomes
active.

What are the temporary registers of 8085?


In 8085 available temporary register are temporary data register and W and Z registers. These registers are not available to the programmer, but 8085 uses them internally to hold temporary data during execution of some instructions.


Now Question is How W and Z registers of 8085 works ?


W and Z are two 8-bit temporary registers, used to hold 8-bit data/address during execution of some instructions.
CALL-RET instructions are used in subroutine operations. On getting a CALL in the main program, the current program counter content is pushed into the stack and loads the PC with the first memory location of the subroutine. The address of the first memory location of the subroutine is temporarily stored in W and Z registers. Again, XCHG instruction exchanges the contents H and L with D and E respectively. W and Z registers are used for temporary storage of such data.

What is the accumulator register of 8085 ?

This 8-bit register is the most important one amongst all the registers of 8085. Any data
input/output to/from the microprocessor takes place via the accumulator (register). It is
generally used for temporary storage of data and for the placement of final result of
arithmetic/logical operations.
Accumulator (ACC or A) register is extensively used for arithmetic, logical, store and
rotate operations.

What is the accumulator register of 8085 ?


Why 8085 is a 8-bit microprocessor?

A microprocessor which has n data lines is called an n-bit microprocessor i.e., the width
of the data bus determines the size of the microprocessor. Hence, an 8-bit microprocessor
like 8085 can handle 8-bits of data at a time.

Because of 16 bit data bus 8086 called 16 bit microprocessor.

4 Sept 2012

Why stack is used in a program?

The stack is used to store information temporarily during the execution of a program. Also the stack is used in subroutine calls to store the return address.
As an example, data generated at a certain point in a program may be needed later in the program. This data is stored in the stack and retrieved when needed. Because the number of general purpose registers (GPRs) in a microprocessor is limited–hence not all the temporary data can be stored in them and this is where the stack plays its part.

What is Stack Pointer ?

Now friend in my previous post i discuss on What is a stack? and in this post i discuss on What is stack pointer ? If we break that word we get Stack means a set of memory location in R/W memory and pointer means pointing something.In other word stack pointer means a 16-bi register which point the R/W memory location of Stack.

2 Sept 2012

What is a Stack in 8085 ?

In 8085 microprocessor stack is a set of memory location in the read/write memory which specified by the programmer in the main program.Those memory location are used to store binary information temporarily during execution of the program.

When we want to define any stack between any program we have to define starting address of the stack using LXI SP instruction, which is store 16 bit memory address in stack pointer register. After defining stack location in main program,storing of data bytes begin in memory location that is one less than the address in stack pointer register.
 For example
        If we stored memory address 2050H in stack pointer with LXI SP 2050H instruction then storing of data bytes begin at 2049H and continue revers numerical order that means decreasing memory address in Stack. So for good practice we have to define highest available memory for starting stack pointer to overcome conflict with main program address.