diff --git a/source/picasso_assembler.cpp b/source/picasso_assembler.cpp index 48afaa2..52babbd 100644 --- a/source/picasso_assembler.cpp +++ b/source/picasso_assembler.cpp @@ -1374,8 +1374,7 @@ DEF_DIRECTIVE(end) u32 lastOpcode = BUF[p-1] >> 26; if (lastOpcode == MAESTRO_JMPC || lastOpcode == MAESTRO_JMPU || lastOpcode == MAESTRO_CALL || lastOpcode == MAESTRO_CALLC || lastOpcode == MAESTRO_CALLU - || (elem.type == SE_FOR && lastOpcode == MAESTRO_BREAK) - || (elem.type == SE_FOR && lastOpcode == MAESTRO_BREAKC) + || (elem.type == SE_FOR && (lastOpcode == MAESTRO_BREAK || lastOpcode == MAESTRO_BREAKC)) || (elem.type != SE_ARRAY && (p - elem.pos) < (elem.type != SE_PROC ? 2 : 1))) insertPaddingNop(); }