diff --git a/examples/bare1.rs b/examples/bare1.rs
index 80dd8e8edd0b246e0733d93a5fc8b62a0a3c94bc..9390de5bd8866de515b4da12b8ba2e2c3d1c9032 100644
--- a/examples/bare1.rs
+++ b/examples/bare1.rs
@@ -24,7 +24,7 @@ fn main() -> ! {
     let mut _x = 0;
     loop {
         _x += 1;
-        cortex_m::asm::nop();
+        // cortex_m::asm::nop();
         // cortex_m::asm::bkpt();
         _x -= 1;
     }
@@ -69,31 +69,37 @@ fn main() -> ! {
 //    What is the output of:
 //    (gdb) disassemble
 // 
-// Dump of assembler code for function Reset:
-// => 0x08000616 <+0>:	bl	0x8000686 <DefaultPreInit>
-//    0x0800061a <+4>:	b.n	0x800061c <Reset+6>
-//    0x0800061c <+6>:	movw	r0, #0
-//    0x08000620 <+10>:	movt	r0, #8192	; 0x2000
-//    0x08000624 <+14>:	movw	r1, #0
-//    0x08000628 <+18>:	movt	r1, #8192	; 0x2000
-//    0x0800062c <+22>:	bl	0x8000688 <r0::zero_bss>
-//    0x08000630 <+26>:	b.n	0x8000632 <Reset+28>
-//    0x08000632 <+28>:	movw	r0, #0
-//    0x08000636 <+32>:	movt	r0, #8192	; 0x2000
-//    0x0800063a <+36>:	movw	r1, #0
-//    0x0800063e <+40>:	movt	r1, #8192	; 0x2000
-//    0x08000642 <+44>:	movw	r2, #2580	; 0xa14
-//    0x08000646 <+48>:	movt	r2, #2048	; 0x800
-//    0x0800064a <+52>:	bl	0x80006d0 <r0::init_data>
-//    0x0800064e <+56>:	b.n	0x8000650 <Reset+58>
-//    0x08000650 <+58>:	movw	r0, #60808	; 0xed88
-//    0x08000654 <+62>:	movt	r0, #57344	; 0xe000
-//    0x08000658 <+66>:	ldr	r1, [r0, #0]
-//    0x0800065a <+68>:	orr.w	r1, r1, #15728640	; 0xf00000
-//    0x0800065e <+72>:	bl	0x800074a <core::ptr::write_volatile>
-//    0x08000662 <+76>:	b.n	0x8000664 <Reset+78>
-//    0x08000664 <+78>:	bl	0x800066a <ResetTrampoline>
-//    0x08000668 <+82>:	udf	#254	; 0xfe
+// Dump of assembler code for function main:
+//    0x08000400 <+0>:	sub	sp, #16
+//    0x08000402 <+2>:	movs	r0, #0
+//    0x08000404 <+4>:	str	r0, [sp, #12]
+//    0x08000406 <+6>:	b.n	0x8000408 <main+8>
+//    0x08000408 <+8>:	ldr	r0, [sp, #12]
+//    0x0800040a <+10>:	adds	r1, r0, #1
+//    0x0800040c <+12>:	mov	r2, r1
+//    0x0800040e <+14>:	cmp	r1, r0
+//    0x08000410 <+16>:	str	r2, [sp, #8]
+//    0x08000412 <+18>:	bvs.n	0x800042c <main+44>
+//    0x08000414 <+20>:	b.n	0x8000416 <main+22>
+//    0x08000416 <+22>:	ldr	r0, [sp, #8]
+//    0x08000418 <+24>:	str	r0, [sp, #12]
+//    0x0800041a <+26>:	ldr	r1, [sp, #12]
+//    0x0800041c <+28>:	subs	r2, r1, #1
+//    0x0800041e <+30>:	cmp	r1, #1
+//    0x08000420 <+32>:	str	r2, [sp, #4]
+//    0x08000422 <+34>:	bvs.n	0x800043a <main+58>
+//    0x08000424 <+36>:	b.n	0x8000426 <main+38>
+//    0x08000426 <+38>:	ldr	r0, [sp, #4]
+//    0x08000428 <+40>:	str	r0, [sp, #12]
+// => 0x0800042a <+42>:	b.n	0x8000408 <main+8>
+//    0x0800042c <+44>:	movw	r0, #2268	; 0x8dc
+//    0x08000430 <+48>:	movt	r0, #2048	; 0x800
+//    0x08000434 <+52>:	bl	0x800045c <panic>
+//    0x08000438 <+56>:	udf	#254	; 0xfe
+//    0x0800043a <+58>:	movw	r0, #2340	; 0x924
+//    0x0800043e <+62>:	movt	r0, #2048	; 0x800
+//    0x08000442 <+66>:	bl	0x800045c <panic>
+//    0x08000446 <+70>:	udf	#254	; 0xfe
 // End of assembler dump.
 //
 //    Commit your answers (bare1_2)
@@ -104,7 +110,7 @@ fn main() -> ! {
 //    What is the output of:
 //    (gdb) disassemble
 //
-//    ** your answer here **
+
 //
 //    Commit your answers (bare1_3)
 //
@@ -114,7 +120,7 @@ fn main() -> ! {
 //    What is the output of:
 //    (gdb) disassemble
 //
-//    ** your answer here **
+
 //
 //    Commit your answers (bare1_4)
 //
@@ -127,8 +133,11 @@ fn main() -> ! {
 //    Compare the generated assembly for the loop
 //    between the dev (unoptimized) and release (optimized) build.
 //
-//    ** your answer here **
+//    The optimized version executes assembly commands that the unoptimized does not.
+//    It also is a lot longer with the length of the commands executed, due to this.
 //
+
+
 //    commit your answers (bare1_5)
 //
 //    Tips: The optimized build should have 3 instructions