aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/codegen.zig24
1 files changed, 12 insertions, 12 deletions
diff --git a/src/codegen.zig b/src/codegen.zig
index 011d28a..1e8ed41 100644
--- a/src/codegen.zig
+++ b/src/codegen.zig
@@ -610,31 +610,31 @@ const Context = struct {
}
fn genPrint(self: *Context, print: compile.Instr.Print) !void {
- const arg = self.register_allocator.get(print.arg);
+ const num = self.register_allocator.get(print.arg);
const quot = try self.register_allocator.allocateAux();
defer self.register_allocator.freeAux(quot);
- const aux1 = try self.register_allocator.allocateAux();
- defer self.register_allocator.freeAux(aux1);
+ const digit = try self.register_allocator.allocateAux();
+ defer self.register_allocator.freeAux(digit);
const count = try self.register_allocator.allocateAux();
defer self.register_allocator.freeAux(count);
try self.maybeFreeSources(print.sources());
- try self.emit(.addi(aux1, .zero, '\n'));
+ try self.emit(.addi(digit, .zero, '\n'));
try self.emit(.addi(.sp, .sp, -1));
- try self.emit(.sb(.sp, 0, aux1));
+ try self.emit(.sb(.sp, 0, digit));
try self.emit(.addi(count, .zero, 1));
-
- try self.emit(.addi(aux1, arg, 0));
try self.emit(.addi(quot, .zero, 10));
- try self.emit(.divu(arg, aux1, quot));
- try self.emit(.remu(aux1, aux1, quot));
- try self.emit(.addi(aux1, aux1, '0'));
+
+ try self.emit(.addi(digit, num, 0));
+ try self.emit(.divu(num, digit, quot));
+ try self.emit(.remu(digit, digit, quot));
+ try self.emit(.addi(digit, digit, '0'));
try self.emit(.addi(.sp, .sp, -1));
- try self.emit(.sb(.sp, 0, aux1));
+ try self.emit(.sb(.sp, 0, digit));
try self.emit(.addi(count, count, 1));
- try self.emit(.bne(arg, .zero, -4 * 8));
+ try self.emit(.bne(num, .zero, -4 * 7));
try self.emit(.addi(.a7, .zero, 64)); // no = write
try self.emit(.addi(.a0, .zero, 1)); // fd = stdout