summaryrefslogtreecommitdiff
path: root/nuttx/arch/hc/src/m9s12/m9s12_vectors.S
diff options
context:
space:
mode:
Diffstat (limited to 'nuttx/arch/hc/src/m9s12/m9s12_vectors.S')
-rwxr-xr-xnuttx/arch/hc/src/m9s12/m9s12_vectors.S12
1 files changed, 10 insertions, 2 deletions
diff --git a/nuttx/arch/hc/src/m9s12/m9s12_vectors.S b/nuttx/arch/hc/src/m9s12/m9s12_vectors.S
index 073e28972..991d37dd8 100755
--- a/nuttx/arch/hc/src/m9s12/m9s12_vectors.S
+++ b/nuttx/arch/hc/src/m9s12/m9s12_vectors.S
@@ -45,6 +45,14 @@
* Pre-processor Definitions
************************************************************************************/
+#ifdef CONFIG_HCS12_NONBANKED
+# define CALL jsr
+# define RETURN rts
+#else
+# define CALL call
+# define RETURN rtc
+#endif
+
/************************************************************************************
* Global Symbols
************************************************************************************/
@@ -161,7 +169,7 @@ hcs12_vectors:
* .text
************************************************************************************/
- .text
+ .section nonbanked, "x"
.type handlers, function
handlers:
@@ -301,7 +309,7 @@ vcommon:
/* Recover the IRQ number and call up_doirq() */
ldab .Lbsave
- bsr up_doirq
+ CALL up_doirq
leas 2, sp
/* Check if the return value in d is the same as regs parameter passed in the TOS */