diff options
Diffstat (limited to 'miasm2/jitter')
| -rw-r--r-- | miasm2/jitter/arch/JitCore_arm.c | 11 | ||||
| -rw-r--r-- | miasm2/jitter/arch/JitCore_arm.h | 2 |
2 files changed, 13 insertions, 0 deletions
diff --git a/miasm2/jitter/arch/JitCore_arm.c b/miasm2/jitter/arch/JitCore_arm.c index a7ed67d0..0d7caeec 100644 --- a/miasm2/jitter/arch/JitCore_arm.c +++ b/miasm2/jitter/arch/JitCore_arm.c @@ -201,6 +201,17 @@ void MEM_WRITE_64(JitCpu* jitcpu, uint64_t addr, uint64_t src) } +uint32_t clz(uint32_t arg) +{ + + int i; + + for (i=0; i<32; i++) { + if (arg & (1 << (31-i))) + break; + } + return i; +} diff --git a/miasm2/jitter/arch/JitCore_arm.h b/miasm2/jitter/arch/JitCore_arm.h index 9fde5e93..dda8a65d 100644 --- a/miasm2/jitter/arch/JitCore_arm.h +++ b/miasm2/jitter/arch/JitCore_arm.h @@ -32,3 +32,5 @@ typedef struct { void dump_gpregs(vm_cpu_t* vmcpu); #define RETURN_PC return BlockDst; + +uint32_t clz(uint32_t arg); |