diff options
Diffstat (limited to 'test/arch/mep/ir/test_repeat.py')
| -rw-r--r-- | test/arch/mep/ir/test_repeat.py | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/test/arch/mep/ir/test_repeat.py b/test/arch/mep/ir/test_repeat.py new file mode 100644 index 00000000..252764b1 --- /dev/null +++ b/test/arch/mep/ir/test_repeat.py @@ -0,0 +1,29 @@ +# Toshiba MeP-c4 - Repeat instructions unit tests +# Guillaume Valadon <guillaume@valadon.net> + +from ut_helpers_ir import exec_instruction + +from miasm2.expression.expression import ExprId, ExprInt, ExprCond, ExprOp + + +class TestRepeat: + + def test_repeat(self): + """Test REPEAT execution""" + + # REPEAT Rn, disp17.align2 + exec_instruction("REPEAT R0, 0x42", + [(ExprId("PC", 32), ExprInt(2, 32)), + (ExprId("R0", 32), ExprInt(0x28, 32))], + [(ExprId("RPB", 32), ExprInt(6, 32)), + (ExprId("RPE", 32), ExprInt(0x44, 32)), + (ExprId("RPC", 32), ExprInt(0x28, 32))]) + + def test_erepeat(self): + """Test EREPEAT execution""" + + # EREPEAT disp17.align2 + exec_instruction("EREPEAT 0x42", + [(ExprId("PC", 32), ExprInt(0, 32))], + [(ExprId("RPB", 32), ExprInt(4, 32)), + (ExprId("RPE", 32), ExprInt(0x43, 32))]) |