summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDerek Hensley <hensley.derek58@gmail.com>2025-08-29 21:05:26 -0700
committerGitHub <noreply@github.com>2025-08-29 21:05:26 -0700
commit3b3b117100edfc41adcd6f315b3772fc63e01e2e (patch)
treeca509b1b1e5d5b430a5f0bd91ba4ede88c007c6b /include
parente181a607bce02a1a187290f1670552285a66f968 (diff)
Switch to spimdisasm (#1822)
* Switch to spimdisasm * Remove disasm step from Jenkins * PR Review * Update spimdisasm and macro.inc * jlabel visibility
Diffstat (limited to 'include')
-rw-r--r--include/macro.inc50
1 files changed, 43 insertions, 7 deletions
diff --git a/include/macro.inc b/include/macro.inc
index 9700d05aa..cd40088a5 100644
--- a/include/macro.inc
+++ b/include/macro.inc
@@ -3,27 +3,63 @@
.internal _MACRO_INC_GUARD
.set _MACRO_INC_GUARD, 1
-.macro glabel label
- .global \label
- .ent \label
+# A function symbol.
+.macro glabel label, visibility=global
+ .\visibility \label
.type \label, @function
\label:
+ .ent \label
.endm
+# The end of a function symbol.
.macro endlabel label
- .end \label
.size \label, . - \label
+ .end \label
.endm
-.macro dlabel label
- .global \label
+# An alternative entry to a function.
+.macro alabel label, visibility=global
+ .\visibility \label
+ .type \label, @function
\label:
+ .aent \label
.endm
-.macro jlabel label
+# A label referenced by an error handler table.
+.macro ehlabel label, visibility=global
+ .\visibility \label
\label:
.endm
+
+# A label referenced by a jumptable.
+.macro jlabel label, visibility=local
+ .\visibility \label
+ \label:
+.endm
+
+
+# A data symbol.
+.macro dlabel label, visibility=global
+ .\visibility \label
+ .type \label, @object
+ \label:
+.endm
+
+# End of a data symbol.
+.macro enddlabel label
+ .size \label, . - \label
+.endm
+
+
+# Label to signal the symbol haven't been matched yet.
+.macro nonmatching label, size=1
+ .global \label\().NON_MATCHING
+ .type \label\().NON_MATCHING, @object
+ .size \label\().NON_MATCHING, \size
+ \label\().NON_MATCHING:
+.endm
+
# COP0 register aliases
.set Index, $0