Path: blob/master/libmupen64plus/mupen64plus-core/src/r4300/x86/gtlb.c
2 views
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *1* Mupen64plus - gtlb.c *2* Mupen64Plus homepage: http://code.google.com/p/mupen64plus/ *3* Copyright (C) 2002 Hacktarux *4* *5* This program is free software; you can redistribute it and/or modify *6* it under the terms of the GNU General Public License as published by *7* the Free Software Foundation; either version 2 of the License, or *8* (at your option) any later version. *9* *10* This program is distributed in the hope that it will be useful, *11* but WITHOUT ANY WARRANTY; without even the implied warranty of *12* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *13* GNU General Public License for more details. *14* *15* You should have received a copy of the GNU General Public License *16* along with this program; if not, write to the *17* Free Software Foundation, Inc., *18* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *19* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */2021#include <stdio.h>2223#include "assemble.h"2425#include "r4300/recomph.h"26#include "r4300/r4300.h"27#include "r4300/ops.h"2829void gentlbwi(void)30{31gencallinterp((unsigned int)cached_interpreter_table.TLBWI, 0);32/*dst->local_addr = code_length;33mov_m32_imm32((void *)(&PC), (unsigned int)(dst));34mov_reg32_imm32(EAX, (unsigned int)(TLBWI));35call_reg32(EAX);36genupdate_system(0);*/37}3839void gentlbp(void)40{41gencallinterp((unsigned int)cached_interpreter_table.TLBP, 0);42/*dst->local_addr = code_length;43mov_m32_imm32((void *)(&PC), (unsigned int)(dst));44mov_reg32_imm32(EAX, (unsigned int)(TLBP));45call_reg32(EAX);46genupdate_system(0);*/47}4849void gentlbr(void)50{51gencallinterp((unsigned int)cached_interpreter_table.TLBR, 0);52/*dst->local_addr = code_length;53mov_m32_imm32((void *)(&PC), (unsigned int)(dst));54mov_reg32_imm32(EAX, (unsigned int)(TLBR));55call_reg32(EAX);56genupdate_system(0);*/57}5859void generet(void)60{61gencallinterp((unsigned int)cached_interpreter_table.ERET, 1);62/*dst->local_addr = code_length;63mov_m32_imm32((void *)(&PC), (unsigned int)(dst));64genupdate_system(0);65mov_reg32_imm32(EAX, (unsigned int)(ERET));66call_reg32(EAX);67mov_reg32_imm32(EAX, (unsigned int)(jump_code));68jmp_reg32(EAX);*/69}7071void gentlbwr(void)72{73gencallinterp((unsigned int)cached_interpreter_table.TLBWR, 0);74}75767778