|
DataMuseum.dkPresents historical artifacts from the history of: Commodore CBM-900 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Commodore CBM-900 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 12557 (0x310d) Types: TextFile Notes: UNIX file Names: »pst.c«
└─⟦f27320a65⟧ Bits:30001972 Commodore 900 hard disk image with partial source code └─⟦f4b8d8c84⟧ UNIX Filesystem └─ ⟦this⟧ »cmd/as/z8001/pst.c«
#include "asm.h" struct sym sym[] = { { 0, ".", S_USER, 0, E_DIR, 0 }, { 0, ".byte", S_BYTE, 0, E_ACON, 0 }, { 0, ".word", S_WORD, 0, E_ACON, 0 }, { 0, ".long", S_LONG, 0, E_ACON, 0 }, { 0, ".ascii", S_ASCII, 0, E_ACON, 0 }, { 0, ".blkb", S_BLK, 0, E_ACON, 1 }, { 0, ".blkw", S_BLK, 0, E_ACON, 2 }, { 0, ".blkl", S_BLK, 0, E_ACON, 4 }, { 0, ".page", S_PAGE, 0, E_ACON, 0 }, { 0, ".title", S_TITLE, 0, E_ACON, 0 }, { 0, ".globl", S_GLOBL, 0, E_ACON, 0 }, { 0, ".even", S_EVEN, 0, E_ACON, 1 }, { 0, ".odd", S_ODD, 0, E_ACON, 0 }, { 0, ".comm", S_COMM, 0, E_ACON, 0 }, { 0, ".seg", S_SEGM, 0, E_ACON, 1 }, { 0, ".nonseg", S_SEGM, 0, E_ACON, 0 }, { 0, "rh0", S_REG, 0, E_AREG, 0x0000 }, { 0, "r0", S_REG, 0, E_AREG, 0x0000 }, { 0, "rr0", S_REG, 0, E_AREG, 0x0000 }, { 0, "rq0", S_REG, 0, E_AREG, 0x0000 }, { 0, "rh1", S_REG, 0, E_AREG, 0x0001 }, { 0, "r1", S_REG, 0, E_AREG, 0x0001 }, { 0, "rh2", S_REG, 0, E_AREG, 0x0002 }, { 0, "r2", S_REG, 0, E_AREG, 0x0002 }, { 0, "rr2", S_REG, 0, E_AREG, 0x0002 }, { 0, "rh3", S_REG, 0, E_AREG, 0x0003 }, { 0, "r3", S_REG, 0, E_AREG, 0x0003 }, { 0, "rh4", S_REG, 0, E_AREG, 0x0004 }, { 0, "r4", S_REG, 0, E_AREG, 0x0004 }, { 0, "rr4", S_REG, 0, E_AREG, 0x0004 }, { 0, "rq4", S_REG, 0, E_AREG, 0x0004 }, { 0, "rh5", S_REG, 0, E_AREG, 0x0005 }, { 0, "r5", S_REG, 0, E_AREG, 0x0005 }, { 0, "rh6", S_REG, 0, E_AREG, 0x0006 }, { 0, "r6", S_REG, 0, E_AREG, 0x0006 }, { 0, "rr6", S_REG, 0, E_AREG, 0x0006 }, { 0, "rh7", S_REG, 0, E_AREG, 0x0007 }, { 0, "r7", S_REG, 0, E_AREG, 0x0007 }, { 0, "rl0", S_REG, 0, E_AREG, 0x0008 }, { 0, "r8", S_REG, 0, E_AREG, 0x0008 }, { 0, "rr8", S_REG, 0, E_AREG, 0x0008 }, { 0, "rq8", S_REG, 0, E_AREG, 0x0008 }, { 0, "rl1", S_REG, 0, E_AREG, 0x0009 }, { 0, "r9", S_REG, 0, E_AREG, 0x0009 }, { 0, "rl2", S_REG, 0, E_AREG, 0x000A }, { 0, "r10", S_REG, 0, E_AREG, 0x000A }, { 0, "rr10", S_REG, 0, E_AREG, 0x000A }, { 0, "rl3", S_REG, 0, E_AREG, 0x000B }, { 0, "r11", S_REG, 0, E_AREG, 0x000B }, { 0, "rl4", S_REG, 0, E_AREG, 0x000C }, { 0, "r12", S_REG, 0, E_AREG, 0x000C }, { 0, "rr12", S_REG, 0, E_AREG, 0x000C }, { 0, "rq12", S_REG, 0, E_AREG, 0x000C }, { 0, "rl5", S_REG, 0, E_AREG, 0x000D }, { 0, "r13", S_REG, 0, E_AREG, 0x000D }, { 0, "rl6", S_REG, 0, E_AREG, 0x000E }, { 0, "r14", S_REG, 0, E_AREG, 0x000E }, { 0, "rr14", S_REG, 0, E_AREG, 0x000E }, { 0, "rl7", S_REG, 0, E_AREG, 0x000F }, { 0, "r15", S_REG, 0, E_AREG, 0x000F }, { 0, "un", S_CC, 0, E_ACON, 0x0008 }, { 0, "z", S_CC, 0, E_ACON, 0x0006 }, { 0, "nz", S_CC, 0, E_ACON, 0x000E }, { 0, "c", S_CC, 0, E_ACON, 0x0007 }, { 0, "nc", S_CC, 0, E_ACON, 0x000F }, { 0, "pl", S_CC, 0, E_ACON, 0x000D }, { 0, "mi", S_CC, 0, E_ACON, 0x0005 }, { 0, "ne", S_CC, 0, E_ACON, 0x000E }, { 0, "eq", S_CC, 0, E_ACON, 0x0006 }, { 0, "ov", S_CC, 0, E_ACON, 0x0004 }, { 0, "nov", S_CC, 0, E_ACON, 0x000C }, { 0, "pe", S_CC, 0, E_ACON, 0x0004 }, { 0, "po", S_CC, 0, E_ACON, 0x000C }, { 0, "ge", S_CC, 0, E_ACON, 0x0009 }, { 0, "lt", S_CC, 0, E_ACON, 0x0001 }, { 0, "gt", S_CC, 0, E_ACON, 0x000A }, { 0, "le", S_CC, 0, E_ACON, 0x0002 }, { 0, "uge", S_CC, 0, E_ACON, 0x000F }, { 0, "ult", S_CC, 0, E_ACON, 0x0007 }, { 0, "ugt", S_CC, 0, E_ACON, 0x000B }, { 0, "ule", S_CC, 0, E_ACON, 0x0003 }, { 0, "NVI", S_IVN, 0, E_ACON, 0x0001 }, { 0, "VI", S_IVN, 0, E_ACON, 0x0002 }, { 0, "C", S_FLGN, 0, E_ACON, 0x0080 }, { 0, "Z", S_FLGN, 0, E_ACON, 0x0040 }, { 0, "S", S_FLGN, 0, E_ACON, 0x0020 }, { 0, "P", S_FLGN, 0, E_ACON, 0x0010 }, { 0, "V", S_FLGN, 0, E_ACON, 0x0010 }, { 0, "halt", S_HALT, 0, E_ACON, 0x7A00 }, { 0, "nop", S_HALT, 0, E_ACON, 0x8D07 }, { 0, "iret", S_HALT, 0, E_ACON, 0x7B00 }, { 0, "mbit", S_HALT, 0, E_ACON, 0x7B0A }, { 0, "mres", S_HALT, 0, E_ACON, 0x7B09 }, { 0, "mset", S_HALT, 0, E_ACON, 0x7B08 }, { 0, "dab", S_R, 0, E_ACON, 0xB000 }, { 0, "mreq", S_R, 0, E_ACON, 0x7B0D }, { 0, "exts", S_R, S_2, E_ACON, 0xB10A }, { 0, "extsb", S_R, 0, E_ACON, 0xB100 }, { 0, "extsl", S_R, S_4, E_ACON, 0xB107 }, { 0, "di", S_DI, 0, E_ACON, 0x7C03 }, { 0, "ei", S_DI, 0, E_ACON, 0x7C07 }, { 0, "adc", S_RR, 0, E_ACON, 0xB500 }, { 0, "adcb", S_RR, 0, E_ACON, 0xB400 }, { 0, "sbc", S_RR, 0, E_ACON, 0xB700 }, { 0, "sbcb", S_RR, 0, E_ACON, 0xB600 }, { 0, "rldb", S_RR, 0, E_ACON, 0xBE00 }, { 0, "rrdb", S_RR, 0, E_ACON, 0xBC00 }, { 0, "in", S_IN, 0, E_ACON, 0x3D00 }, { 0, "inb", S_IN, 0, E_ACON, 0x3C00 }, { 0, "out", S_OUT, 0, E_ACON, 0x3F00 }, { 0, "outb", S_OUT, 0, E_ACON, 0x3E00 }, { 0, "dec", S_DEC, 0, E_ACON, 0x2B00 }, { 0, "decb", S_DEC, 0, E_ACON, 0x2A00 }, { 0, "inc", S_DEC, 0, E_ACON, 0x2900 }, { 0, "incb", S_DEC, 0, E_ACON, 0x2800 }, { 0, "ex", S_EX, 0, E_ACON, 0x2D00 }, { 0, "exb", S_EX, 0, E_ACON, 0x2C00 }, { 0, "add", S_RSRC, 0, E_ACON, 0x0100 }, { 0, "addb", S_RSRC, 0, E_ACON, 0x0000 }, { 0, "addl", S_RSRC, S_L|S_2, E_ACON, 0x1600 }, { 0, "sub", S_RSRC, 0, E_ACON, 0x0300 }, { 0, "subb", S_RSRC, 0, E_ACON, 0x0200 }, { 0, "subl", S_RSRC, S_L|S_2, E_ACON, 0x1200 }, { 0, "and", S_RSRC, 0, E_ACON, 0x0700 }, { 0, "andb", S_RSRC, 0, E_ACON, 0x0600 }, { 0, "or", S_RSRC, 0, E_ACON, 0x0500 }, { 0, "orb", S_RSRC, 0, E_ACON, 0x0400 }, { 0, "xor", S_RSRC, 0, E_ACON, 0x0900 }, { 0, "xorb", S_RSRC, 0, E_ACON, 0x0800 }, { 0, "div", S_RSRC, S_2, E_ACON, 0x1B00 }, { 0, "divl", S_RSRC, S_L|S_4, E_ACON, 0x1A00 }, { 0, "mult", S_RSRC, S_2, E_ACON, 0x1900 }, { 0, "multl", S_RSRC, S_L|S_4, E_ACON, 0x1800 }, { 0, "djnz", S_DJNZ, 0, E_ACON, 0xF080 }, { 0, "dbjnz", S_DJNZ, 0, E_ACON, 0xF000 }, { 0, "cpdb", S_CPD, 0, E_ACON, 0xBA08 }, { 0, "cpd", S_CPD, 0, E_ACON, 0xBB08 }, { 0, "cpdrb", S_CPD, 0, E_ACON, 0xBA0C }, { 0, "cpdr", S_CPD, 0, E_ACON, 0xBB0C }, { 0, "cpib", S_CPD, 0, E_ACON, 0xBA00 }, { 0, "cpi", S_CPD, 0, E_ACON, 0xBB00 }, { 0, "cpirb", S_CPD, 0, E_ACON, 0xBA04 }, { 0, "cpir", S_CPD, 0, E_ACON, 0xBB04 }, { 0, "cpsdb", S_CPS, 0, E_ACON, 0xBA0A }, { 0, "cpsd", S_CPS, 0, E_ACON, 0xBB0A }, { 0, "cpsdrb", S_CPS, 0, E_ACON, 0xBA0E }, { 0, "cpsdr", S_CPS, 0, E_ACON, 0xBB0E }, { 0, "cpsib", S_CPS, 0, E_ACON, 0xBA02 }, { 0, "cpsi", S_CPS, 0, E_ACON, 0xBB02 }, { 0, "cpsirb", S_CPS, 0, E_ACON, 0xBA06 }, { 0, "cpsir", S_CPS, 0, E_ACON, 0xBB06 }, { 0, "cp", S_CP, 0, E_ACON, 0x0B00 }, { 0, "cpb", S_CP, 0, E_ACON, 0x0A00 }, { 0, "cpl", S_CP, S_L|S_2, E_ACON, 0x1000 }, { 0, "comflg", S_FLG, 0, E_ACON, 0x8D05 }, { 0, "setflg", S_FLG, 0, E_ACON, 0x8D01 }, { 0, "resflg", S_FLG, 0, E_ACON, 0x8D03 }, { 0, "clrb", S_CLR, 0, E_ACON, 0x0C08 }, { 0, "clr", S_CLR, 0, E_ACON, 0x0D08 }, { 0, "comb", S_CLR, 0, E_ACON, 0x0C00 }, { 0, "com", S_CLR, 0, E_ACON, 0x0D00 }, { 0, "negb", S_CLR, 0, E_ACON, 0x0C02 }, { 0, "neg", S_CLR, 0, E_ACON, 0x0D02 }, { 0, "test", S_CLR, 0, E_ACON, 0x0D04 }, { 0, "testb", S_CLR, 0, E_ACON, 0x0C04 }, { 0, "testl", S_CLR, S_2, E_ACON, 0x1C08 }, { 0, "tset", S_CLR, 0, E_ACON, 0x0D06 }, { 0, "tsetb", S_CLR, 0, E_ACON, 0x0C06 }, { 0, "call", S_CALL, 0, E_ACON, 0x1F00 }, { 0, "ldps", S_CALL, 0, E_ACON, 0x3900 }, { 0, "bitb", S_BIT, 0, E_ACON, 0x2600 }, { 0, "bit", S_BIT, 0, E_ACON, 0x2700 }, { 0, "resb", S_BIT, 0, E_ACON, 0x2200 }, { 0, "res", S_BIT, 0, E_ACON, 0x2300 }, { 0, "setb", S_BIT, 0, E_ACON, 0x2400 }, { 0, "set", S_BIT, 0, E_ACON, 0x2500 }, { 0, "calr", S_CALR, 0, E_ACON, 0xD000 }, { 0, "ind", S_IND, 0, E_ACON, 0x3B08 }, { 0, "indb", S_IND, 0, E_ACON, 0x3A08 }, { 0, "ini", S_IND, 0, E_ACON, 0x3B00 }, { 0, "inib", S_IND, 0, E_ACON, 0x3A00 }, { 0, "ldd", S_IND, 0, E_ACON, 0xBB09 }, { 0, "lddb", S_IND, 0, E_ACON, 0xBA09 }, { 0, "ldi", S_IND, 0, E_ACON, 0xBB01 }, { 0, "ldib", S_IND, 0, E_ACON, 0xBA01 }, { 0, "outd", S_IND, 0, E_ACON, 0x3B0A }, { 0, "outdb", S_IND, 0, E_ACON, 0x3A0A }, { 0, "outi", S_IND, 0, E_ACON, 0x3B02 }, { 0, "outib", S_IND, 0, E_ACON, 0x3A02 }, { 0, "sind", S_IND, 0, E_ACON, 0x3B09 }, { 0, "sindb", S_IND, 0, E_ACON, 0x3A09 }, { 0, "sini", S_IND, 0, E_ACON, 0x3B01 }, { 0, "sinib", S_IND, 0, E_ACON, 0x3A01 }, { 0, "soutd", S_IND, 0, E_ACON, 0x3B0B }, { 0, "soutdb", S_IND, 0, E_ACON, 0x3A0B }, { 0, "souti", S_IND, 0, E_ACON, 0x3B03 }, { 0, "soutib", S_IND, 0, E_ACON, 0x3A03 }, { 0, "indr", S_INDR, 0, E_ACON, 0x3B08 }, { 0, "indbr", S_INDR, 0, E_ACON, 0x3A08 }, { 0, "inir", S_INDR, 0, E_ACON, 0x3B00 }, { 0, "inirb", S_INDR, 0, E_ACON, 0x3A00 }, { 0, "lddr", S_INDR, 0, E_ACON, 0xBB09 }, { 0, "lddrb", S_INDR, 0, E_ACON, 0xBA09 }, { 0, "ldir", S_INDR, 0, E_ACON, 0xBB01 }, { 0, "ldirb", S_INDR, 0, E_ACON, 0xBA01 }, { 0, "otdr", S_INDR, 0, E_ACON, 0x3B0A }, { 0, "otdrb", S_INDR, 0, E_ACON, 0x3A0A }, { 0, "otir", S_INDR, 0, E_ACON, 0x3B02 }, { 0, "otirb", S_INDR, 0, E_ACON, 0x3A02 }, { 0, "sindr", S_INDR, 0, E_ACON, 0x3B09 }, { 0, "sindrb", S_INDR, 0, E_ACON, 0x3A09 }, { 0, "sotdr", S_INDR, 0, E_ACON, 0x3B0B }, { 0, "sotdrb", S_INDR, 0, E_ACON, 0x3A0B }, { 0, "sotir", S_INDR, 0, E_ACON, 0x3B03 }, { 0, "sotirb", S_INDR, 0, E_ACON, 0x3A03 }, { 0, "sinir", S_INDR, 0, E_ACON, 0x3B01 }, { 0, "sinirb", S_INDR, 0, E_ACON, 0x3A01 }, { 0, "trdb", S_TRT, 0, E_ACON, 0xB808 }, { 0, "trdrb", S_TRT, 0, E_ACON, 0xB80C }, { 0, "trib", S_TRT, 0, E_ACON, 0xB800 }, { 0, "trirb", S_TRT, 0, E_ACON, 0xB804 }, { 0, "trtdb", S_TRT, 0, E_ACON, 0xB80A }, { 0, "trtib", S_TRT, 0, E_ACON, 0xB802 }, { 0, "trtdrb", S_TRTR, 0, E_ACON, 0xB80E }, { 0, "trtirb", S_TRTR, 0, E_ACON, 0xB806 }, { 0, "jp", S_JP, 0, E_ACON, 0x1E00 }, { 0, "jr", S_JR, 0, E_ACON, 0xE000 }, { 0, "ld", S_LD, 0, E_ACON, 0x2100 }, { 0, "ldb", S_LD, 0, E_ACON, 0x2000 }, { 0, "ldl", S_LD, S_2, E_ACON, 0x1400 }, { 0, "ldk", S_LDK, 0, E_ACON, 0xBD00 }, { 0, "lda", S_LDA, 0, E_ACON, 0x3400 }, { 0, "ldar", S_LDAR, 0, E_ACON, 0x3400 }, { 0, "ldctlb", S_CTL, 0, E_ACON, 0x8C00 }, { 0, "ldctl", S_CTL, 0, E_ACON, 0x7D00 }, { 0, "FLAGS", S_USER, 0, E_ACON, 0x01 }, { 0, "FCW", S_USER, 0, E_ACON, 0x02 }, { 0, "REFRESH", S_USER, 0, E_ACON, 0x03 }, /*#if SEGCPU*/ { 0, "PSAPSEG", S_USER, 0, E_ACON, 0x04 }, { 0, "PSAPOFF", S_USER, 0, E_ACON, 0x05 }, { 0, "NSPSEG", S_USER, 0, E_ACON, 0x06 }, { 0, "NSPOFF", S_USER, 0, E_ACON, 0x07 }, /*#else*/ { 0, "PSAP", S_USER, 0, E_ACON, 0x05 }, { 0, "NSP", S_USER, 0, E_ACON, 0x07 }, /*#endif*/ { 0, "ldm", S_LDM, 0, E_ACON, 0 }, { 0, "ldr", S_LDR, 0, E_ACON, 0x3100 }, { 0, "ldrb", S_LDR, 0, E_ACON, 0x3000 }, { 0, "ldrl", S_LDR, S_2, E_ACON, 0x3500 }, { 0, "pop", S_POP, 0, E_ACON, 0x1700 }, { 0, "popl", S_POP, S_2, E_ACON, 0x1500 }, { 0, "push", S_PUSH, 0, E_ACON, 0x1300 }, { 0, "pushl", S_PUSH, S_L|S_2, E_ACON, 0x1100 }, { 0, "ret", S_RET, 0, E_ACON, 0x9E00 }, { 0, "rlc", S_RL, 0, E_ACON, 0xB308 }, { 0, "rlcb", S_RL, 0, E_ACON, 0xB208 }, { 0, "rl", S_RL, 0, E_ACON, 0xB300 }, { 0, "rlb", S_RL, 0, E_ACON, 0xB200 }, { 0, "rrc", S_RL, 0, E_ACON, 0xB30C }, { 0, "rrcb", S_RL, 0, E_ACON, 0xB20C }, { 0, "rr", S_RL, 0, E_ACON, 0xB304 }, { 0, "rrb", S_RL, 0, E_ACON, 0xB204 }, { 0, "sc", S_SC, 0, E_ACON, 0x7F00 }, { 0, "sys", S_SC, 0, E_ACON, 0x7F00 }, { 0, "sda", S_SDA, 0, E_ACON, 0x330B }, { 0, "sdab", S_SDA, 0, E_ACON, 0x320B }, { 0, "sdal", S_SDA, 0, E_ACON, 0x330F }, { 0, "sdl", S_SDA, 0, E_ACON, 0x3303 }, { 0, "sdlb", S_SDA, 0, E_ACON, 0x3203 }, { 0, "sdll", S_SDA, 0, E_ACON, 0x3307 }, { 0, "sin", S_SIN, 0, E_ACON, 0x3B05 }, { 0, "sinb", S_SIN, 0, E_ACON, 0x3A05 }, { 0, "sout", S_SOUT, 0, E_ACON, 0x3B07 }, { 0, "soutb", S_SOUT, 0, E_ACON, 0x3A07 }, { 0, "sla", S_SLA, 0, E_ACON, 0xB309 }, { 0, "slab", S_SLA, 0, E_ACON, 0xB209 }, { 0, "slal", S_SLA, 0, E_ACON, 0xB30D }, { 0, "sll", S_SLA, 0, E_ACON, 0xB301 }, { 0, "sllb", S_SLA, 0, E_ACON, 0xB201 }, { 0, "slll", S_SLA, 0, E_ACON, 0xB305 }, { 0, "sra", S_SRA, 0, E_ACON, 0xB309 }, { 0, "srab", S_SRA, 0, E_ACON, 0xB209 }, { 0, "sral", S_SRA, 0, E_ACON, 0xB30D }, { 0, "srl", S_SRA, 0, E_ACON, 0xB301 }, { 0, "srlb", S_SRA, 0, E_ACON, 0xB201 }, { 0, "srll", S_SRA, 0, E_ACON, 0xB305 }, { 0, "tcc", S_TCC, 0, E_ACON, 0xAF00 }, { 0, "tccb", S_TCC, S_END, E_ACON, 0xAE00 } };