pub fn print_mem_info() {
    unsafe {
        println!("\x1b[1m[print_mem_info]\x1b[0m");
        println!("Static variables:   \x1b[1m{:#x}\x1b[0m", &TEXT_START);
        println!("Text start:         \x1b[1m{:#x}\x1b[0m", TEXT_START);
        println!("Text end:           \x1b[1m{:#x}\x1b[0m", TEXT_END);
        println!("RO Data start:      \x1b[1m{:#x}\x1b[0m", RODATA_START);
        println!("RO Data end:        \x1b[1m{:#x}\x1b[0m", RODATA_END);
        println!("Data start:         \x1b[1m{:#x}\x1b[0m", DATA_START);
        println!("Data end:           \x1b[1m{:#x}\x1b[0m", DATA_END);
        println!("BSS start:          \x1b[1m{:#x}\x1b[0m", BSS_START);
        println!("BSS end:            \x1b[1m{:#x}\x1b[0m", BSS_END);
        println!(
            "Kernel stack start: \x1b[1m{:#x}\x1b[0m",
            KERNEL_STACK_START
        );
        println!("Kernel stack end:   \x1b[1m{:#x}\x1b[0m", KERNEL_STACK_END);
        println!("Heap start:         \x1b[1m{:#x}\x1b[0m", HEAP_START);
        println!("Heap size:          \x1b[1m{:#x}\x1b[0m bytes", HEAP_SIZE);
    }
}
/// Constantes con direcciones de regiones importantes de memoria
Constantes con direcciones de regiones importantes de memoria
Constantes con direcciones de regiones importantes de memoria
pub fn print_mem_info() {
    unsafe {
        println!("\x1b[1m[print_mem_info]\x1b[0m");
        println!("Static variables:   \x1b[1m{:#x}\x1b[0m", &TEXT_START);
        println!("Text start:         \x1b[1m{:#x}\x1b[0m", TEXT_START);
        println!("Text end:           \x1b[1m{:#x}\x1b[0m", TEXT_END);
        println!("RO Data start:      \x1b[1m{:#x}\x1b[0m", RODATA_START);
        println!("RO Data end:        \x1b[1m{:#x}\x1b[0m", RODATA_END);
        println!("Data start:         \x1b[1m{:#x}\x1b[0m", DATA_START);
        println!("Data end:           \x1b[1m{:#x}\x1b[0m", DATA_END);
        println!("BSS start:          \x1b[1m{:#x}\x1b[0m", BSS_START);
        println!("BSS end:            \x1b[1m{:#x}\x1b[0m", BSS_END);
        println!(
            "Kernel stack start: \x1b[1m{:#x}\x1b[0m",
            KERNEL_STACK_START
        );
        println!("Kernel stack end:   \x1b[1m{:#x}\x1b[0m", KERNEL_STACK_END);
        println!("Heap start:         \x1b[1m{:#x}\x1b[0m", HEAP_START);
        println!("Heap size:          \x1b[1m{:#x}\x1b[0m bytes", HEAP_SIZE);
    }
}
pub fn print_mem_info ( ) { unsafe { println ! ( " \x1b \x1b " ) ; println ! ( " \x1b \x1b " TEXT_START ) ; println ! ( " \x1b \x1b " TEXT_START ) ; println ! ( " \x1b \x1b " TEXT_END ) ; println ! ( " \x1b \x1b " RODATA_START ) ; println ! ( " \x1b \x1b " RODATA_END ) ; println ! ( " \x1b \x1b " DATA_START ) ; println ! ( " \x1b \x1b " DATA_END ) ; println ! ( " \x1b \x1b " BSS_START ) ; println ! ( " \x1b \x1b " BSS_END ) ; println ! ( " \x1b \x1b " KERNEL_STACK_START ) ; println ! ( " \x1b \x1b " KERNEL_STACK_END ) ; println ! ( " \x1b \x1b " HEAP_START ) ; println ! ( " \x1b \x1b " HEAP_SIZE ) ; } }
Constantes con direcciones de regiones importantes de memoria
Constantes con direcciones de regiones importantes de memoria