Annotation of nono/m680x0/m680x0acc.h, revision 1.1

1.1     ! root        1: //
        !             2: // nono
        !             3: // Copyright (C) 2020 nono project
        !             4: // Licensed under nono-license.txt
        !             5: //
        !             6: 
        !             7: #pragma once
        !             8: 
        !             9: class m680x0ACC : public m680x0CCR
        !            10: {
        !            11:  public:
        !            12:        // res を元に NZVC フラグをセットする。
        !            13:        // res の上位ビットは無視される。
        !            14:        inline void move_8(uint32 res) {
        !            15:                Z = res << 24;
        !            16:                N = Z;
        !            17:                C = 0;
        !            18:                V = 0;
        !            19:        }
        !            20: 
        !            21:        // res を元に NZVC フラグをセットする。
        !            22:        // res の上位ビットは無視される。
        !            23:        inline void move_16(uint32 res) {
        !            24:                Z = res << 16;
        !            25:                N = Z;
        !            26:                C = 0;
        !            27:                V = 0;
        !            28:        }
        !            29: 
        !            30:        // res を元に NZVC フラグをセットする。
        !            31:        inline void move_32(uint32 res) {
        !            32:                Z = res;
        !            33:                N = res;
        !            34:                C = 0;
        !            35:                V = 0;
        !            36:        }
        !            37: 
        !            38:        uint32 add_8(uint32, uint32);
        !            39:        uint32 add_16(uint32, uint32);
        !            40:        uint32 add_32(uint32, uint32);
        !            41:        uint32 addx_8(uint32, uint32);
        !            42:        uint32 addx_16(uint32, uint32);
        !            43:        uint32 addx_32(uint32, uint32);
        !            44:        uint32 cmp_8(uint32, uint32);
        !            45:        uint32 cmp_16(uint32, uint32);
        !            46:        uint32 cmp_32(uint32, uint32);
        !            47:        uint32 sub_8(uint32, uint32);
        !            48:        uint32 sub_16(uint32, uint32);
        !            49:        uint32 sub_32(uint32, uint32);
        !            50:        uint32 subx_8(uint32, uint32);
        !            51:        uint32 subx_16(uint32, uint32);
        !            52:        uint32 subx_32(uint32, uint32);
        !            53:        uint32 mulu_16(uint32, uint32);
        !            54:        uint32 muls_16(uint32, uint32);
        !            55:        uint32 mulu_32(uint32, uint32);
        !            56:        uint32 muls_32(uint32, uint32);
        !            57:        uint64 mulu_64(uint32, uint32);
        !            58:        uint64 muls_64(uint32, uint32);
        !            59:        void   btst(uint32, int);
        !            60:        uint32 bchg(uint32, int);
        !            61:        uint32 bclr(uint32, int);
        !            62:        uint32 bset(uint32, int);
        !            63:        uint32 asl_8(uint32, int);
        !            64:        uint32 asl_16(uint32, int);
        !            65:        uint32 asl_32(uint32, int);
        !            66:        uint32 lsl_8(uint32, int);
        !            67:        uint32 lsl_16(uint32, int);
        !            68:        uint32 lsl_32(uint32, int);
        !            69:        uint32 roxl_8(uint32, int);
        !            70:        uint32 roxl_16(uint32, int);
        !            71:        uint32 roxl_32(uint32, int);
        !            72:        uint32 rol_8(uint32, int);
        !            73:        uint32 rol_16(uint32, int);
        !            74:        uint32 rol_32(uint32, int);
        !            75:        uint32 asr_8(uint32, int);
        !            76:        uint32 asr_16(uint32, int);
        !            77:        uint32 asr_32(uint32, int);
        !            78:        uint32 lsr_8(uint32, int);
        !            79:        uint32 lsr_16(uint32, int);
        !            80:        uint32 lsr_32(uint32, int);
        !            81:        uint32 roxr_8(uint32, int);
        !            82:        uint32 roxr_16(uint32, int);
        !            83:        uint32 roxr_32(uint32, int);
        !            84:        uint32 ror_8(uint32, int);
        !            85:        uint32 ror_16(uint32, int);
        !            86:        uint32 ror_32(uint32, int);
        !            87: 
        !            88:        void chk2cmp2_32(uint32, uint32, uint32);
        !            89:        uint32 abcd_8(uint32 src ,uint32 dst);
        !            90:        uint32 sbcd_8(uint32 src, uint32 dst);
        !            91: 
        !            92:  private:
        !            93:        static inline uint32 vflag_add_8(uint32 src, uint32 dst, uint32 res);
        !            94:        static inline uint32 vflag_add_16(uint32 src, uint32 dst, uint32 res);
        !            95:        static inline uint32 vflag_add_32(uint32 src, uint32 dst, uint32 res);
        !            96:        static inline uint32 vflag_sub_8(uint32 src, uint32 dst, uint32 res);
        !            97:        static inline uint32 vflag_sub_16(uint32 src, uint32 dst, uint32 res);
        !            98:        static inline uint32 vflag_sub_32(uint32 src, uint32 dst, uint32 res);
        !            99: };

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.