A32: Implement load stores (immediate)

This commit is contained in:
MerryMage 2018-01-10 01:13:23 +00:00
parent 2aadeec291
commit 25411da838
14 changed files with 411 additions and 122 deletions

View file

@ -31,26 +31,26 @@ void SimpleCallback::EmitCall(BlockOfCode* code, std::function<void(Xbyak::Reg64
}
void ArgCallback::EmitCall(BlockOfCode* code, std::function<void()> l) {
code->mov(code->ABI_PARAM1, arg);
l();
code->mov(code->ABI_PARAM1, arg);
code->CallFunction(fn);
}
void ArgCallback::EmitCall(BlockOfCode* code, std::function<void(Xbyak::Reg64)> l) {
code->mov(code->ABI_PARAM1, arg);
l(code->ABI_PARAM2);
code->mov(code->ABI_PARAM1, arg);
code->CallFunction(fn);
}
void ArgCallback::EmitCall(BlockOfCode* code, std::function<void(Xbyak::Reg64, Xbyak::Reg64)> l) {
code->mov(code->ABI_PARAM1, arg);
l(code->ABI_PARAM2, code->ABI_PARAM3);
code->mov(code->ABI_PARAM1, arg);
code->CallFunction(fn);
}
void ArgCallback::EmitCall(BlockOfCode* code, std::function<void(Xbyak::Reg64, Xbyak::Reg64, Xbyak::Reg64)> l) {
code->mov(code->ABI_PARAM1, arg);
l(code->ABI_PARAM2, code->ABI_PARAM3, code->ABI_PARAM4);
code->mov(code->ABI_PARAM1, arg);
code->CallFunction(fn);
}