Code: Select all
cmp r0, #1
cmpne r0, #2
beq somewhere // if (r0 == 1 || r0 == 2) {then ...}
// and
cmp r0, #10
bge somewhere
cmp r0, #5
blt elsewhere
here: // if (r0 >= 5 && r0 < 10) {then ...}
Code: Select all
logic:
cmp r0, #0xA // test 1
movne r2, #1
moveq r3, #1 // action 1
movne r3, #2 // action 2
cmpne r1, #0xB // test 2
rsbeqs r2, #1
addeq r3, #0x30 // action 3
addne r3, #0x40 // action 4
// ne ne: r3 -> 42
// eq ne: r3 -> 31
// eq eq: r3 -> 41
// ne eq: r3 -> 32
// if (test1 is eq) {
// action 1;
// if (test2 is eq) {
// action 4;
// } else {
// action 3;
// }
// } else {
// action 2;
// if (test2 is eq) {
// action 3;
// } else {
// action 4;
// }
// }