/* * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands. * See the copyright notice in the ACK home directory, in the file "Copyright". */ #define RCSID3 "$Id$" /* * Specials */ 0, KILL, 0, "kill", /* * Intel 8080 keywords */ 0, REG, B, "b", 0, REG, C, "c", 0, REG, D, "d", 0, REG, E, "e", 0, REG, H, "h", 0, REG, L, "l", 0, REG, M, "m", 0, REG, A, "a", 0, REG, SP, "sp", 0, REG, PSW, "psw", 0, D16OP, 0315, "call", 0, D16OP, 0334, "cc", 0, D16OP, 0324, "cnc", 0, D16OP, 0314, "cz", 0, D16OP, 0304, "cnz", 0, D16OP, 0364, "cp", 0, D16OP, 0374, "cm", 0, D16OP, 0354, "cpe", 0, D16OP, 0344, "cpo", 0, NOOPOP, 0311, "ret", 0, NOOPOP, 0330, "rc", 0, NOOPOP, 0320, "rnc", 0, NOOPOP, 0310, "rz", 0, NOOPOP, 0300, "rnz", 0, NOOPOP, 0360, "rp", 0, NOOPOP, 0370, "rm", 0, NOOPOP, 0350, "rpe", 0, NOOPOP, 0340, "rpo", 0, RST, 0307, "rst", 0, D8OP, 0333, "in", 0, D8OP, 0323, "out", 0, LXI, 0001, "lxi", 0, R16OP, 0305, "push", 0, R16OP, 0301, "pop", 0, D16OP, 0062, "sta", 0, D16OP, 0072, "lda", 0, NOOPOP, 0353, "xchg", 0, NOOPOP, 0343, "xthl", 0, NOOPOP, 0371, "sphl", 0, NOOPOP, 0351, "pchl", 0, R16OP, 0011, "dad", 0, STLDAX, 0002, "stax", 0, STLDAX, 0012, "ldax", 0, R16OP, 0003, "inx", 0, MOV, 0100, "mov", 0, NOOPOP, 0166, "hlt", 0, MVI, 0006, "mvi", 0, DSTOP, 0004, "inr", 0, DSTOP, 0005, "dcr", 0, SRCOP, 0200, "add", 0, SRCOP, 0210, "adc", 0, SRCOP, 0220, "sub", 0, SRCOP, 0230, "sbb", 0, SRCOP, 0240, "ana", 0, SRCOP, 0250, "xra", 0, SRCOP, 0260, "ora", 0, SRCOP, 0270, "cmp", 0, D8OP, 0306, "adi", 0, D8OP, 0316, "aci", 0, D8OP, 0326, "sui", 0, D8OP, 0336, "sbi", 0, D8OP, 0346, "ani", 0, D8OP, 0356, "xri", 0, D8OP, 0366, "ori", 0, D8OP, 0376, "cpi", 0, NOOPOP, 0007, "rlc", 0, NOOPOP, 0017, "rrc", 0, NOOPOP, 0027, "ral", 0, NOOPOP, 0037, "rar", 0, D16OP, 0303, "jmp", 0, D16OP, 0332, "jc", 0, D16OP, 0322, "jnc", 0, D16OP, 0312, "jz", 0, D16OP, 0302, "jnz", 0, D16OP, 0362, "jp", 0, D16OP, 0372, "jm", 0, D16OP, 0352, "jpe", 0, D16OP, 0342, "jpo", 0, R16OP, 0013, "dcx", 0, NOOPOP, 0057, "cma", 0, NOOPOP, 0067, "stc", 0, NOOPOP, 0077, "cmc", 0, NOOPOP, 0047, "daa", 0, D16OP, 0042, "shld", 0, D16OP, 0052, "lhld", 0, NOOPOP, 0373, "ei", 0, NOOPOP, 0363, "di", 0, NOOPOP, 0000, "nop", 0, NOOPOP, 0040, "rim", /* 8085 */ 0, NOOPOP, 0060, "sim", /* 8085 */ /* * The Intel 8085 has a set of instructions for high level language * support that were not originally documented. * * V = signed overflow (carry out ^ carry in) * K = signed compare (v ^ sign) * * K is mostly useful for oveflowing INX and DEX to avoid the usual * check via A. RSTV is useful for runtimes where signed overflow is a * fault. */ 0, NOOPOP, 0010, "dsub", /* 8085 undoc HL = HL - BC */ 0, NOOPOP, 0020, "arhl", /* 8085 undoc HL arith right shift */ 0, NOOPOP, 0030, "rld", /* 8085 undoc rotate DE left thru carry */ /* in effect ADC DE,DE */ 0, D8OP, 0050, "ldhi", /* DE = HL + imm8 */ 0, D8OP, 0070, "ldsi", /* DE = SP + imm8 */ 0, NOOPOP, 0313, "rstv", /* RST8 if V set */ 0, NOOPOP, 0331, "shlx", /* (DE) = HL */ 0, NOOPOP, 0355, "lhlx", /* HL = (DE) */ 0, D16OP, 0335, "jnk", /* Jump K clear */ 0, D16OP, 0375, "jk", /* Jump K set */