X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=libpcsxcore%2Fnew_dynarec%2Fassem_arm.c;h=cd3429f95037e1c1ea61829b30beafb32a1308af;hb=367b1b93e323bd0a8e1b5ad59cc07a4e7f296fd6;hp=83b115d0588cef07cd8500c062865390d824e6dd;hpb=b9b61529b6c9bf30a3146178e2dda31b15ff3614;p=pcsx_rearmed.git diff --git a/libpcsxcore/new_dynarec/assem_arm.c b/libpcsxcore/new_dynarec/assem_arm.c index 83b115d0..cd3429f9 100644 --- a/libpcsxcore/new_dynarec/assem_arm.c +++ b/libpcsxcore/new_dynarec/assem_arm.c @@ -1226,13 +1226,12 @@ void emit_orimm(int rs,int imm,int rt) void emit_xorimm(int rs,int imm,int rt) { - assert(imm>0&&imm<65536); u_int armval; if(genimm(imm,&armval)) { assem_debug("eor %s,%s,#%d\n",regname[rt],regname[rs],imm); output_w32(0xe2200000|rd_rn_rm(rt,rs,0)|armval); }else{ - assert(imm>0); + assert(imm>0&&imm<65536); assem_debug("eor %s,%s,#%d\n",regname[rt],regname[rs],imm&0xFF00); assem_debug("eor %s,%s,#%d\n",regname[rt],regname[rs],imm&0xFF); output_w32(0xe2200000|rd_rn_imm_shift(rt,rs,imm>>8,8)); @@ -2554,6 +2553,11 @@ do_readstub(int n) rth=get_reg(i_regmap,rt1[i]|64); rt=get_reg(i_regmap,rt1[i]); } +#ifdef PCSX + if(rt<0) + // assume forced dummy read + rt=get_reg(i_regmap,-1); +#endif assert(rs>=0); assert(rt>=0); if(addr<0) addr=rt;