diff --git a/internal/commands/for.go b/internal/commands/for.go index 79a8bcb..77d014a 100644 --- a/internal/commands/for.go +++ b/internal/commands/for.go @@ -234,6 +234,11 @@ func (c *ForCommand) Generate(ctx *compiler.CompilerContext) ([]string, error) { func (c *ForCommand) generateAssignment() []string { var asm []string + // If startOp is also the iterator (varName) no need to load it. + if c.startOp.IsVar && c.startOp.VarName == c.varName { + return asm + } + // Variable assignment from startOp if c.startOp.IsVar { // Destination: byte