diff --git a/src/frontend/A32/decoder/thumb32.inc b/src/frontend/A32/decoder/thumb32.inc index 01325409..db6b5b0f 100644 --- a/src/frontend/A32/decoder/thumb32.inc +++ b/src/frontend/A32/decoder/thumb32.inc @@ -95,7 +95,7 @@ INST(thumb32_MOVT, "MOVT", "11110i101100iiii0iiidd //INST(thumb32_MSR_reg_3, "MSR (reg)", "111100111000----10-0--1---0-----") //INST(thumb32_MSR_reg_4, "MSR (reg)", "111100111000----10-0--00--0-----") -//INST(thumb32_NOP, "NOP", "111100111010----10-0-00000000000") +INST(thumb32_NOP, "NOP", "11110011101011111000000000000000") //INST(thumb32_YIELD, "YIELD", "111100111010----10-0-00000000001") //INST(thumb32_WFE, "WFE", "111100111010----10-0-00000000010") //INST(thumb32_WFI, "WFI", "111100111010----10-0-00000000011") diff --git a/src/frontend/A32/translate/impl/thumb32_control.cpp b/src/frontend/A32/translate/impl/thumb32_control.cpp index ed2dc29b..9646ee2b 100644 --- a/src/frontend/A32/translate/impl/thumb32_control.cpp +++ b/src/frontend/A32/translate/impl/thumb32_control.cpp @@ -30,6 +30,10 @@ bool ThumbTranslatorVisitor::thumb32_ISB([[maybe_unused]] Imm<4> option) { return false; } +bool ThumbTranslatorVisitor::thumb32_NOP() { + return thumb16_NOP(); +} + bool ThumbTranslatorVisitor::thumb32_UDF() { return thumb16_UDF(); } diff --git a/src/frontend/A32/translate/impl/translate_thumb.h b/src/frontend/A32/translate/impl/translate_thumb.h index eae0f7c6..d97365e6 100644 --- a/src/frontend/A32/translate/impl/translate_thumb.h +++ b/src/frontend/A32/translate/impl/translate_thumb.h @@ -168,6 +168,7 @@ struct ThumbTranslatorVisitor final { bool thumb32_DMB(Imm<4> option); bool thumb32_DSB(Imm<4> option); bool thumb32_ISB(Imm<4> option); + bool thumb32_NOP(); bool thumb32_UDF(); // thumb32 branch instructions