Intel 8080 microprocessor architectureMemoryProgram, data and stack memories occupy the same memory space. The total addressable memory size is 64 KB. Program memory - program can be located anywhere in memory. Jump, branch and call instructions use 16-bit addresses, i.e. they can be used to jump/branch anywhere within 64 KB. All jump/branch instructions use absolute addressing. Data memory - the processor always uses 16-bit addresses so that data can be placed anywhere. Stack memory is limited only by the size of memory. Stack grows downward. First 64 bytes in a zero memory page should be reserved for vectors used by RST instructions. InterruptsThe processor supports maskable interrupts. When an interrupt occurs the processor fetches from the bus one instruction, usually one of these instructions:
The interrupts can be enabled or disabled using EI and DI instructions. I/O ports256 Input ports RegistersAccumulator or A register is an 8-bit register used for arithmetic, logic, I/O and load/store operations. Flag is an 8-bit register containing 5 1-bit flags:
General registers:
Stack pointer is a 16 bit register. This register is always incremented/decremented by 2. Program counter is a 16-bit register. Instruction Set8080 instruction set consists of the following instructions:
Addressing modesRegister - references the data in a register or in a register pair. Register indirect - instruction specifies register pair containing address, where the data is located. Direct. Immediate - 8 or 16-bit data.
|
Search CPU-WorldIdentify partRelated linksQuick LinksJump to CPU / Family | |||||||||||
Just some friendly corrections
I love the I8080 processor quite a lot. I'm not sure why but it was just such an evolutionary step in CPUs! (Not that there weren't many others) But there are two small issues that I believe are in this. To provide some more accuracy:
1) INX/DCX SP (Increment/decrementing the stack pointer) actually only changes the value by 1 not 2. While it seems logical to increment by two (as each value it two bytes) It is the same instruction as any other INX/DCX only using the SP register.
2) For interrupts: CALL instructions could not be issued through an interrupt. Only one 8-bit instruction was fetched and executed, so it was 99% of the time a RST instruction unless it could be handled in one instruction..
I am not 100% certain so here is my source:
www.tramm.li/i8080/Intel%208080-8085%20Assembly%20Language%20Programming%201977%20Intel.pdf
feel free to correct my corrections if I am wrong.