-                               #define JTAG_ASSERT(Condition)          MACROS{ if (!(Condition)) { JTAG_DEBUG_BREAK(); } }MACROE
-                               #define STDOUT_ASSERT(Condition)        MACROS{ if (!(Condition)) {                              \
-                                                                                    printf("%s: Function \"%s\", Line %d: "     \
-                                                                                           "Assertion \"%s\" failed.\r\n"),     \
-                                                                                           __FILE__, __func__, __LINE__, #Condition); } }MACROE
+                               #define JTAG_ASSERT(Condition)          do {                                                    \
+                                                                           if (!(Condition))                                   \
+                                                                             JTAG_DEBUG_BREAK();                               \
+                                                                       } while (0)
+                               #define STDOUT_ASSERT(Condition)        do {                                                    \
+                                                                           if (!(Condition))                                   \
+                                                                             printf("%s: Function \"%s\", Line %d: "           \
+                                                                                    "Assertion \"%s\" failed.\r\n",            \
+                                                                                    __FILE__, __func__, __LINE__, #Condition); \
+                                                                       } while (0)