Skip to content

Commit

Permalink
Fix registers and address display
Browse files Browse the repository at this point in the history
  • Loading branch information
mbStavola committed Sep 16, 2017
1 parent 833bafc commit 0938eaf
Showing 1 changed file with 32 additions and 32 deletions.
64 changes: 32 additions & 32 deletions src/opcode.rs
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ impl fmt::Debug for Opcode {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
match *self {
Opcode::Call(address) => {
write!(f, "CALL\t{:#04x}", address)
write!(f, "CALL\t{:#03x}", address)
}
Opcode::Clear => {
write!(f, "CLS")
Expand All @@ -118,100 +118,100 @@ impl fmt::Debug for Opcode {
write!(f, "RET")
}
Opcode::Goto(address) => {
write!(f, "JMP\t{:#04x}", address)
write!(f, "JMP\t{:#03x}", address)
}
Opcode::CallFunction(address) => {
write!(f, "CALL\t{:#04x}", address)
write!(f, "CALL\t{:#03x}", address)
}
Opcode::SkipEq(register, constant) => {
write!(f, "SE\t{:#03x}\t{}", register, constant)
write!(f, "SE\tV{:X}\t{}", register, constant)
}
Opcode::SkipNEq(register, constant) => {
write!(f, "SNE\t{:#03x}\t{}", register, constant)
write!(f, "SNE\tV{:X}\t{}", register, constant)
}
Opcode::SkipEqReg(first, second) => {
write!(f, "SE\t{:#03x}\t{:#03x}", first, second)
write!(f, "SE\tV{:X}\tV{:X}", first, second)
}
Opcode::Set(register, constant) => {
write!(f, "SET\t{:#03x}\t{}", register, constant)
write!(f, "SET\tV{:X}\t{}", register, constant)
}
Opcode::AddAssign(register, constant) => {
write!(f, "ADDA\t{:#03x}\t{}", register, constant)
write!(f, "ADDA\tV{:X}\t{}", register, constant)
}
Opcode::Copy(to, from) => {
write!(f, "SET\t{:#03x}\t{:#03x}", to, from)
write!(f, "SET\tV{:X}\tV{:X}", to, from)
}
Opcode::Or(first, second) => {
write!(f, "OR\t{:#03x}\t{:#03x}", first, second)
write!(f, "OR\tV{:X}\tV{:X}", first, second)
}
Opcode::And(first, second) => {
write!(f, "AND\t{:#03x}\t{:#03x}", first, second)
write!(f, "AND\tV{:X}\tV{:X}", first, second)
}
Opcode::Xor(first, second) => {
write!(f, "XOR\t{:#03x}\t{:#03x}", first, second)
write!(f, "XOR\tV{:X}\tV{:X}", first, second)
}
Opcode::AddAssignReg(first, second) => {
write!(f, "ADDA\t{:#03x}\t{:#03x}", first, second)
write!(f, "ADDA\tV{:X}\tV{:X}", first, second)
}
Opcode::SubAssignReg(first, second) => {
write!(f, "SUBA\t{:#03x}\t{:#03x}", first, second)
write!(f, "SUBA\tV{:X}\tV{:X}", first, second)
}
Opcode::ShiftRight(first, second) => {
write!(f, "SHR\t{:#03x}\t{:#03x}", first, second)
write!(f, "SHR\tV{:X}\tV{:X}", first, second)
}
Opcode::Subtract(first, second) => {
write!(f, "SUB\t{:#03x}\t{:#03x}", first, second)
write!(f, "SUB\tV{:X}\tV{:X}", first, second)
}
Opcode::ShiftLeft(first, second) => {
write!(f, "SHL\t{:#03x}\t{:#03x}", first, second)
write!(f, "SHL\tV{:X}\tV{:X}", first, second)
}
Opcode::SkipNEqReg(first, second) => {
write!(f, "SNE\t{:#03x}\t{:#03x}", first, second)
write!(f, "SNE\tV{:X}\tV{:X}", first, second)
}
Opcode::SetAddressReg(address) => {
write!(f, "SET\tI\t{:#04x}", address)
write!(f, "SET\tI\t{:#03x}", address)
}
Opcode::JumpOffset(constant) => {
write!(f, "OFF\t{}", constant)
}
Opcode::SetRand(register, constant) => {
write!(f, "RND\t{:#03x}\t{}", register, constant)
write!(f, "RND\tV{:X}\t{}", register, constant)
}
Opcode::Draw(first, second, constant) => {
write!(f, "DRW\t{:#03x}\t{:#03x}\t{}", first, second, constant)
write!(f, "DRW\tV{:X}\tV{:X}\t{}", first, second, constant)
}
Opcode::SkipKeyPress(register) => {
write!(f, "SKP\t{:#03x}", register)
write!(f, "SKP\tV{:X}", register)
}
Opcode::SkipNoKeyPress(register) => {
write!(f, "SNKP\t{:#03x}", register)
write!(f, "SNKP\tV{:X}", register)
}
Opcode::StoreDelayTimer(register) => {
write!(f, "SET\t{:#03x}\tDELAY", register)
write!(f, "SET\tV{:X}\tDELAY", register)
}
Opcode::StoreKeypress(register) => {
write!(f, "SET\t{:#03x}\tKEY", register)
write!(f, "SET\tV{:X}\tKEY", register)
}
Opcode::SetDelayTimer(register) => {
write!(f, "SET\tDELAY\t{:#03x}", register)
write!(f, "SET\tDELAY\tV{:X}", register)
}
Opcode::SetSoundTimer(register) => {
write!(f, "SET\tSOUND\t{:#03x}", register)
write!(f, "SET\tSOUND\tV{:X}", register)
}
Opcode::IncrementAddressReg(register) => {
write!(f, "ADD\tI\t{:#03x}", register)
write!(f, "ADD\tI\tV{:X}", register)
}
Opcode::StoreSpriteAddress(register) => {
write!(f, "SPRT\t{:#03x}", register)
write!(f, "SPRT\tV{:X}", register)
}
Opcode::BinaryCodedDecimal(register) => {
write!(f, "BCD\t{:#03x}", register)
write!(f, "BCD\tV{:X}", register)
}
Opcode::Dump(register) => {
write!(f, "DUMP\t{:#03x}", register)
write!(f, "DUMP\tV{:X}", register)
}
Opcode::Load(register) => {
write!(f, "LOAD\t{:#03x}", register)
write!(f, "LOAD\tV{:X}", register)
}
}
}
Expand Down

0 comments on commit 0938eaf

Please sign in to comment.