aboutsummaryrefslogtreecommitdiffstats
path: root/insnhelper.h
diff options
context:
space:
mode:
Diffstat (limited to 'insnhelper.h')
-rw-r--r--insnhelper.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/insnhelper.h b/insnhelper.h
index 1c13dd4df2..eb6b3ef21b 100644
--- a/insnhelper.h
+++ b/insnhelper.h
@@ -25,8 +25,8 @@
#define PUSH(x) (SET_SV(x), INC_SP(1))
#define TOPN(n) (*(GET_SP()-(n)-1))
-#define POPN(n) (INC_SP(-(n)))
-#define POP() (INC_SP(-1))
+#define POPN(n) (DEC_SP(n))
+#define POP() (DEC_SP(1))
#define STACK_ADDR_FROM_TOP(n) (GET_SP()-(n))
#define GET_TOS() (tos) /* dummy */
@@ -84,6 +84,7 @@
#define GET_SP() (USAGE_ANALYSIS_REGISTER_HELPER(1, 0, REG_SP))
#define SET_SP(x) (REG_SP = (USAGE_ANALYSIS_REGISTER_HELPER(1, 1, (x))))
#define INC_SP(x) (REG_SP += (USAGE_ANALYSIS_REGISTER_HELPER(1, 1, (x))))
+#define DEC_SP(x) (REG_SP -= (USAGE_ANALYSIS_REGISTER_HELPER(1, 1, (x))))
#define SET_SV(x) (*GET_SP() = (x))
/* set current stack value as x */