Fix cmn, teq and tst in arm32 assembler ##asm

This commit is contained in:
Anton Kochkov 2022-02-14 01:03:44 +01:00 committed by pancake
parent dd25b01275
commit 62d6d226ff
2 changed files with 8 additions and 5 deletions

View File

@ -131,9 +131,9 @@ static ArmOp ops[] = {
{ "cmp", 0x5001, TYPE_TST },
{ "swp", 0xe1, TYPE_SWP },
{ "cmn", 0x0, TYPE_TST },
{ "teq", 0x0, TYPE_TST },
{ "tst", 0xe1, TYPE_TST },
{ "cmn", 0x7001, TYPE_TST },
{ "teq", 0x3001, TYPE_TST },
{ "tst", 0x1001, TYPE_TST },
{"lsr", 0x3000a0e1, TYPE_SHFT},
{"asr", 0x5000a0e1, TYPE_SHFT},
@ -6415,7 +6415,7 @@ static int arm_assemble(ArmOpcode *ao, ut64 off, const char *str) {
ao->o |= (y << 24);
ao->o |= (z << 16);
} else {
eprintf ("Parameter %d out0x3000a0e1 of range (0-255)\n", (int)b);
eprintf ("Parameter %d out of range (0-255)\n", (int)b);
return 0;
}
} else {

View File

@ -20,7 +20,7 @@ aB "bxeq Lr" 1eff2f01
aB "bxne Lr" 1eff2f11
a "clzne r5, sl" 1a5f6f11
aB "cmpeq sl, r4" 40005a01
a "cmpne r7, r6" 06005711
ad "cmpne r7, r6" 06005711
a "eoreq r2, r2, 1" 01202202
a "eorne r0, r0, r3" 03002010
aB "eorne r0, r0, r3, lsr #24" 230c2010
@ -275,3 +275,6 @@ a "ldr r0, [r0]" 000090e5
a "ldr r1, [r2]" 001092e5
a "str r0, [r0]" 000080e5
a "str r1, [r2]" 001082e5
ad "tst r1, r2" 020011e1
ad "cmn r1, r3" 030071e1
ad "teq r3, r4" 040033e1