aboutsummaryrefslogtreecommitdiff
path: root/snug-clean/src/MIPS
diff options
context:
space:
mode:
authorCamil Staps2023-01-30 21:36:20 +0100
committerCamil Staps2023-01-30 21:36:20 +0100
commitbf4053fdf98c906f1e079ae0332cfaee35b8d071 (patch)
treecce168498513bfe3717f640e1310413d7ae9079a /snug-clean/src/MIPS
parentAlign on double words (diff)
Align on halfwords instead of double words; use data/text boundary to distinguish hnfs and thunks
Diffstat (limited to 'snug-clean/src/MIPS')
-rw-r--r--snug-clean/src/MIPS/MIPS32.dcl1
-rw-r--r--snug-clean/src/MIPS/MIPS32.icl1
2 files changed, 2 insertions, 0 deletions
diff --git a/snug-clean/src/MIPS/MIPS32.dcl b/snug-clean/src/MIPS/MIPS32.dcl
index 4789507..a2c85dc 100644
--- a/snug-clean/src/MIPS/MIPS32.dcl
+++ b/snug-clean/src/MIPS/MIPS32.dcl
@@ -7,6 +7,7 @@ from StdOverloaded import class toString
| Align !Int
| Label !Label
| Instr !Instruction
+ | RawByte !Int
| RawWord !Int
| RawAscii !String
diff --git a/snug-clean/src/MIPS/MIPS32.icl b/snug-clean/src/MIPS/MIPS32.icl
index a124007..6e602be 100644
--- a/snug-clean/src/MIPS/MIPS32.icl
+++ b/snug-clean/src/MIPS/MIPS32.icl
@@ -10,6 +10,7 @@ where
toString (Align i) = "\t.align\t" +++ toString i
toString (Label l) = l +++ ":"
toString (Instr i) = "\t" +++ toString i
+ toString (RawByte i) = "\t.byte\t" +++ toString i
toString (RawWord i) = "\t.word\t" +++ toString i
toString (RawAscii s) = concat3 "\t.ascii\t\"" s "\"" // TODO: escaping