/* ---------------------------------------------------------------------- */ /* Copyright (C) 1991 by Natrlich! */ /* This file is copyrighted! */ /* Refer to the documentation for details. */ /* ---------------------------------------------------------------------- */ #include "defines.h" #include "ops.h" /* A I A R R A R R I R I I I C N B E E B E E M E N N N C S S L L S L L P L D D D U T 0 X Y X Y L A X Y 0 0 Labels have two entries: one in ABS w/255 and one in RELA w/the real value. */ #if OS == MSDOS # define _brk xbrk #endif byte _adc[] = { 0,105,101,117, 0,109,125,121, 0, 0, 97,113,114 }, _and[] = { 0, 41, 37, 53, 0, 45, 61, 57, 0, 0, 33, 49, 50 }, _asl[] = { 10, 0, 6, 22, 0, 14, 30, 0, 0, 0, 0, 0, 0 }, _bcc[] = { 0, 0, 0, 0, 0,255, 0, 0, 0,144, 0, 0, 0 }, _bcs[] = { 0, 0, 0, 0, 0,255, 0, 0, 0,176, 0, 0, 0 }, _beq[] = { 0, 0, 0, 0, 0,255, 0, 0, 0,240, 0, 0, 0 }, _bit[] = { 0, 0, 36, 52, 0, 44, 60, 0, 0, 0, 0, 0, 0 }, _bmi[] = { 0, 0, 0, 0, 0,255, 0, 0, 0, 48, 0, 0, 0 }, _bne[] = { 0, 0, 0, 0, 0,255, 0, 0, 0,208, 0, 0, 0 }, _bpl[] = { 0, 0, 0, 0, 0,255, 0, 0, 0, 16, 0, 0, 0 }, _bra[] = { 0, 0, 0, 0, 0,255, 0, 0, 0,128, 0, 0, 0 }, _brk[] = { 0, 0, 0, 0, 0, 0, 0, 0,255, 0, 0, 0, 0 }, _bvc[] = { 0, 0, 0, 0, 0,255, 0, 0, 0, 80, 0, 0, 0 }, _bvs[] = { 0, 0, 0, 0, 0,255, 0, 0, 0,112, 0, 0, 0 }, _clc[] = { 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0 }, _cld[] = { 0, 0, 0, 0, 0, 0, 0, 0,216, 0, 0, 0, 0 }, _cli[] = { 0, 0, 0, 0, 0, 0, 0, 0, 88, 0, 0, 0, 0 }, _clv[] = { 0, 0, 0, 0, 0, 0, 0, 0,184, 0, 0, 0, 0 }, _cmp[] = { 0,201,197,213, 0,205,221,217, 0, 0,193,209,210 }, _cpx[] = { 0,224,228, 0, 0,236, 0, 0, 0, 0, 0, 0, 0 }, _cpy[] = { 0,192,196, 0, 0,204, 0, 0, 0, 0, 0, 0, 0 }, _dea[] = { 0, 0, 0, 0, 0, 0, 0, 0, 58, 0, 0, 0, 0 }, _dec[] = { 0, 0,198,214, 0,206,222, 0, 0, 0, 0, 0, 0 }, _dex[] = { 0, 0, 0, 0, 0, 0, 0, 0,202, 0, 0, 0, 0 }, _dey[] = { 0, 0, 0, 0, 0, 0, 0, 0,136, 0, 0, 0, 0 }, _eor[] = { 0, 73, 69, 85, 0, 77, 93, 89, 0, 0, 65, 81, 82 }, _ina[] = { 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0 }, _inc[] = { 0, 0,230,246, 0,238,254, 0, 0, 0, 0, 0, 0 }, _inx[] = { 0, 0, 0, 0, 0, 0, 0, 0,232, 0, 0, 0, 0 }, _iny[] = { 0, 0, 0, 0, 0, 0, 0, 0,200, 0, 0, 0, 0 }, _jmp[] = { 0, 0, 0, 0, 0, 76, 0, 0, 0, 0,124, 0,108 }, _jsr[] = { 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0 }, _lda[] = { 0,169,165,181, 0,173,189,185, 0, 0,161,177,178 }, _ldx[] = { 0,162,166, 0,182,174, 0,190, 0, 0, 0, 0, 0 }, _ldy[] = { 0,160,164,180, 0,172,188, 0, 0, 0, 0, 0, 0 }, _lsr[] = { 74, 0, 70, 86, 0, 78, 94, 0, 0, 0, 0, 0, 0 }, _nop[] = { 0, 0, 0, 0, 0, 0, 0, 0,234, 0, 0, 0, 0 }, _ora[] = { 0, 9, 5, 21, 0, 13, 29, 25, 0, 0, 1, 17, 18 }, _pha[] = { 0, 0, 0, 0, 0, 0, 0, 0, 72, 0, 0, 0, 0 }, _php[] = { 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0 }, _phx[] = { 0, 0, 0, 0, 0, 0, 0, 0,218, 0, 0, 0, 0 }, _phy[] = { 0, 0, 0, 0, 0, 0, 0, 0, 90, 0, 0, 0, 0 }, _pla[] = { 0, 0, 0, 0, 0, 0, 0, 0,104, 0, 0, 0, 0 }, _plp[] = { 0, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0 }, _plx[] = { 0, 0, 0, 0, 0, 0, 0, 0,250, 0, 0, 0, 0 }, _ply[] = { 0, 0, 0, 0, 0, 0, 0, 0,122, 0, 0, 0, 0 }, _rol[] = { 42, 0, 38, 54, 0, 46, 62, 0, 0, 0, 0, 0, 0 }, _ror[] = { 106, 0,102,118, 0,110,126, 0, 0, 0, 0, 0, 0 }, _rti[] = { 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0 }, _rts[] = { 0, 0, 0, 0, 0, 0, 0, 0, 96, 0, 0, 0, 0 }, _sbc[] = { 0,233,229,245, 0,237,253,249, 0, 0,225,241,242 }, _sec[] = { 0, 0, 0, 0, 0, 0, 0, 0, 56, 0, 0, 0, 0 }, _sed[] = { 0, 0, 0, 0, 0, 0, 0, 0,248, 0, 0, 0, 0 }, _sei[] = { 0, 0, 0, 0, 0, 0, 0, 0,120, 0, 0, 0, 0 }, _sta[] = { 0, 0,133,149, 0,141,157,153, 0, 0,129,145,146 }, _stx[] = { 0, 0,134, 0,150,142, 0, 0, 0, 0, 0, 0, 0 }, _sty[] = { 0, 0,132,148, 0,140, 0, 0, 0, 0, 0, 0, 0 }, _stz[] = { 0, 0,100,116, 0,156,158, 0, 0, 0, 0, 0, 0 }, _tax[] = { 0, 0, 0, 0, 0, 0, 0, 0,170, 0, 0, 0, 0 }, _tay[] = { 0, 0, 0, 0, 0, 0, 0, 0,168, 0, 0, 0, 0 }, _trb[] = { 0, 0, 20, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0 }, _tsb[] = { 0, 0, 4, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0 }, _tsx[] = { 0, 0, 0, 0, 0, 0, 0, 0,186, 0, 0, 0, 0 }, _txa[] = { 0, 0, 0, 0, 0, 0, 0, 0,138, 0, 0, 0, 0 }, _txs[] = { 0, 0, 0, 0, 0, 0, 0, 0,154, 0, 0, 0, 0 }, _tya[] = { 0, 0, 0, 0, 0, 0, 0, 0,152, 0, 0, 0, 0 }; static byte _[] = "Coming soon : FTOE NASTY TAPE 68000 Simulator (maybe)"; _ops ops[] = { { "ADC" , _adc }, { "AND" , _and }, { "ASL" , _asl }, { "BCC" , _bcc }, { "BCS" , _bcs }, { "BEQ" , _beq }, { "BIT" , _bit }, { "BMI" , _bmi }, { "BNE" , _bne }, { "BPL" , _bpl }, { "BRA" , _bra }, /* 65C02 */ { "BRK" , _brk }, { "BVC" , _bvc }, { "BVS" , _bvs }, { "CLC" , _clc }, { "CLD" , _cld }, { "CLI" , _cli }, { "CLV" , _clv }, { "CMP" , _cmp }, { "CPX" , _cpx }, { "CPY" , _cpy }, { "DEA" , _dea }, /* 65C02 */ { "DEC" , _dec }, { "DEX" , _dex }, { "DEY" , _dey }, { "EOR" , _eor }, { "INA" , _ina }, /* 65C02 */ { "INC" , _inc }, { "INX" , _inx }, { "INY" , _iny }, { "JMP" , _jmp }, { "JSR" , _jsr }, { "LDA" , _lda }, { "LDX" , _ldx }, { "LDY" , _ldy }, { "LSR" , _lsr }, { "NOP" , _nop }, { "ORA" , _ora }, { "PHA" , _pha }, { "PHP" , _php }, { "PHX" , _phx }, /* 65C02 */ { "PHY" , _phy }, /* 65C02 */ { "PLA" , _pla }, { "PLP" , _plp }, { "PLX" , _plx }, /* 65C02 */ { "PLY" , _ply }, /* 65C02 */ { "ROL" , _rol }, { "ROR" , _ror }, { "RTI" , _rti }, { "RTS" , _rts }, { "SBC" , _sbc }, { "SEC" , _sec }, { "SED" , _sed }, { "SEI" , _sei }, { "STA" , _sta }, { "STX" , _stx }, { "STY" , _sty }, { "STZ" , _stz }, /* 65C02 */ { "TAX" , _tax }, { "TAY" , _tay }, { "TRB" , _trb }, /* 65C02 */ { "TSB" , _tsb }, /* 65C02 */ { "TSY" , _tsx }, { "TXA" , _txa }, { "TXS" , _txs }, { "TYA" , _tya }, { "" , _ } /* just for fun */ };