Motorola 6800 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 and subroutine call instructions can be used to jump anywhere in memory. Conditional and unconditional branches are limited to memory addresses positioned no farther than -125 - +129 bytes from the branch instruction. Data memory - data can be anywhere in memory space. Stack memory - stack can be placed anywhere in memory space. Reserved memory locations:
InterruptsIRQ - maskable interrupt. When the interrupt occurs the program counter, index register, accumulators and condition code registers are stored in the stack, the further interrupts are disabled and the processor jumps to memory location address of which is stored in memory FFF8h - FFF9h. To return from the interrupt the processing routine should use RTI instruction. This interrupt can be enabled/disabled using CLI/SEI instructions. NMI - non-maskable interrupt. When the interrupt occurs the program counter, index register, accumulators and condition code registers are stored in the stack, the further interrupts are disabled and the processor jumps to memory location address of which is stored in memory FFFCh - FFFDh. To return from the interrupt the processing routine should use RTI instruction. This interrupt can not be disabled. SWI - software interrupt. This interrupt can be only invoked from the program. When the interrupt occurs the processor stores the program counter, index register, accumulators and condition code registers in the stack, disables the further interrupts and jumps to memory location address of which is stored in memory FFFAh - FFFBh. To return from the interrupt the processing routine should use RTI instruction. This interrupt can not be disabled. I/O portsNone. RegistersAccumulator A (ACCA) is an 8-bit register used for arithmetic and logic operations. Accumulator B (ACCB) is an 8-bit register used for arithmetic and logic operations. Index (IX) is a 16-bit register usually used for temporary storage or as an index when indexed addressing is used. Program counter (PC) is a 16-bit register. Stack pointer (SP) is a 16-bit register. Condition code register contains the following flags:
Instruction Set6800 instruction set consists of 72 instructions:
Addressing modesImplied - the data value/data address is implicitly associated with the instruction. Accumulator - the instruction implies that the data is one of the accumulator registers. Immediate - 8-bit or 16-bit data is provided in the instruction. Direct - one-byte operand provided in the instruction specifies the memory address in page zero (0000h - 00FFh) where data is located. Extended - two-byte operand provided in the instruction specifies the memory address where data is located. Relative - one byte offset is added to the address of the next instruction (the contents of the program counter register + 2). The offset is a signed number in the range -127 - +127. Indexed - one byte operand is added to the contents of the IX register, the resulting 16-bit value is a pointer to memory where data is located.
|
Search CPU-WorldIdentify partRelated linksQuick LinksJump to CPU / Family | |||||||||||