Improved assembler

This commit is contained in:
Eduard Urbach 2023-10-23 12:37:20 +02:00
parent d5f752bdd4
commit 8e193c69b6
Signed by: eduard
GPG key ID: 49226B848C78F6C8
22 changed files with 329 additions and 139 deletions

View file

@ -1,26 +0,0 @@
package asm
import (
"fmt"
"io"
"git.akyoto.dev/cli/q/src/asm/x64"
"git.akyoto.dev/cli/q/src/register"
)
type RegisterNumber struct {
Base
Register register.Register
Number uint64
}
func (x *RegisterNumber) Write(w io.ByteWriter) {
switch x.Mnemonic {
case MOV:
x64.MoveRegNum32(w, uint8(x.Register), uint32(x.Number))
}
}
func (x *RegisterNumber) String() string {
return fmt.Sprintf("%s %s, %x", x.Mnemonic, x.Register, x.Number)
}