rv2fox: Understand .zero directive
This commit is contained in:
parent
eec12a9e9a
commit
8b5d547107
|
@ -68,6 +68,13 @@ class Emitter:
|
|||
for d in data:
|
||||
self.write(f'data.{size} {d}')
|
||||
|
||||
def zero(self, *data):
|
||||
"""
|
||||
Emit zeros
|
||||
"""
|
||||
for d in data:
|
||||
self.write(f'data.fill 0, {d}')
|
||||
|
||||
def strz(self, *data):
|
||||
"""
|
||||
Emit null-terminated string
|
||||
|
@ -183,6 +190,8 @@ class Converter:
|
|||
pass # ignore
|
||||
elif m := re.fullmatch(r'word\s+([^\s]+)', line):
|
||||
self.e.data(*m.groups())
|
||||
elif m := re.fullmatch(r'zero\s+([^\s]+)', line):
|
||||
self.e.zero(*m.groups())
|
||||
elif m := re.fullmatch(r'string\s+\"(.*)\"', line):
|
||||
self.e.strz(*m.groups())
|
||||
elif m := re.fullmatch(r'asciz\s+\"(.*)\"', line):
|
||||
|
|
Loading…
Reference in New Issue
Block a user