Intel Says Differently
Intel Says Differently
The 8085 had more than 2 or 3 instructions difference from the 808A...
The only relevance to the issue of 8080 code running on a 8085 is WHAT is different in the 8080 opcode instructions. Nothing in the Z80, and few in the 8085. That the Z80 has over a 100 additional instructions that never appear in 8080 code was irrelevant and hence unmentioned... for the same reason that the additional instructions in the 8085 that are additional instructions that never appear in 8080 code is irrelevant. Only those few instructions that changed what the 8080 opcode did, are important.
And yes, there are always unpublished opcodes that are discovered or posted later. Use them professionally at your own risk because you'll never know when they change, get removed, or don't appear on a second source vendor's version. Hobbyist and people using an existing system can have fun with them... you don't design professional systems taking unnecessary risks like that.
Intel Says,
"Except for two additional instructions, the 8085 instruction set is identical to and fully compatible with the 8080 instruction set.
Most programs written for the 8080 should operate on the 8085 without modification."
Personally I think they're overstating the simplicity as it mostly applies to simple applications and not professional applications. In other words, professional applications are more likely to experience conflicts because they more fully utilize the potential of micros. For most people these differences are unlikely to appear.
Source:
From
http://bitsavers.trailing-edge.com/pdf/intel/8085/ ::
--- 8080_8085_Assembly_Language_Programming_Manual_Nov78.pdf
--- 06-Sep-2011 12:49
--- 4.8M
Section quoted in full, copyrights to INTEL:
- - - BEGIN - - - - - - - - - - - - - - - - - - -
Chapter 1. Assembly Language and Processors, Page 1-24
8085 PROCESSOR DIFFERENCES
The differences between the 8080 processor and the 8085 processor will be more obvious to the system designer than to the programmer. Except for two additional instructions, the 8085 instruction set is identical to and fully compatible with the 8080 instruction set. Most programs written for the 8080 should operate on the 8085 without modification. The only programs that may require changes arc those with critical timing routines; the higher system speed of the 8085 may alter the time values of such routines.
A partial listing of 8085 design features includes the following:
• A single 5 volt power supply.
• Execution speed, approximately 50% faster than the 8080.
• Incorporation in the processor of the features of the 8224 Clock Generator and Driver and the 8228 System Controller and Bus Driver.
• A non-maskable TRAP interrupt for handling serious problems such as power failures.
• Three separately maskable interrupts, that generate internal RST instructions.
• Input/output line, for serial data transfer.
Programming for the 8085
For the programmer, the new features of the 8085 are summarized in the two new instructions SIM and RIM.
These instructions differ from the 8080 instructions, in that each has multiple functions. The SIM instruction sets the interrupt mask and/or writes out a bit of serial data. The programmer must place the desired interrupt mask and/or serial output in the accumulator prior to execution of the SIM instruction. The RIM instruction reads a bit of serial data if one is present and the interrupt mask into the accumulator. Details of these instructions arc covered in Chapter 3.
Despite the new interrupt features of the 8085, programming for interrupts is little changed. Notice, however, that 8085 hardware interrupt RESTART addresses, fall between the existing 8080 RESTART addresses. Therefore, only four bytes are available for certain RST instructions. Also, the TRAP interrupt input is non-maskable and cannot be disabled. If your application uses this input, be certain to provide an interrupt routine for it.
The interrupts have the following priority:
TRAP --- Highest
RST7.5
(1)
RST6.5
(2)
RST5.5
(3)
INTR --- Lowest
When more than one interrupt is pending, the processor always recognizes the higher priority interrupt first.
These priorities apply only to the sequence in which interrupts are recognized. Program routines that service interrupts have no special priority. Thus, an RST5.5 interrupt can interrupt the service routine for an RST7.5 interrupt. If you want to protect a service routine from interruption, either disable the interrupt system (DI instruction), or mask out other potential interrupts (SIM instruction).
Conditional Instructions
Execution of conditional instructions on the 8085 differs from the 8080. The 8080 fetches all three instruction bytes whether or not the condition is satisfied. The 8085 evaluates the condition while it fetches the second instruction byte. If the specified condition is not satisfied, the 8085 skips over the third instruction byte and immediately fetches the next instruction. Skipping the unnecessary byte allows for faster execution.
- - - END - - - - - - - - - - - - - - - - - - -
Hand corrected OCR errors... excuse any I missed.