You are on page 1of 4

0x00 | 0x08 | 0x18 | 0x28| 0x38 | 0x10 | 0x30 => (1,10),

/*
0x01 => { (format!("LXI B #{:#06X}", self.readBytes(address + 1)),
3,10) },
*/
0x02 => {
self.writeByteAtBC(self.registers.a);
(1, 7) },
0x03 => {
self.registers.setBC(self.registers.getBC().wrapping_add(1));
(1,5) },
0x04 => {
self.registers.b = self.INR(self.registers.b);
(1, 5) },
0x05 => {
self.registers.b = self.DCR(self.registers.b);
(1, 5) },
0x06 => {
self.registers.b = self.readByte(self.registers.pc + 1);
(2,7) },
0x07 => {
self.registers.a = self.registers.a.rotate_left(1);
self.registers.setFlag(bit::get(self.registers.a, 0), Flags::C);
(1,4) },
0x09 => {
let r = self.DAD(self.registers.getBC());
self.registers.setBC(r);
(1,10) },
0x0A => {
self.registers.a = self.readByteAtBC();
(1, 7) },
0x0B => {
let r = self.registers.getBC().wrapping_sub(1);
self.registers.setBC(r);
(1,5) },
0x0C => {
self.registers.c = self.INR(self.registers.c);
(1, 5) },
0x0D => {
self.registers.c = self.DCR(self.registers.c);
(1, 5) },
0x0E => {
self.registers.c = self.readByte(self.registers.pc + 1);
(2,7) },
0x0F => {
self.registers.a = self.registers.a.rotate_right(1);
self.registers.setFlag(bit::get(self.registers.a, 7), Flags::C);
(1,4) },
/*
0x11 => { (format!("LXI D #{:#06X}", self.readBytes(address + 1)),
3,10) },
*/
0x12 => {
self.writeByteAtDE(self.registers.a);
(1, 7) },
0x13 => {
self.registers.setDE(self.registers.getDE().wrapping_add(1));
(1,5) },
0x14 => {
self.registers.d = self.INR(self.registers.d);
(1, 5) },
0x15 => {
self.registers.d = self.DCR(self.registers.d);
(1, 5) },
0x16 => {
self.registers.d = self.readByte(self.registers.pc + 1);
(2,7) },
/*
0x17 => { (format!("RAL"), 1,10) },
*/
0x19 => {
let r = self.DAD(self.registers.getDE());
self.registers.setDE(r);
(1,10) },
0x1A => {
self.registers.a = self.readByteAtDE();
(1, 7) },
0x1B => {
let r = self.registers.getDE().wrapping_sub(1);
self.registers.setDE(r);
(1,5) },
0x1C => {
self.registers.e = self.INR(self.registers.e);
(1, 5) },
0x1D => {
self.registers.e = self.DCR(self.registers.e);
(1, 5) },
0x1E => {
self.registers.e = self.readByte(self.registers.pc + 1);
(2,7) },
/*
0x1F => { (format!("RAR"), 1,10) },

0x21 => { (format!("LXI H #{:#06X}", self.readBytes(address + 1)),


3,10) },
0x22 => { (format!("SHLD ${:#06X}", self.readBytes(address + 1)),
3,16)},
*/
0x23 => {
self.registers.setHL(self.registers.getHL().wrapping_add(1));
(1,5) },
0x24 => {
self.registers.h = self.INR(self.registers.h);
(1, 5) },
0x25 => {
self.registers.h = self.DCR(self.registers.h);
(1, 5) },
0x26 => {
self.registers.h = self.readByte(self.registers.pc + 1);
(2,7) },
/*
0x27 => { (format!("DAA"), 1,10) },
*/
0x29 => {
let r = self.DAD(self.registers.getHL());
self.registers.setHL(r);
(1,10) },
/*
0x2A => { (format!("LHLD ${:#06X}", self.readBytes(address + 1)),
3,16)}
*/
0x2B => {
let r = self.registers.getHL().wrapping_sub(1);
self.registers.setHL(r);
(1,5) },
0x2C => {
self.registers.l = self.INR(self.registers.l);
(1, 5) },
0x2D => {
self.registers.l = self.DCR(self.registers.l);
(1, 5) },
0x2E => {
self.registers.l = self.readByte(self.registers.pc + 1);
(2,7) },
0x2F => {
self.registers.a &= self.registers.a;
(1, 4) },/*

0x31 => { (format!("LXI SP #{:#06X}", self.readBytes(address + 1)),


3,10) },
0x32 => { (format!("STA ${:#06X}", self.readBytes(address + 1)),
3,13)},
*/
0x33 => {
self.registers.sp = self.registers.sp.wrapping_add(1);
(1,5) },
0x34 => {
let r = self.INR(self.readByteAtM());
self.writeByteAtM(r);
(1, 10) },
0x35 => {
let r = self.DCR(self.readByteAtM());
self.writeByteAtM(r);
(1, 10) },
0x36 => {
self.writeByteAtM(self.readByte(self.registers.pc + 1));
(2,10) },
/*
0x37 => { (format!("STC"), 1,10) },
*/
0x39 => {
self.registers.sp = self.DAD(self.registers.sp);
(1,10) },
/*
0x3A => { (format!("LDA ${:#06X}", self.readBytes(address + 1)),
3,13)},
*/
0x3B => {
self.registers.sp = self.registers.sp.wrapping_sub(1);
(1,5) },
0x3C => {
self.registers.a = self.INR(self.registers.a);
(1, 5) },
0x3D => {
self.registers.a = self.DCR(self.registers.a);
(1, 5) },
0x3E => {
self.registers.a = self.readByte(self.registers.pc + 1);
(2,7) },
/*
0x3F => { (format!("CMC"), 1,10) },
*/

You might also like