Simplified file structure

This commit is contained in:
Eduard Urbach 2024-08-07 19:39:10 +02:00
parent cacee7260a
commit a466281307
Signed by: eduard
GPG key ID: 49226B848C78F6C8
219 changed files with 453 additions and 457 deletions

29
src/asm/RegisterNumber.go Normal file
View file

@ -0,0 +1,29 @@
package asm
import (
"fmt"
"git.akyoto.dev/cli/q/src/cpu"
)
// RegisterNumber operates with a register and a number.
type RegisterNumber struct {
Register cpu.Register
Number int
}
// String returns a human readable version.
func (data *RegisterNumber) String() string {
return fmt.Sprintf("%s, %d", data.Register, data.Number)
}
// RegisterNumber adds an instruction with a register and a number.
func (a *Assembler) RegisterNumber(mnemonic Mnemonic, reg cpu.Register, number int) {
a.Instructions = append(a.Instructions, Instruction{
Mnemonic: mnemonic,
Data: &RegisterNumber{
Register: reg,
Number: number,
},
})
}