******** *monent* ******** OPT CASE ENTRY IDNT SECTION code,,C XDEF ENTRY XREF ????STACKTOP XREF __initcopy * Initialize variables copy () XREF _main * C's main() XREF _reig1 XREF _reig2 XREF _reig3 XREF _reig4 XREF _reig5 XREF _reig6 XREF _reig7 XREF _reig8 XREF _reig9 XREF _reig10 XREF _reig11 XREF _reig12 XREF _reig13 XREF _reig14 XREF _reig15 XREF _reig16 XREF _unsi XREF _l1 XREF _l2 XREF _l3 XREF _l4 XREF _l5 XREF _RTCint XREF _l7 DC.L ????STACKTOP * SSP on Cold Start DC.L $0F00008 * Entry Point ENTRY: MOVEA.L #????STACKTOP,SP * Stack Pointer MOVEA.L #0,A6 * Frame Pointer Initialization MOVE.L #$000,A0 *RESET SSP* MOVE.L #_reig1,(A0) MOVE.L #$004,A0 *RESET PC* MOVE.L #_reig2,(A0) MOVE.L #$008,A0 *BUS Error* MOVE.L #_reig3,(A0) MOVE.L #$00c,A0 *Address Error* MOVE.L #_reig4,(A0) MOVE.L #$010,A0 *Illegal Error* MOVE.L #_reig5,(A0) MOVE.L #$014,A0 *Zero Divide* MOVE.L #_reig6,(A0) MOVE.L #$018,A0 *CHK Instruction* MOVE.L #_reig7,(A0) MOVE.L #$01c,A0 *TRAPV Instruction* MOVE.L #_reig8,(A0) MOVE.L #$020,A0 *Privilege Violation* MOVE.L #_reig9,(A0) MOVE.L #$024,A0 *Trace* MOVE.L #_reig10,(A0) MOVE.L #$028,A0 *line1010 Emulator* MOVE.L #_reig11,(A0) MOVE.L #$02c,A0 *line1111 Emulator* MOVE.L #_reig12,(A0) MOVE.L #$030,A0 *Unsigned, reserved* MOVE.L #_unsi,(A0) MOVE.L #$034,A0 *Unsigned, reserved* MOVE.L #_unsi,(A0) MOVE.L #$038,A0 *FORMAT Error* MOVE.L #_reig13,(A0) MOVE.L #$03c,A0 *Unintialized* MOVE.L #_reig14,(A0) MOVE.L #$040,A0 *Unsighed, reserved* MOVE.L #_unsi,(A0) MOVE.L #$044,A0 *Unsighed, reserved* MOVE.L #_unsi,(A0) MOVE.L #$048,A0 *Unsighed, reserved* MOVE.L #_unsi,(A0) MOVE.L #$04c,A0 *Unsighed, reserved* MOVE.L #_unsi,(A0) MOVE.L #$050,A0 *Unsighed, reserved* MOVE.L #_unsi,(A0) MOVE.L #$054,A0 *Unsighed, reserved* MOVE.L #_unsi,(A0) MOVE.L #$058,A0 *Unsighed, reserved* MOVE.L #_unsi,(A0) MOVE.L #$05c,A0 *Unsighed, reserved* MOVE.L #_unsi,(A0) MOVE.L #$060,A0 *Sprious* MOVE.L #_reig15,(A0) MOVE.L #$064,A0 *LEV.1 Interrupt Autovector* MOVE.L #_l1,(A0) MOVE.L #$068,A0 *Lev.2 Interrupt Autovector* MOVE.L #_l2,(A0) MOVE.L #$06c,A0 *Lev.3 Interrupt Autovector* MOVE.L #_l3,(A0) MOVE.L #$070,A0 *Lev.4 Interrupt Autovector* MOVE.L #_l4,(A0) MOVE.L #$074,A0 *Lev.5 Interrupt Autovector* MOVE.L #_l5,(A0) MOVE.L #$078,A0 *Lev.6 (RTC/TICK)* MOVE.L #_RTCint,(A0) MOVE.L #$07c,A0 *Lev.7 Interrupt Autovector* MOVE.L #_l7,(A0) MOVE.L #$080,A0 *TRAP Instruction Vector* MOVE.L #_reig16,(A0) MOVE.L #$084,A0 *TRAP Instruction Vector* MOVE.L #_reig16,(A0) MOVE.L #$088,A0 *TRAP Instruction Vector* MOVE.L #_reig16,(A0) MOVE.L #$08c,A0 *TRAP Instruction Vector* MOVE.L #_reig16,(A0) MOVE.L #$090,A0 *TRAP Instruction Vector* MOVE.L #_reig16,(A0) MOVE.L #$094,A0 *TRAP Instruction Vector* MOVE.L #_reig16,(A0) MOVE.L #$098,A0 *TRAP Instruction Vector* MOVE.L #_reig16,(A0) MOVE.L #$09c,A0 *TRAP Instruction Vector* MOVE.L #_reig16,(A0) MOVE.L #$0a0,A0 *TRAP Instruction Vector* MOVE.L #_reig16,(A0) MOVE.L #$0a4,A0 *TRAP Instruction Vector* MOVE.L #_reig16,(A0) MOVE.L #$0a8,A0 *TRAP Instruction Vector* MOVE.L #_reig16,(A0) MOVE.L #$0ac,A0 *TRAP Instruction Vector* MOVE.L #_reig16,(A0) MOVE.L #$0b0,A0 *TRAP Instruction Vector* MOVE.L #_reig16,(A0) MOVE.L #$0b4,A0 *TRAP Instruction Vector* MOVE.L #_reig16,(A0) MOVE.L #$0b8,A0 *TRAP Instruction Vector* MOVE.L #_reig16,(A0) MOVE.L #$0bc,A0 *TRAP Instruction Vector* MOVE.L #_reig16,(A0) MOVE.L #$0c0,A0 *Unsigned, reserved* MOVE.L #_unsi,(A0) MOVE.L #$0c4,A0 *Unsigned, reserved* MOVE.L #_unsi,(A0) MOVE.L #$0c8,A0 *Unsigned, reserved* MOVE.L #_unsi,(A0) MOVE.L #$0cc,A0 *Unsigned, reserved* MOVE.L #_unsi,(A0) MOVE.L #$0d0,A0 *Unsigned, reserved* MOVE.L #_unsi,(A0) MOVE.L #$0d4,A0 *Unsigned, reserved* MOVE.L #_unsi,(A0) MOVE.L #$0d8,A0 *Unsigned, reserved* MOVE.L #_unsi,(A0) MOVE.L #$0dc,A0 *Unsigned, reserved* MOVE.L #_unsi,(A0) MOVE.L #$0e0,A0 *Unsigned, reserved* MOVE.L #_unsi,(A0) MOVE.L #$0e4,A0 *Unsigned, reserved* MOVE.L #_unsi,(A0) MOVE.L #$0e8,A0 *Unsigned, reserved* MOVE.L #_unsi,(A0) MOVE.L #$0ec,A0 *Unsigned, reserved* MOVE.L #_unsi,(A0) MOVE.L #$0f0,A0 *Unsigned, reserved* MOVE.L #_unsi,(A0) MOVE.L #$0f4,A0 *Unsigned, reserved* MOVE.L #_unsi,(A0) MOVE.L #$0f8,A0 *Unsigned, reserved* MOVE.L #_unsi,(A0) MOVE.L #$0fc,A0 *Unsigned, reserved* MOVE.L #_unsi,(A0) MOVE.L #$100,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$104,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$108,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$10c,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$110,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$114,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$118,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$11c,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$120,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$124,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$128,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$12c,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$130,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$134,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$138,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$13c,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$140,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$144,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$148,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$14c,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$150,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$154,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$158,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$15c,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$160,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$164,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$168,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$16c,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$170,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$174,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$178,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$17c,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$180,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$184,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$188,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$18c,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$190,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$194,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$198,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$19c,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$1a0,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$1a4,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$1a8,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$1ac,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$1b0,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$1b4,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$1b8,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$1bc,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$1c0,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$1c4,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$1c8,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$1cc,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$1d0,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$1d4,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$1d8,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$1dc,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$1e0,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$1e4,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$1e8,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$1ec,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$1f0,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$1f4,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$1f8,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$1fc,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$200,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$204,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$208,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$20c,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$210,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$214,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$218,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$21c,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$220,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$224,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$228,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$22c,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$230,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$234,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$238,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$23c,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$240,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$244,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$248,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$24c,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$250,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$254,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$258,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$25c,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$260,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$264,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$268,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$26c,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$270,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$274,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$278,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$27c,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$280,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$284,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$288,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$28c,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$290,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$294,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$298,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$29c,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$2a0,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$2a4,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$2a8,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$2ac,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$2b0,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$2b4,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$2b8,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$2bc,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$2c0,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$2c4,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$2c8,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$2cc,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$2d0,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$2d4,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$2d8,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$2dc,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$2e0,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$2e4,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$2e8,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$2ec,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$2f0,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$2f4,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$2f8,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$2fc,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$300,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$304,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$308,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$30c,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$310,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$314,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$318,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$31c,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$320,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$324,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$328,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$32c,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$330,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$334,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$338,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$33c,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$340,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$344,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$348,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$34c,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$350,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$354,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$358,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$35c,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$360,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$364,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$368,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$36c,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$370,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$374,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$378,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$37c,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$380,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$384,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$388,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$38c,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$390,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$394,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$398,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$39c,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$3a0,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$3a4,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$3a8,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$3ac,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$3b0,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$3b4,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$3b8,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$3bc,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$3c0,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$3c4,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$3c8,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$3cc,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$3d0,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$3d4,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$3d8,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$3dc,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$3e0,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$3e4,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$3e8,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$3ec,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$3f0,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$3f4,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$3f8,A0 *User* MOVE.L #_unsi,(A0) MOVE.L #$3fc,A0 *User* MOVE.L #_unsi,(A0) MOVE #$2700,SR * Disable interrupt * * THE FOLLOWING CODE CLEARS THE ZEROVARS SECTION * * from /mirs/sawa/demo68k/entry.s * LEA .STARTOF.(zerovars),A0 * START OF THE SECTION MOVE.L #.SIZEOF.(zerovars),D1 * LENGTH OF THE SECTION MOVE.L D1,D0 * SAVE IN D0 ALSO LSR.L #2,D1 * NUMBER OF LONG WORDS TO MOVE BRA.S CLROVARS1 * SKIP FIRST CLEAR CLROVARS: CLR.L (A0)+ * CLEAR THE ADDRESS CLROVARS1: DBF D1,CLROVARS * DECREMENT LONG WORD COUNT & TEST SUBI.L #$10000,D1 * SIMULATE BORROW FROM LOW 16 BITS CMPI.L #-1,D1 * IS LONG WORD COUNT == -1 BNE.S CLROVARS * NO -- KEEP CLEARING * ANDI.L #3,D0 * SHOULD INDIVIDUAL BYTES BE CLEAR BRA.S CLROVARS2 * SKIP FIRST CLEAR CLROVARS3: CLR.B (A0)+ * CLEAR ONE MORE BYTE CLROVARS2: DBF D0,CLROVARS3 * DECREMENT BYTE COUNT & TEST JSR __initcopy(PC) * ROM INITIALIZATION JSR _main * Call main() LSTOP: STOP #$2700 * Halt until Level 7 Interrupt BRA.S LSTOP RTS * * end of SECTION code * SECTION zerovars,,D * DATA SECTION * * FORCE SECTION vars TO FOLLOW SECTIONS code AND zerovars IN * MEMORY. THIS IS DONE EVEN THOUGH THERE IS NO CODE IN * SECTION vars. * SECTION vars,,D * INITIALIZED DATA END ENTRY * end of c_entry.s *