diff options
author | Alexandre Oliva <aoliva@redhat.com> | 2000-07-04 06:35:36 +0000 |
---|---|---|
committer | Alexandre Oliva <aoliva@redhat.com> | 2000-07-04 06:35:36 +0000 |
commit | 892c6b9d8fca691330232aaea9c0aaaff880feb1 (patch) | |
tree | 55ad5d35c9581a69e5f64e927b43676ad6f798a1 /sim/arm/armemu.h | |
parent | cf52c765b09c13868d5cc5a8eb0297854be660d5 (diff) | |
download | gdb-892c6b9d8fca691330232aaea9c0aaaff880feb1.zip gdb-892c6b9d8fca691330232aaea9c0aaaff880feb1.tar.gz gdb-892c6b9d8fca691330232aaea9c0aaaff880feb1.tar.bz2 |
* armemu.h (WRITEDESTB): New macro.
* armemu.c (ARMul_Emulate26, bl): Use WriteR15Branch() to
modify PC. Moved the existing logic...
(WriteR15Branch): ... here. New function.
(WriteR15, WriteSR15): Drop the two least significant bits.
(LoadSMult): Use WriteR15Branch() to modify PC.
(LoadMult): Use WRITEDESTB() instead of WRITEDEST().
Diffstat (limited to 'sim/arm/armemu.h')
-rw-r--r-- | sim/arm/armemu.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/sim/arm/armemu.h b/sim/arm/armemu.h index da7fb2b..ad89294 100644 --- a/sim/arm/armemu.h +++ b/sim/arm/armemu.h @@ -332,6 +332,11 @@ extern ARMword isize; ARMul_NegZero(state, d) ; \ } +#define WRITEDESTB(d) if (DESTReg == 15) \ + WriteR15Branch(state, d) ; \ + else \ + DEST = d + #define BYTETOBUS(data) ((data & 0xff) | \ ((data & 0xff) << 8) | \ ((data & 0xff) << 16) | \ |