|
|
1.1 ! root 1: // ! 2: // nono ! 3: // Copyright (C) 2022 nono project ! 4: // Licensed under nono-license.txt ! 5: // ! 6: ! 7: // ! 8: // HD64180 演算部分 ! 9: // ! 10: ! 11: #pragma once ! 12: ! 13: #include "hd64180.h" ! 14: ! 15: class hd64180acc : public hd64180flag ! 16: { ! 17: public: ! 18: uint32 ld_ir8(uint32 src); ! 19: ! 20: uint32 add_8(uint32 dst, uint32 src, bool save_c = false); ! 21: uint32 sub_8(uint32 dst, uint32 src, bool save_c = false); ! 22: uint32 inc_8(uint32 src) { return add_8(src, 1, true); } ! 23: uint32 dec_8(uint32 src) { return sub_8(src, 1, true); } ! 24: uint32 adc_8(uint32 dst, uint32 src); ! 25: uint32 sbc_8(uint32 dst, uint32 src); ! 26: ! 27: uint32 add_16(uint32 dst, uint32 src); ! 28: uint32 adc_16(uint32 dst, uint32 src); ! 29: uint32 sbc_16(uint32 dst, uint32 src); ! 30: ! 31: void bit_8(uint b, uint32 src); ! 32: uint32 in_8(uint32 src); ! 33: uint32 outm_8(uint32 src, uint32 creg); ! 34: ! 35: uint32 and_8(uint32 dst, uint32 src); ! 36: uint32 or_8(uint32 dst, uint32 src); ! 37: uint32 xor_8(uint32 dst, uint32 src); ! 38: void tst_8(uint32 dst, uint32 src); ! 39: ! 40: uint32 sla_8(uint32 src); ! 41: uint32 sra_8(uint32 src); ! 42: uint32 srl_8(uint32 src); ! 43: uint32 rl_8(uint32 src); ! 44: uint32 rlc_8(uint32 src); ! 45: uint32 rr_8(uint32 src); ! 46: uint32 rrc_8(uint32 src); ! 47: ! 48: private: ! 49: static inline uint32 vflag_add(uint32 dst, uint32 src, uint32 res); ! 50: static inline uint32 vflag_sub(uint32 dst, uint32 src, uint32 res); ! 51: static inline uint32 hflag_add(uint32 dst, uint32 src); ! 52: static inline uint32 hflag_sub(uint32 dst, uint32 src); ! 53: };
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.