src/Emu/PPC64Linux/PPC64Converter.cpp

#include <pch.h>
#include "Emu/PPC64Linux/PPC64Converter.h"
#include "Emu/Utility/GenericOperation.h"
#include "Emu/Utility/OpEmulationState.h"
#include "Emu/PPC64Linux/PPC64Info.h"
#include "Emu/PPC64Linux/PPC64OpInfo.h"
#include "Emu/PPC64Linux/PPC64Decoder.h"
#include "Emu/PPC64Linux/PPC64Operation.h"

PPC64Converter.cppのインクルード依存関係図

ソースコードを見る。

マクロ定義

#define D0   PPC64DSTOP(0)
#define D1   PPC64DSTOP(1)
#define D2   PPC64DSTOP(2)
#define MASK_BC(mask_bo)   (MASK_B | (mask_bo) << 21)
#define MASK_BCLR(mask_bo)   (MASK_X10 | (mask_bo) << 21 | 0x3 << 11 | 0x1)
#define OPCODE_B(c, aa, lk)   (u32)(OPCODE_OP(c) | (aa) << 1 | (lk))
#define OPCODE_BC(c, aa, lk, bo)   (u32)(OPCODE_B(c, aa, lk) | (bo) << 21)
#define OPCODE_BCLR(c, xo, lk, bo, bh)   (u32)(OPCODE_X10(c, xo) | (bo) << 21 | (bh) << 11 | (lk))
#define OPCODE_DCMP(c, L)   (u32)(OPCODE_OP(c) | (L) << 21)
#define OPCODE_MD(c, x, f)   (u32)(OPCODE_OP(c) | (x) << 2 | (f))
#define OPCODE_MDS(c, x, f)   (u32)(OPCODE_OP(c) | (x) << 1 | (f))
#define OPCODE_MTCRF(c, xo, crf)   (u32)(OPCODE_X10(c, xo) | (crf) << 12)
#define OPCODE_MTFSPR(c, xo, spr)   (u32)(OPCODE_X10(c, xo) | ((spr) & 0x01f) << 16 | ((spr) & 0x3e0) >> 5 << 11)
#define OPCODE_OP(c)   (u32)((c) << 26)
#define OPCODE_OPF(c, f)   (u32)(OPCODE_OP(c) | (f))
#define OPCODE_X10(c, x)   (u32)(OPCODE_OP(c) | (x) << 1)
#define OPCODE_X10CMP(c, x, L)   (u32)(OPCODE_X10(c, x) | (L) << 21)
#define OPCODE_X10F(c, x, f)   (u32)(OPCODE_X10(c, x) | (f))
#define OPCODE_X10FOE(c, x, oe, f)   (u32)(OPCODE_X10OE(c,x,oe) | (f))
#define OPCODE_X10OE(c, x, oe)   (u32)(OPCODE_X10(c,x) | (oe) << 10)
#define OPCODE_X2(c, x)   (u32)(OPCODE_OP(c) | (x))
#define OPCODE_X5(c, x)   (u32)(OPCODE_OP(c) | (x) << 1)
#define OPCODE_X5F(c, x, f)   (u32)(OPCODE_X5(c, x) | (f))
#define OPCODE_XS9(c, x)   (u32)(OPCODE_OP(c) | (x) << 2)
#define OPCODE_XS9F(c, x, f)   (u32)(OPCODE_XS9(c, x) | (f))
#define PPC64DSTOP(n)   DstOperand<n>
#define PPC64SRCOP(n)   SrcOperand<n>
#define PPC64SRCOPDOUBLE(n)   AsFP< double, SrcOperand<n> >
#define PPC64SRCOPFLOAT(n)   Cast< float, AsFP< double, SrcOperand<n> > >
#define S0   PPC64SRCOP(0)
#define S1   PPC64SRCOP(1)
#define S2   PPC64SRCOP(2)
#define S3   PPC64SRCOP(3)
#define S4   PPC64SRCOP(4)
#define S5   PPC64SRCOP(5)
#define SD0   PPC64SRCOPDOUBLE(0)
#define SD1   PPC64SRCOPDOUBLE(1)
#define SD2   PPC64SRCOPDOUBLE(2)
#define SD3   PPC64SRCOPDOUBLE(3)
#define SD4   PPC64SRCOPDOUBLE(4)
#define SD5   PPC64SRCOPDOUBLE(5)
#define SF0   PPC64SRCOPFLOAT(0)
#define SF1   PPC64SRCOPFLOAT(1)
#define SF2   PPC64SRCOPFLOAT(2)
#define SF3   PPC64SRCOPFLOAT(3)
#define SF4   PPC64SRCOPFLOAT(4)
#define SF5   PPC64SRCOPFLOAT(5)


