diff --git a/examples/bare1.rs b/examples/bare1.rs index 2a59bd1ff8760c14b9e8594153dc7fc10d122ab0..ba697b569c70dafeb56fda52f3a0bc21c52a5f8d 100644 --- a/examples/bare1.rs +++ b/examples/bare1.rs @@ -28,7 +28,7 @@ fn main() -> ! { let mut _x = 0; loop { _x += 1; - //cortex_m::asm::nop(); + cortex_m::asm::nop(); //iprintln!(stim, "{}",_x); //hprintln!("{}", _x).unwrap(); //cortex_m::asm::bkpt(); @@ -116,7 +116,42 @@ fn main() -> ! { // What is the output of: // (gdb) disassemble // -// ** your answer here ** +// ** +// Dump of assembler code for function main: +// 0x08000404 <+0>: sub sp, #16 +// 0x08000406 <+2>: movs r0, #0 +// 0x08000408 <+4>: str r0, [sp, #12] +// 0x0800040a <+6>: b.n 0x800040c <main+8> +// 0x0800040c <+8>: ldr r0, [sp, #12] +// => 0x0800040e <+10>: adds r1, r0, #1 +// 0x08000410 <+12>: mov r2, r1 +// 0x08000412 <+14>: cmp r1, r0 +// 0x08000414 <+16>: str r2, [sp, #8] +// 0x08000416 <+18>: bvs.n 0x8000436 <main+50> +// 0x08000418 <+20>: b.n 0x800041a <main+22> +// 0x0800041a <+22>: ldr r0, [sp, #8] +// 0x0800041c <+24>: str r0, [sp, #12] +// 0x0800041e <+26>: bl 0x8000400 <cortex_m::asm::nop::h0ac7b7a3f33f2667> +// 0x08000422 <+30>: b.n 0x8000424 <main+32> +// 0x08000424 <+32>: ldr r0, [sp, #12] +// 0x08000426 <+34>: subs r1, r0, #1 +// 0x08000428 <+36>: cmp r0, #1 +// 0x0800042a <+38>: str r1, [sp, #4] +// 0x0800042c <+40>: bvs.n 0x8000444 <main+64> +// 0x0800042e <+42>: b.n 0x8000430 <main+44> +// 0x08000430 <+44>: ldr r0, [sp, #4] +// 0x08000432 <+46>: str r0, [sp, #12] +// 0x08000434 <+48>: b.n 0x800040c <main+8> +// 0x08000436 <+50>: movw r0, #1980 ; 0x7bc +// 0x0800043a <+54>: movt r0, #2048 ; 0x800 +// 0x0800043e <+58>: bl 0x8000466 <core::panicking::panic::h4c45e71f0f614f08> +// 0x08000442 <+62>: udf #254 ; 0xfe +// 0x08000444 <+64>: movw r0, #2052 ; 0x804 +// 0x08000448 <+68>: movt r0, #2048 ; 0x800 +// 0x0800044c <+72>: bl 0x8000466 <core::panicking::panic::h4c45e71f0f614f08> +// 0x08000450 <+76>: udf #254 ; 0xfe +// End of assembler dump. +// ** // // Commit your answers (bare1_3) //