Added more tests

This commit is contained in:
2025-02-22 13:58:07 +01:00
parent c088697446
commit df782ae1cb
8 changed files with 74 additions and 41 deletions

View File

@ -25,10 +25,6 @@ func (f *Function) ExecuteRegisterNumber(operation token.Token, register cpu.Reg
f.RegisterNumber(asm.MUL, register, number)
case token.Div, token.DivAssign:
if register != x86.RAX {
f.SaveRegister(x86.RAX)
}
f.SaveRegister(x86.RDX)
tmp := f.NewRegister()
f.RegisterNumber(asm.MOVE, tmp, number)
@ -36,7 +32,6 @@ func (f *Function) ExecuteRegisterNumber(operation token.Token, register cpu.Reg
f.FreeRegister(tmp)
case token.Mod, token.ModAssign:
f.SaveRegister(x86.RAX)
f.SaveRegister(x86.RDX)
tmp := f.NewRegister()
f.RegisterNumber(asm.MOVE, tmp, number)

View File

@ -25,15 +25,10 @@ func (f *Function) ExecuteRegisterRegister(operation token.Token, register cpu.R
f.RegisterRegister(asm.MUL, register, operand)
case token.Div, token.DivAssign:
if register != x86.RAX {
f.SaveRegister(x86.RAX)
}
f.SaveRegister(x86.RDX)
f.RegisterRegister(asm.DIV, register, operand)
case token.Mod, token.ModAssign:
f.SaveRegister(x86.RAX)
f.SaveRegister(x86.RDX)
f.RegisterRegister(asm.MODULO, register, operand)