static UINT32 opDECH(v60_state *cpustate) /* TRUSTED */ { UINT16 apph; cpustate->modadd = cpustate->PC + 1; cpustate->moddim = 1; cpustate->amlength1 = ReadAMAddress(cpustate); if (cpustate->amflag) apph = (UINT16)cpustate->reg[cpustate->amout]; else apph = cpustate->program->read_word_unaligned(cpustate->amout); SUBW(apph, 1); if (cpustate->amflag) SETREG16(cpustate->reg[cpustate->amout], apph); else cpustate->program->write_word_unaligned(cpustate->amout, apph); return cpustate->amlength1 + 1; }
UINT32 opDECH(void) /* TRUSTED */ { UINT16 apph; modAdd=PC+1; modDim=1; amLength1=ReadAMAddress(); if (amFlag) apph=(UINT16)v60.reg[amOut]; else apph=MemRead16(amOut); SUBW(apph, 1); if (amFlag) SETREG16(v60.reg[amOut], apph); else MemWrite16(amOut, apph); return amLength1+1; }