Annotation of nono/m680x0/m680x0acc.h, revision 1.1.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.