Update operations

This commit is contained in:
Werner
2021-12-10 13:49:16 -03:00
parent 79cfa207c4
commit 4cd8620325
10 changed files with 261 additions and 433 deletions

View File

@ -1,13 +1,28 @@
use crate::Machine;
use crate::Types::{Byte, Word};
pub type Register = Byte;
pub type RegisterAddress = (Byte, Word);
pub type AddressRegister = (Word, Byte);
pub type Register = Byte;
pub type TwoRegisters = (Byte, Byte);
pub type ThreeRegisters = (Byte, Byte, Byte);
pub type FourRegisters = (Byte, Byte, Byte, Byte);
pub enum PayloadType {
Nothing,
Register,
RegisterAddress,
AddressRegister,
TwoRegisters,
ThreeRegisters,
FourRegisters,
}
#[inline]
pub fn GetRegister(vm: &mut Machine) -> Register {
vm.ReadByte(None)
}
#[inline]
pub fn GetRegisterAddress(vm: &mut Machine) -> RegisterAddress {
(vm.ReadByte(None), vm.ReadWord(None))
@ -18,11 +33,6 @@ pub fn GetAddressRegister(vm: &mut Machine) -> AddressRegister {
(vm.ReadWord(None), vm.ReadByte(None))
}
#[inline]
pub fn GetRegister(vm: &mut Machine) -> Register {
vm.ReadByte(None)
}
#[inline]
pub fn GetTwoRegisters(vm: &mut Machine) -> TwoRegisters {
(vm.ReadByte(None), vm.ReadByte(None))