1
0
Fork 0
forked from koniifer/ableos
ableos-framebuffer/src/main.rs

46 lines
1.2 KiB
Rust
Raw Normal View History

2023-04-22 13:00:19 -05:00
use holey_bytes::{
2023-04-22 16:06:33 -05:00
bytecode::ops::{Operations::*, RWSubTypes::*, SubTypes::*},
engine::{regs::Registers, Engine},
2023-04-22 13:00:19 -05:00
RuntimeErrors,
};
2023-04-18 18:08:30 -05:00
fn main() -> Result<(), RuntimeErrors> {
2023-04-22 17:17:49 -05:00
#[rustfmt::skip]
let prog: Vec<u8> = vec![
2023-04-22 17:47:01 -05:00
NOP as u8, NOP as u8,
2023-04-22 17:17:49 -05:00
// 10, 10,
ADD as u8, EightBit as u8, 100, 20, 0xA7,
ADD as u8,
EightBit as u8, 1, 0, 0xB0,
ADD as u8,
SixtyFourBit as u8,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 2, 0xD0,
SUB as u8, EightBit as u8, 255, 0, 0xA7,
ADD as u8, Register8 as u8, 0xA7, 0xB0, 0xA7,
LOAD as u8, AddrToReg as u8,
0, 0, 0, 0, 0, 0, 0, 2,
0xA0,
JUMP as u8, 0, 0, 0, 0, 0, 0, 0, 5,
];
2023-04-22 16:06:33 -05:00
2023-04-22 17:17:49 -05:00
let mut eng = Engine::new(prog);
2023-04-22 17:47:01 -05:00
println!("{:?}", eng.read_mem_addr_8(4));
2023-04-22 17:17:49 -05:00
// eng.set_timer_callback(time);
2023-04-22 17:47:01 -05:00
// eng.enviroment_call_table[10] = print_fn;
// eng.run()?;
// eng.dump();
2023-04-22 16:06:33 -05:00
Ok(())
}
pub fn time() -> u32 {
9
}
2023-04-22 17:17:49 -05:00
pub fn print_fn(mut reg: Registers) -> Result<Registers, u64> {
2023-04-22 16:06:33 -05:00
println!("{:?}", reg);
2023-04-22 17:17:49 -05:00
Ok(reg)
2023-04-18 18:08:30 -05:00
}