Fixed an incorrect register move
This commit is contained in:
parent
b1f0d20394
commit
df5813515d
@ -2,8 +2,10 @@ import log
|
||||
import sys
|
||||
|
||||
main() {
|
||||
x := 12
|
||||
collatz(12)
|
||||
}
|
||||
|
||||
collatz(x) {
|
||||
loop {
|
||||
if x & 1 == 0 {
|
||||
x /= 2
|
||||
|
@ -9,6 +9,10 @@ import (
|
||||
|
||||
// CompileLoop compiles a loop instruction.
|
||||
func (f *Function) CompileLoop(loop *ast.Loop) error {
|
||||
for _, register := range f.CPU.Input {
|
||||
f.SaveRegister(register)
|
||||
}
|
||||
|
||||
f.count.loop++
|
||||
label := fmt.Sprintf("%s_loop_%d", f.UniqueName, f.count.loop)
|
||||
f.AddLabel(label)
|
||||
|
Loading…
Reference in New Issue
Block a user