マクロ定義

#define D0   PPC64DSTOP(0)

PPC64Converter.cpp163 行で定義されています。

#define D1   PPC64DSTOP(1)

PPC64Converter.cpp164 行で定義されています。

#define D2   PPC64DSTOP(2)

PPC64Converter.cpp165 行で定義されています。

#define MASK_BC ( mask_bo   )     (MASK_B | (mask_bo) << 21)

PPC64Converter.cpp91 行で定義されています。

#define MASK_BCLR ( mask_bo   )     (MASK_X10 | (mask_bo) << 21 | 0x3 << 11 | 0x1)

PPC64Converter.cpp92 行で定義されています。

#define OPCODE_B ( c,
aa,
lk   )     (u32)(OPCODE_OP(c) | (aa) << 1 | (lk))

PPC64Converter.cpp97 行で定義されています。

#define OPCODE_BC ( c,
aa,
lk,
bo   )     (u32)(OPCODE_B(c, aa, lk) | (bo) << 21)

PPC64Converter.cpp98 行で定義されています。

#define OPCODE_BCLR ( c,
xo,
lk,
bo,
bh   )     (u32)(OPCODE_X10(c, xo) | (bo) << 21 | (bh) << 11 | (lk))

PPC64Converter.cpp112 行で定義されています。

#define OPCODE_DCMP ( c,
 )     (u32)(OPCODE_OP(c) | (L) << 21)

PPC64Converter.cpp115 行で定義されています。

#define OPCODE_MD ( c,
x,
 )     (u32)(OPCODE_OP(c) | (x) << 2 | (f))

PPC64Converter.cpp100 行で定義されています。

#define OPCODE_MDS ( c,
x,
 )     (u32)(OPCODE_OP(c) | (x) << 1 | (f))

PPC64Converter.cpp101 行で定義されています。

#define OPCODE_MTCRF ( c,
xo,
crf   )     (u32)(OPCODE_X10(c, xo) | (crf) << 12)

PPC64Converter.cpp117 行で定義されています。

#define OPCODE_MTFSPR ( c,
xo,
spr   )     (u32)(OPCODE_X10(c, xo) | ((spr) & 0x01f) << 16 | ((spr) & 0x3e0) >> 5 << 11)

PPC64Converter.cpp114 行で定義されています。

#define OPCODE_OP (  )     (u32)((c) << 26)

PPC64Converter.cpp95 行で定義されています。

#define OPCODE_OPF ( c,
 )     (u32)(OPCODE_OP(c) | (f))

PPC64Converter.cpp96 行で定義されています。

#define OPCODE_X10 ( c,
 )     (u32)(OPCODE_OP(c) | (x) << 1)

PPC64Converter.cpp105 行で定義されています。

#define OPCODE_X10CMP ( c,
x,
 )     (u32)(OPCODE_X10(c, x) | (L) << 21)

PPC64Converter.cpp116 行で定義されています。

#define OPCODE_X10F ( c,
x,
 )     (u32)(OPCODE_X10(c, x) | (f))

