X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=Pico%2Fcarthw%2Fsvp%2Fgen_arm.c;h=4e8f05bf6f469177c031041eac7346ef13179fd4;hb=6e39239fb9c95c8e556bdc3ab26307679c246436;hp=5cd53c63d234b98f336960d0638cccb578963f76;hpb=a12b1b29cc7e394128da59614c2efe8f5d182741;p=picodrive.git diff --git a/Pico/carthw/svp/gen_arm.c b/Pico/carthw/svp/gen_arm.c index 5cd53c6..4e8f05b 100644 --- a/Pico/carthw/svp/gen_arm.c +++ b/Pico/carthw/svp/gen_arm.c @@ -134,7 +134,15 @@ #define EOP_C_MRS(cond,rd) \ EMIT(((cond)<<28) | 0x010f0000 | ((rd)<<12)) -#define EOP_MRS(rd) EOP_C_MRS(A_COND_AL,rd) +#define EOP_C_MSR_IMM(cond,ror2,imm) \ + EMIT(((cond)<<28) | 0x0328f000 | ((ror2)<<8) | (imm)) // cpsr_f + +#define EOP_C_MSR_REG(cond,rm) \ + EMIT(((cond)<<28) | 0x0128f000 | (rm)) // cpsr_f + +#define EOP_MRS(rd) EOP_C_MRS(A_COND_AL,rd) +#define EOP_MSR_IMM(ror2,imm) EOP_C_MSR_IMM(A_COND_AL,ror2,imm) +#define EOP_MSR_REG(rm) EOP_C_MSR_REG(A_COND_AL,rm) static void emit_mov_const(int cond, int d, unsigned int val)