Rustdocs
This commit is contained in:
parent
8734a7fc8e
commit
ad62658980
|
@ -19,9 +19,13 @@ pub(super) type ParseResult<'a> = Result<(RunnableInstruction, &'a [u8]), Error>
|
||||||
/// `OpcodeParser` takes input data, parses out an opcode (and its associated arguments) if it can, and returns
|
/// `OpcodeParser` takes input data, parses out an opcode (and its associated arguments) if it can, and returns
|
||||||
/// the remaining data after reading it.
|
/// the remaining data after reading it.
|
||||||
trait OpcodeParser {
|
trait OpcodeParser {
|
||||||
|
/// Parse an opcode and all of its data from the given data buffer. Returns either an error, or
|
||||||
|
/// The parsed instruction, and a slice of all the data after the instruction
|
||||||
fn parse_opcode(data: &[u8]) -> ParseResult;
|
fn parse_opcode(data: &[u8]) -> ParseResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// `next_instruction` will parse the next instruction from the given data stream. Returns either an error,
|
||||||
|
/// or the parsed instruction, and a slice of all the data after the instruction
|
||||||
pub fn next_instruction(data: &[u8]) -> ParseResult {
|
pub fn next_instruction(data: &[u8]) -> ParseResult {
|
||||||
let parse_funcs = &[
|
let parse_funcs = &[
|
||||||
load8::immediate::Immediate8BitLoadParser::parse_opcode,
|
load8::immediate::Immediate8BitLoadParser::parse_opcode,
|
||||||
|
|
|
@ -9,6 +9,7 @@ use crate::run::{
|
||||||
pub struct Immediate8BitLoadParser;
|
pub struct Immediate8BitLoadParser;
|
||||||
|
|
||||||
impl OpcodeParser for Immediate8BitLoadParser {
|
impl OpcodeParser for Immediate8BitLoadParser {
|
||||||
|
/// Parses an opcode that will transfer an immediate 8 bit value into a single register.
|
||||||
fn parse_opcode(data: &[u8]) -> ParseResult {
|
fn parse_opcode(data: &[u8]) -> ParseResult {
|
||||||
let opcode = parse::get_opcode_from_data(data)?;
|
let opcode = parse::get_opcode_from_data(data)?;
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,7 @@ macro_rules! match_opcode {
|
||||||
}
|
}
|
||||||
|
|
||||||
impl OpcodeParser for Between8BitRegisterParser {
|
impl OpcodeParser for Between8BitRegisterParser {
|
||||||
#[allow(clippy::too_many_lines)]
|
/// Parses an opcode that transfers an 8bit values between single registers.
|
||||||
fn parse_opcode(data: &[u8]) -> ParseResult {
|
fn parse_opcode(data: &[u8]) -> ParseResult {
|
||||||
let opcode = parse::get_opcode_from_data(data)?;
|
let opcode = parse::get_opcode_from_data(data)?;
|
||||||
match_opcode!(
|
match_opcode!(
|
||||||
|
|
Loading…
Reference in a new issue