From df0e3538180e9c69ba8f1e23af2da39bbedff2c9 Mon Sep 17 00:00:00 2001 From: Yifan Lu Date: Sun, 13 Nov 2016 16:10:24 -0800 Subject: Fixed proper encoding of PUSH (STMDB) as ARM manual was wrong... --- lib/arm/assemble.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/arm/assemble.h b/lib/arm/assemble.h index bf1ad03..1baeb0f 100644 --- a/lib/arm/assemble.h +++ b/lib/arm/assemble.h @@ -17,7 +17,7 @@ static inline void PUSHone(struct assemble_ctx ctx, int Rt) { static inline void PUSHmulti(struct assemble_ctx ctx, uint16_t mask) { if (ctx.thumb) - op32(ctx.codep, 0x0000e8ad | mask << 16); + op32(ctx.codep, 0x0000e92d | mask << 16); else op32(ctx.codep, 0x092d0000 | mask | ctx.cond << 28); } -- cgit v1.2.3