Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
Microprocessor Articles
Page 34 of 42
Addressing modes of Z-80
Here we will see the addressing modes of the Zilog Z-80 Microprocessor. But at first we will discuss about the mnemonics of Z-80.As we know there are many similarities between Intel 8085 and Zilog Z-80, so we can also find the similarity on the instructions. But in Z-80 the Mnemonics are slightly different. The Hex codes are same, but only the mnemonics are different. So, if we want to execute a program, which was written in the 8085 MPU, it will work fine. But Z-80 has many other instructions, which are not available in the 8085.Here is the list of ...
Read MorePins of Z-80
The Zilog Z-80 is 40 pin DIP Microprocessor. Here we will see the actual pin level diagram of Z-80 and also the functional pin diagram of it.This is the actual pin diagram of Z-80 Microprocessor. Now we will see the functional pin diagram of it.Now let us see the Pin functions of the Z-80 microprocessor.PinsTypeFunctionA15 – A0Output16-bit address bus, which provides the addresses for memory (up to 64KB)D7 – D0Input/Output8-bit bi-directional data bus to transfer data between memory/IO devices and CPU.BUSACKOutputIt is Bus Acknowledge pin. It indicates the requesting device that the address bus, data bus, control bus enter into ...
Read MoreInterrupt structure in Z-80
As we know that the Intel 8085 has five interrupt pins (TRAP, RST7.5, RST6.5, RST6.5 and INTR), but the Zilog Z-80 has only two interrupt pin. The NMI and INT . But it has superior interrupt structure compared to 8085.The INT InterruptIt is an active low, level triggered input interrupt. This is maskable and using DI instruction this can be disabled. When the interrupt pin is disabled, the Z-80 will not be interrupted if the IO devices enables the INT pin. Even after the reset, it will be disabled. So if we want that the MPU will be interrupted by the pin, there must be ...
Read MoreAddition of multi-byte numbers in Z-80
Now, in this section we will see how we can use the Zilog Z-80 Microprocessor to add Multi-byte numbers.In this example, we are using 4-byte numbers (56 2F 7A 89)16 and (21 FB A9 AF)16In the memory, at first, we are storing the byte counts, and then the numbers (from least significant bytes to Most significant bytes) in different segments. So after storing the data, the memory structure will be look like thisAddressValue5000H04H...5050H89H5051H7AH5052H2FH5053H56H...5070HAFH5071HA9H5072HFBH5073H21H...Now, we are writing a program at location 8000H to add these two 4-byte number and store the result at location 5090H onwards.ProgramAddressHex CodesLabelsMnemonicsComments800037SCFSet the carry flag80013FCCFComplement the ...
Read MoreNeed for DMA data transfer
The microcomputer system basically consists of three blocksThe microprocessorThe memories of microprocessor like EPROM and RAM andThe I/O ports by which they are connected.The possible data transfers are indicated below.Between the memory and microprocessor data transfer occurs by using the LDA and STA instructions.Between microprocessor and I/O ports also data transfer occurs by the help of two instructions IN and OUT.Through DMA data transfer, data is transferred between the Input Output ports and the memory.If the data transfer which is used for reading from the memory location is 3456H and then writing to output port number is 50H which takes ...
Read MoreProgramming the 8257
We know from the study of the description of 8257 that it consists of 40 pins and the condition when it works in Slave Mode and Master mode. From the microprocessor point of view, the I/O port is a chip which is used exclusively for DMA control application and is not used for interfacing I/O devices for the purpose of data transfer with the processor. This chip is only used to control the DMA data transfer for four I/O ports. For every I/O port there exists a corresponding DMA channel. This chip provides all the features which are needed for ...
Read MoreAddress registers of 8257
Every DMA channel consists an address register and a count register. These registers are 16-bits wide in length. In each 16 bits there are four ARs marked as AR3-0. Apart from four CRs there are control and status registers also. They are separate 8-bit registers, but have the same address. Here the processor can only write in the control register but we can read in the status register. Fig. Programmer's view at a glance of Intel 8257.We can select any one of the above registers by the address of the four pins marked as A3-0 of 8257. The processor used here writes to ...
Read MoreControl register of 8257
The processor, in active state writes to the Control register of 8257 to configure its working purpose. To find out the status of 8257, the processor reads status register of the processor. The control register is of length 8-bits which is only read by the processor but not read. It is only selected when CS* is 0, A3-0 is 1000, and IOW* is 0.Intel calls the control register 8257 normally the mode set register by as it sets the mode of operation of 8257.AULD1 = Enable auto load0 = Disable auto loadTCS1 = Stop DMA transfer if TC reached0 = ...
Read MoreStatus register of 8257
The status register is of length 8-bits wide. The processor can only read but not write and it is only selected when CS* is 0, A3-0 is 1000, and IOR* is 0.About the present state of 8257 the information about the status is provided. The five blocks are important others are marked 0 since they are not in use.UD1 = Update in progress0 = Update not in progressTCn1 = TC reached for Channel n (n = 0–3)0 = TC not yet reached for Channel nFig: Interpretation of the contents of the status registerThe read operation of the status register is ...
Read More8085 Block movement without overlap
In this program, we will see how to move blocks of data from one place to another.Problem StatementWrite 8085 Assembly language program to move a data block. The blocks are assumed to be non-overlapping. The block size is given, the block is starting from X and we have to move it to the location Y.DiscussionThe non-overlapping block movement is relatively an easy task. Here the block is starting at position X, we have to move it to position Y. The location Y is far away from X. So Y > X + block size.In this program, the data are stored ...
Read More