1
0
mirror of https://github.com/danbee/8080 synced 2025-03-04 08:39:07 +00:00

Re-refactor some 2 byte mnemonics

This commit is contained in:
Laurie Young 2015-12-11 14:51:22 +01:00
parent 73eb40be8a
commit 8de773a16c

View File

@ -273,20 +273,14 @@ fn opcode(input: &Vec<u8>, counter: usize) -> usize {
0xcb => { print_mnemonic("*JMP", &input[counter..counter + 3]); size = 3 }, 0xcb => { print_mnemonic("*JMP", &input[counter..counter + 3]); size = 3 },
0xcc => { print_mnemonic("CZ", &input[counter..counter + 3]); size = 3 }, 0xcc => { print_mnemonic("CZ", &input[counter..counter + 3]); size = 3 },
0xcd => { print_mnemonic("CALL", &input[counter..counter + 3]); size = 3 }, 0xcd => { print_mnemonic("CALL", &input[counter..counter + 3]); size = 3 },
0xce => { 0xce => { print_mnemonic("ACI", &input[counter..counter + 2]); size = 2 },
println!("ACI #0x{:02x}", input[counter + 1]);
size = 2;
},
0xcf => { print_mnemonic("RST 1", &input[counter..counter + 1]); size = 1 }, 0xcf => { print_mnemonic("RST 1", &input[counter..counter + 1]); size = 1 },
// d0 // d0
0xd0 => { print_mnemonic("RNC", &input[counter..counter + 1]); size = 1 }, 0xd0 => { print_mnemonic("RNC", &input[counter..counter + 1]); size = 1 },
0xd1 => { print_mnemonic("POP D", &input[counter..counter + 1]); size = 1 }, 0xd1 => { print_mnemonic("POP D", &input[counter..counter + 1]); size = 1 },
0xd2 => { print_mnemonic("JNC", &input[counter..counter + 3]); size = 3 }, 0xd2 => { print_mnemonic("JNC", &input[counter..counter + 3]); size = 3 },
0xd3 => { 0xd3 => { print_mnemonic("OUT", &input[counter..counter + 2]); size = 2 },
println!("OUT #0x{:02x}", input[counter + 1]);
size = 2;
},
0xd4 => { print_mnemonic("CNC", &input[counter..counter + 3]); size = 3 }, 0xd4 => { print_mnemonic("CNC", &input[counter..counter + 3]); size = 3 },
0xd5 => { print_mnemonic("PUSH D", &input[counter..counter + 1]); size = 1 }, 0xd5 => { print_mnemonic("PUSH D", &input[counter..counter + 1]); size = 1 },
0xd6 => { print_mnemonic("SUI", &input[counter..counter + 2]); size = 2 }, 0xd6 => { print_mnemonic("SUI", &input[counter..counter + 2]); size = 2 },
@ -296,16 +290,10 @@ fn opcode(input: &Vec<u8>, counter: usize) -> usize {
0xd8 => { print_mnemonic("RC", &input[counter..counter + 1]); size = 1 }, 0xd8 => { print_mnemonic("RC", &input[counter..counter + 1]); size = 1 },
0xd9 => { print_mnemonic("*RET", &input[counter..counter + 1]); size = 1 }, 0xd9 => { print_mnemonic("*RET", &input[counter..counter + 1]); size = 1 },
0xda => { print_mnemonic("JC", &input[counter..counter + 3]); size = 3 }, 0xda => { print_mnemonic("JC", &input[counter..counter + 3]); size = 3 },
0xdb => { 0xdb => { print_mnemonic("*NOP", &input[counter..counter + 2]); size = 2 },
println!("IN #0x{:02x}", input[counter + 1]);
size = 2;
},
0xdc => { print_mnemonic("CC", &input[counter..counter + 3]); size = 3 }, 0xdc => { print_mnemonic("CC", &input[counter..counter + 3]); size = 3 },
0xdd => { print_mnemonic("*CALL", &input[counter..counter + 3]); size = 3 }, 0xdd => { print_mnemonic("*CALL", &input[counter..counter + 3]); size = 3 },
0xde => { 0xde => { print_mnemonic("SBI", &input[counter..counter + 2]); size = 2 },
println!("SBI #0x{:02x}", input[counter + 1]);
size = 2;
},
0xdf => { print_mnemonic("RST 3", &input[counter..counter + 1]); size = 1 }, 0xdf => { print_mnemonic("RST 3", &input[counter..counter + 1]); size = 1 },
// e0 // e0
@ -325,10 +313,7 @@ fn opcode(input: &Vec<u8>, counter: usize) -> usize {
0xeb => { print_mnemonic("XCHG", &input[counter..counter + 1]); size = 1 }, 0xeb => { print_mnemonic("XCHG", &input[counter..counter + 1]); size = 1 },
0xec => { print_mnemonic("CPE", &input[counter..counter + 3]); size = 3 }, 0xec => { print_mnemonic("CPE", &input[counter..counter + 3]); size = 3 },
0xed => { print_mnemonic("*CALL", &input[counter..counter + 3]); size = 3 }, 0xed => { print_mnemonic("*CALL", &input[counter..counter + 3]); size = 3 },
0xee => { 0xee => { print_mnemonic("XRI", &input[counter..counter + 2]); size = 2 },
println!("XRI #0x{:02x}", input[counter + 1]);
size = 2;
},
0xef => { print_mnemonic("RST 5", &input[counter..counter + 1]); size = 1 }, 0xef => { print_mnemonic("RST 5", &input[counter..counter + 1]); size = 1 },
// f0 // f0