pub mod avr_instr_info;
pub mod avr_isel;
pub mod avr_mc_encoder;
pub mod avr_target_machine;
pub mod avr_x86_bridge;
pub use avr_instr_info::{AvrInstrDesc, AvrInstrInfo, AvrOpcode};
pub use avr_isel::AvrInstructionSelector;
pub use avr_mc_encoder::AvrMCEncoder;
pub use avr_target_machine::AvrTargetMachine;
pub const AVR_POINTER_SIZE: u32 = 2;
pub const AVR_ENDIANNESS: &str = "little";
pub const AVR_STACK_ALIGNMENT: u32 = 1;
pub const AVR_RED_ZONE_SIZE: u32 = 0;
pub const AVR_PAGE_SIZE: u32 = 128;
pub const AVR_GPR_COUNT: u8 = 32;
pub const AVR_IO_REG_COUNT: u16 = 64;
pub const AVR_SRAM_START: u16 = 0x0100;
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_avr_constants() {
assert_eq!(AVR_POINTER_SIZE, 2);
assert_eq!(AVR_ENDIANNESS, "little");
assert_eq!(AVR_STACK_ALIGNMENT, 1);
assert_eq!(AVR_RED_ZONE_SIZE, 0);
assert_eq!(AVR_PAGE_SIZE, 128);
assert_eq!(AVR_GPR_COUNT, 32);
assert_eq!(AVR_IO_REG_COUNT, 64);
assert_eq!(AVR_SRAM_START, 0x0100);
}
}