trunk/src/emu/cpu/ucom4/ucom4op.inc
| r243468 | r243469 | |
| 180 | 180 | void ucom4_cpu_device::op_adc() |
| 181 | 181 | { |
| 182 | 182 | // ADC: Add RAM and carry to ACC, store Carry F/F |
| 183 | | op_illegal(); |
| 183 | m_acc += ram_r() + m_carry_f; |
| 184 | m_carry_f = m_acc >> 4 & 1; |
| 185 | m_acc &= 0xf; |
| 184 | 186 | } |
| 185 | 187 | |
| 186 | 188 | void ucom4_cpu_device::op_ads() |
| 187 | 189 | { |
| 188 | 190 | // ADS: Add RAM and carry to ACC, store Carry F/F, skip next on carry |
| 189 | | op_illegal(); |
| 191 | op_adc(); |
| 192 | m_skip = (m_carry_f != 0); |
| 190 | 193 | } |
| 191 | 194 | |
| 192 | 195 | void ucom4_cpu_device::op_daa() |
| r243468 | r243469 | |
| 673 | 676 | if (!check_op_43()) return; |
| 674 | 677 | |
| 675 | 678 | // RAR: Rotate ACC Right through Carry F/F |
| 676 | | op_illegal(); |
| 679 | UINT8 c = m_acc & 1; |
| 680 | m_acc = m_acc >> 1 | m_carry_f << 3; |
| 681 | m_carry_f = c; |
| 677 | 682 | } |
| 678 | 683 | |
| 679 | 684 | |