C P / M 6 8 0 0 0 A s s e m b l e r Revision 02.03 Page 1 Source File: filetyps.s 1 2 * 3 * CP/M-68K table driven file search module 4 * ======================================== 5 * 6 7 * GLOBALS 8 9 10 .globl _load_tbl * loader table 11 .globl _load68k * default load program 12 .globl init_tbl * initializes table on COLD BOOT 13 14 00000000 .text 15 ************************************************************************* 16 * * 17 * This is the DUAL PROCESSOR,ROMABLE version of CP/M-68K * 18 * ====================================================== * 19 * * 20 * (c) Copyright Digital Research 1983 * 21 * all rights reserved * 22 * * 23 ************************************************************************* 24 25 * 26 * The following code allows CP/M-68K to be ROM-able. 27 * ------------------------------------------------- 28 * 29 30 init_tbl: 31 00000000 23FC0000000000000000 move.l #typ1,typ1p 32 0000000A 23FC000000040000000A move.l #typ2,typ2p * init the pointers to the filetypes 33 00000014 23FC0000000800000014 move.l #typ3,typ3p 34 0000001E 23FC0000000C0000001E move.l #null,typ4p 35 36 00000028 23FC0000000000000004 move.l #_load68k,pgld1 37 00000032 23FC000000000000000E move.l #_load68k,pgld2 * init the pointers to the loaders 38 0000003C 23FC0000000000000018 move.l #_load68k,pgld3 39 00000046 23FC0000000000000022 move.l #_load68k,pgld4 40 41 00000050 4E75 rts 42 00000000 .bss 43 .even 44 ************************************************************************* 45 * * 46 * CP/M-68K LOADER TABLE * 47 * ===================== * 48 * * 49 *-----------------------------------------------------------------------* 50 * * 51 * STRUCTURE OF A LOADER TABLE ENTRY: * 52 * ================================= * 53 * * 54 * (1) LONG WORD pointer to a filetype * 55 * (2) LONG WORD address of the program loader for the above type * C P / M 6 8 0 0 0 A s s e m b l e r Revision 02.03 Page 2 Source File: filetyps.s 56 * (3) BYTE flag #1 * 57 * (4) BYTE flag #2 * 58 * * 59 ************************************************************************* 60 61 62 _load_tbl: 63 00000000 typ1p: .ds.l 1 64 00000004 pgld1: .ds.l 1 65 00000008 .ds.b 1 66 00000009 .ds.b 1 67 0000000A typ2p: .ds.l 1 68 0000000E pgld2: .ds.l 1 69 00000012 .ds.b 1 70 00000013 .ds.b 1 71 00000014 typ3p: .ds.l 1 72 00000018 pgld3: .ds.l 1 73 0000001C .ds.b 1 74 0000001D .ds.b 1 75 0000001E typ4p: .ds.l 1 76 00000022 pgld4: .ds.l 1 77 00000026 .ds.b 1 78 00000027 .ds.b 1 79 80 81 ***************************************** 82 * * 83 * FILETYPE TABLE * 84 * ============== * 85 * * 86 ***************************************** 87 88 89 00000000 .data 90 .even 91 00000000 36384B00 typ1: .dc.b '68K',0 92 .even 93 00000004 20202000 typ2: .dc.b ' ',0 94 .even 95 00000008 53554200 typ3: .dc.b 'SUB',0 96 .even 97 0000000C 00000000 null: .dc.l 0 98 00000010 .end C P / M 6 8 0 0 0 A s s e m b l e r Revision 02.03 Page 3 Source File: filetyps.s S y m b o l T a b l e _load68k ******** EXT _load_tb 00000000 BSS init_tbl 00000000 TEXT null 0000000C DATA pgld1 00000004 BSS pgld2 0000000E BSS pgld3 00000018 BSS pgld4 00000022 BSS typ1 00000000 DATA typ1p 00000000 BSS typ2 00000004 DATA typ2p 0000000A BSS typ3 00000008 DATA typ3p 00000014 BSS typ4p 0000001E BSS