From b7798537721fdd907381d722b40d3bc3ae3a2ab6 Mon Sep 17 00:00:00 2001 From: Ry Date: Sun, 5 Feb 2023 17:10:24 -0800 Subject: [PATCH] rv2fox: Support `.string` directive --- gcc/rv2fox | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/gcc/rv2fox b/gcc/rv2fox index 8efd99e..32dfa29 100755 --- a/gcc/rv2fox +++ b/gcc/rv2fox @@ -68,6 +68,13 @@ class Emitter: for d in data: self.write(f'data.{size} {d}') + def strz(self, *data): + """ + Emit null-terminated string + """ + for d in data: + self.write(f'data.strz \"{d}\"') + def nop(self): """ Emit a nop instruction @@ -170,6 +177,8 @@ class Converter: pass # ignore elif m := re.fullmatch(r'word\s+([^\s]+)', line): self.e.data(*m.groups()) + elif m := re.fullmatch(r'string\s+\"(.*)\"', line): + self.e.strz(*m.groups()) def reg(self, reg): """