PPC64Converter.cpp110 行で定義されています。

#define OPCODE_X10FOE ( c,
x,
oe,
 )     (u32)(OPCODE_X10OE(c,x,oe) | (f))

PPC64Converter.cpp107 行で定義されています。

#define OPCODE_X10OE ( c,
x,
oe   )     (u32)(OPCODE_X10(c,x) | (oe) << 10)

PPC64Converter.cpp106 行で定義されています。

#define OPCODE_X2 ( c,
 )     (u32)(OPCODE_OP(c) | (x))

PPC64Converter.cpp102 行で定義されています。

#define OPCODE_X5 ( c,
 )     (u32)(OPCODE_OP(c) | (x) << 1)

PPC64Converter.cpp103 行で定義されています。

#define OPCODE_X5F ( c,
x,
 )     (u32)(OPCODE_X5(c, x) | (f))

PPC64Converter.cpp108 行で定義されています。

#define OPCODE_XS9 ( c,
 )     (u32)(OPCODE_OP(c) | (x) << 2)

PPC64Converter.cpp104 行で定義されています。

#define OPCODE_XS9F ( c,
x,
 )     (u32)(OPCODE_XS9(c, x) | (f))

PPC64Converter.cpp109 行で定義されています。

#define PPC64DSTOP (  )     DstOperand<n>

PPC64Converter.cpp158 行で定義されています。

#define PPC64SRCOP (  )     SrcOperand<n>

PPC64Converter.cpp159 行で定義されています。

#define PPC64SRCOPDOUBLE (  )     AsFP< double, SrcOperand<n> >

PPC64Converter.cpp161 行で定義されています。

#define PPC64SRCOPFLOAT (  )     Cast< float, AsFP< double, SrcOperand<n> > >

PPC64Converter.cpp160 行で定義されています。

#define S0   PPC64SRCOP(0)

PPC64Converter.cpp166 行で定義されています。

#define S1   PPC64SRCOP(1)

PPC64Converter.cpp167 行で定義されています。

#define S2   PPC64SRCOP(2)

PPC64Converter.cpp168 行で定義されています。

#define S3   PPC64SRCOP(3)

PPC64Converter.cpp169 行で定義されています。

#define S4   PPC64SRCOP(4)

PPC64Converter.cpp170 行で定義されています。

#define S5   PPC64SRCOP(5)

PPC64Converter.cpp171 行で定義されています。

#define SD0   PPC64SRCOPDOUBLE(0)

PPC64Converter.cpp178 行で定義されています。

#define SD1   PPC64SRCOPDOUBLE(1)

PPC64Converter.cpp179 行で定義されています。

#define SD2   PPC64SRCOPDOUBLE(2)

PPC64Converter.cpp180 行で定義されています。

#define SD3   PPC64SRCOPDOUBLE(3)

PPC64Converter.cpp181 行で定義されています。

#define SD4   PPC64SRCOPDOUBLE(4)

PPC64Converter.cpp182 行で定義されています。

#define SD5   PPC64SRCOPDOUBLE(5)

PPC64Converter.cpp183 行で定義されています。

#define SF0   PPC64SRCOPFLOAT(0)

PPC64Converter.cpp172 行で定義されています。

#define SF1   PPC64SRCOPFLOAT(1)

PPC64Converter.cpp173 行で定義されています。

#define SF2   PPC64SRCOPFLOAT(2)

PPC64Converter.cpp174 行で定義されています。

#define SF3   PPC64SRCOPFLOAT(3)

PPC64Converter.cpp175 行で定義されています。

#define SF4   PPC64SRCOPFLOAT(4)

PPC64Converter.cpp176 行で定義されています。

#define SF5   PPC64SRCOPFLOAT(5)

PPC64Converter.cpp177 行で定義されています。


Onikiri2に対してTue Jun 18 14:34:57 2013に生成されました。  doxygen 1.4.7