diff options
| author | krolxon <krolyxon@tutanota.com> | 2026-01-04 23:54:56 +0530 |
|---|---|---|
| committer | krolxon <krolyxon@tutanota.com> | 2026-01-04 23:54:56 +0530 |
| commit | 4d311dec594811debcda82069bfdd72906101233 (patch) | |
| tree | 75807f4011f6032966bef22795496e6b0f1f7df1 /src/main.rs | |
| parent | debe2ecbc4f819dfec7f5ca7c1f0e2fd6bc37708 (diff) | |
use clap for arguement parsing
Diffstat (limited to 'src/main.rs')
| -rw-r--r-- | src/main.rs | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/main.rs b/src/main.rs index 811e0cf..607fb34 100644 --- a/src/main.rs +++ b/src/main.rs @@ -5,14 +5,24 @@ mod memory; use cpu::CPU; use memory::Memory; - +use clap::Parser; use crate::assembler::assembler; +#[derive(Parser, Debug)] +#[command(version, about, long_about = None)] +struct Args { + #[arg(short, long)] + filename: String, +} + + fn main() { + let args = Args::parse(); + let mut cpu = CPU::default(); let mut mem = Memory::new(); - let asm = std::fs::read_to_string("program.asm").unwrap(); + let asm = std::fs::read_to_string(args.filename).unwrap(); let program = assembler(&asm); for (i, byte) in program.iter().enumerate() { |
