Topic : Pure Assembler Documentation Author : John Kormylo Version : PASM.HYP 1.0 Subject : Documentation/Pure Assembler Nodes : 740 Index Size : 20262 HCP-Version : 3 Compiled on : Atari @charset : atarist @lang : en @default : @help : Help @options : +g -i -s +x +z -t4 @width : 75 View Ref-File[ Atari Computer Architecture ] Atari ST computers are based on the Motorola 68000 CPU chip, while Atari TT computers use the 68030 CPU and 68881 FPU. The primary difference between the two is that the 68000 uses a 16 bit data bus and 24 bit addresses while the 68030 uses a 32 bit data bus and 32 bit addresses. Also, the 68000 can only address WORD or LONG quantities which are aligned to word boundaries (even numbered addresses). Both chips use 32 bit registers: D0 through D7 for data and A0 through A7 for addresses, plus the program counter (PC) and a 16 bit status register (SR). Address register A7 is used as the stack pointer. The stack can be located anywhere in memory, and each program creates its own stack. There are actually two stack pointers on the 68000, and three on the 68030. The status register controls which one is active as A7. The two bytes in the Status Register have rather different functions. The low byte, called the Condition Code Register (CCR), contains the flags set by compare operations, etc.: negative, zero, overflow, carry and extend. The high byte controls interrupt level and mode of operation (see Supervisor Mode). The 68030 also has a 32 bit vector base register (VBR), two 3 bit function code register (SFC & DFC), plus Cache and PMMU registers. The 68881 floating point processor uses eight 96 bit data registers (FP0 - FP7), a 16 bit control register (FPCR), a 32 bit status register (FPSR), and a 32 bit instruction address register (FPIAR). Data is automatically converted when moved between memory and the floating point registers. FPU instructions are handled by the 68030 the same as CPU instructions. (They replace the Line F commands used by the ST.) Other chips are attached to the data bus and are accessed by reading or writing to specific memory locations (see Atari Memory Map and Peripherals).