APPENDIX
modes. The processor flags are contained in the
The basic bus cycle of the MC6809 is a single, 500 nsec clock cycle for the 2.0 MHz version. The normal memory access time is 320 nsec. To accommodate slower memories, 125 nsec wait states can be added. Ad- ding one wait state extends the memory access time to 445 nsec.
Although the instruction set of the MC6809 operates predominantly on
For stack manipulation, a single Push or Pull instruc- tion allows any combination of registers to be placed on or removed from either of the two stacks. There are also
19branch instructions, in long
The MC6809 supports 13 different addressing modes. Included in these modes are 5 forms of indexed address- ing, including indexed Auto Increment and Auto Decre- ment modes which are useful for string operations. Relative addressing for Branch instructions use one- or
The MC6809 provides maskable and nonmaskable hardware interrupts, as well as three software inter- rupts. There are two maskable hardware interrupts, FIRQ and IRQ. The FIRQ (Fast Interrupt Request) pushes only the Condition Code and Program Counter registers. The IRQ automatically pushes all of the MC6809 registers (except the SP) onto the stack. Each MC6809 interrupt has a fixed vector address, fetching its service routine address from a predefined memory location. For more information regarding hardware and software interrupts see your local Intel office.
PROGRAM DESCRIPTIONS
The ten benchmark programs were chosen to demon- strate the capabilities of the iAPX 88/10 and the MC6809 in the areas of data manipulation, computa- tion, and processor control. The basic algorithms for several of the programs (Block Move, Character Search, Word Shift, Vector Add, and
1.Computer Graphics
The Computer Graphics program scales the X and Y pairs that make up a graphics display. The
2.
The
3. Vector Add
The
4. Block Move
The Block Move program reads the block length, source, and destination from memory. The block length was chosen to be 126 bytes. The data is moved from the source to the destination using word moves. Block Move demonstrates data manipulation and auto incre- ment addressing.
5. Block Translate
The Block Translate program translates a memory block containing EBCDIC characters to ASCII and stores the ASCII characters in another memory block. The translation is done using an EBCDIC to ASCII translation table, and the block length is 125 bytes. This demonstrates data manipUlation, auto increment ad- dressing, and the use of a lookup table.
6. Character Search
The Character Search program searches a table of known length for a specific character. If that character is found, its address is returned. If it is not found, zero is returned. This program demonstrates data com- parison and auto increment addressing.
7. Word Shift
The Word Shift program reads a
8. Reentrant Call
The Reentrant Call program passes three parameters to the called procedure. One is pushed from a general register, the other two are pushed from memory. The procedure is called, the state of the processor is pushed onto the stack, and local storage is set up. The pro- cedure body adds the three parameters and places the result in local storage. The procedure is then exited and the state of the processor is restored.
23 | AFN 01532A |