asmodeus 0.1.0

Complete assembler and emulator for Asmodeus architecture
pub fn _print_asmodeus_logo_compact() {
    println!();
    println!("\x1b[1m\x1b[38;5;255m ______                                  __      \x1b[0m");
    println!("\x1b[1m\x1b[38;5;252m/\\  _  \\                                /\\ \\     \x1b[0m");
    println!("\x1b[1m\x1b[38;5;248m\\ \\ \\_\\ \\    ____    ___ ___     ___    \\_\\ \\   \x1b[0m");
    println!("\x1b[1m\x1b[38;5;244m \\ \\  __ \\  /',__\\ /' __` __`\\  / __`\\  /'_` \\   \x1b[0m");
    println!("\x1b[1m\x1b[38;5;52m  \\ \\ \\/\\ \\/\\__, `\\/\\ \\/\\ \\/\\ \\/\\ \\_\\ \\/\\ \\_\\ \\  \x1b[0m");
    println!("\x1b[1m\x1b[38;5;88m   \\ \\_\\ \\_\\/\\____/\\ \\_\\ \\_\\ \\_\\ \\____/\\ \\___,_\\ \x1b[0m");
    println!("\x1b[1m\x1b[38;5;124m    \\/_/\\/_/\\/___/  \\/_/\\/_/\\/_/\\/___/  \\/__,_ / \x1b[0m");
    println!("\x1b[1m\x1b[38;5;160m                                                        \x1b[0m");
    println!();
}

pub fn print_asmodeus_logo_full() {
    println!();
    println!("\x1b[1m\x1b[38;5;255m ______                                  __                            \x1b[0m");
    println!("\x1b[1m\x1b[38;5;252m/\\  _  \\                                /\\ \\                           \x1b[0m");
    println!("\x1b[1m\x1b[38;5;248m\\ \\ \\_\\ \\    ____    ___ ___     ___    \\_\\ \\     __   __  __    ____  \x1b[0m");
    println!("\x1b[1m\x1b[38;5;244m \\ \\  __ \\  /',__\\ /' __` __`\\  / __`\\  /'_` \\  /'__`\\/\\ \\/\\ \\  /',__\\ \x1b[0m");
    println!("\x1b[1m\x1b[38;5;52m  \\ \\ \\/\\ \\/\\__, `\\/\\ \\/\\ \\/\\ \\/\\ \\_\\ \\/\\ \\_\\ \\/\\  __/\\ \\ \\_\\ \\/\\__, `\\\x1b[0m");
    println!("\x1b[1m\x1b[38;5;88m   \\ \\_\\ \\_\\/\\____/\\ \\_\\ \\_\\ \\_\\ \\____/\\ \\___,_\\ \\____\\\\ \\____/\\/\\____/\x1b[0m");
    println!("\x1b[1m\x1b[38;5;124m    \\/_/\\/_/\\/___/  \\/_/\\/_/\\/_/\\/___/  \\/__,_ /\\/____/ \\/___/  \\/___/ \x1b[0m");
    println!("\x1b[1m\x1b[38;5;160m                                                        \x1b[0m");
    println!();
}

pub fn print_bugseer_logo() {
    println!();
    println!("\x1b[1m\x1b[38;5;22m┌──────────────────────────────────────────────────────────────┐\x1b[0m");
    println!("\x1b[1m\x1b[38;5;22m│                                                              │\x1b[0m");
    println!("\x1b[1m\x1b[38;5;28m│  ██████╗ ██╗   ██╗ ██████╗ ███████╗███████╗███████╗██████╗   │\x1b[0m");
    println!("\x1b[1m\x1b[38;5;34m│  ██╔══██╗██║   ██║██╔════╝ ██╔════╝██╔════╝██╔════╝██╔══██╗  │\x1b[0m");
    println!("\x1b[1m\x1b[38;5;40m│  ██████╔╝██║   ██║██║  ███╗███████╗█████╗  █████╗  ██████╔╝  │\x1b[0m");
    println!("\x1b[1m\x1b[38;5;46m│  ██╔══██╗██║   ██║██║   ██║╚════██║██╔══╝  ██╔══╝  ██╔══██╗  │\x1b[0m");
    println!("\x1b[1m\x1b[38;5;82m│  ██████╔╝╚██████╔╝╚██████╔╝███████║███████╗███████╗██║  ██║  │\x1b[0m");
    println!("\x1b[1m\x1b[38;5;118m│  ╚═════╝  ╚═════╝  ╚═════╝ ╚══════╝╚══════╝╚══════╝╚═╝  ╚═╝  │\x1b[0m");
    println!("\x1b[1m\x1b[38;5;190m│                                                              │\x1b[0m");
    println!("\x1b[1m\x1b[38;5;154m│                   🐛 Asmodeus Debugger 🐛                    │\x1b[0m");
    println!("\x1b[1m\x1b[38;5;226m└──────────────────────────────────────────────────────────────┘\x1b[0m");
    println!();
}

pub fn print_success(message: &str) {
    println!("\x1b[1m\x1b[38;5;214m✅ {}\x1b[0m", message);
}

pub fn print_info(message: &str) {
    println!("\x1b[1m\x1b[38;5;166mℹ️  {}\x1b[0m", message);
}

pub fn print_command(command: &str, description: &str) {
    println!("  \x1b[1m\x1b[38;5;255m{}\x1b[0m  \x1b[38;5;244m{}\x1b[0m", command, description);
}