From 6161502ec70e0f2fa1c67bc160a66b41ff552f44 Mon Sep 17 00:00:00 2001
From: Ridgep <ridpet-5@student.ltu.se>
Date: Thu, 7 Mar 2019 16:08:10 +0100
Subject: [PATCH] bare1_5

---
 examples/bare1.rs | 48 ++++++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 45 insertions(+), 3 deletions(-)

diff --git a/examples/bare1.rs b/examples/bare1.rs
index dc2ec3f..eda056e 100644
--- a/examples/bare1.rs
+++ b/examples/bare1.rs
@@ -153,7 +153,42 @@ fn main() -> ! {
 //    What is the output of:
 //    (gdb) disassemble
 //
-
+// 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	0x800043a <main+54>
+//    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>
+//    0x08000422 <+30>:	b.n	0x8000424 <main+32>
+// => 0x08000424 <+32>:	bkpt	0x0000
+//    0x08000426 <+34>:	b.n	0x8000428 <main+36>
+//    0x08000428 <+36>:	ldr	r0, [sp, #12]
+//    0x0800042a <+38>:	subs	r1, r0, #1
+//    0x0800042c <+40>:	cmp	r0, #1
+//    0x0800042e <+42>:	str	r1, [sp, #4]
+//    0x08000430 <+44>:	bvs.n	0x8000448 <main+68>
+//    0x08000432 <+46>:	b.n	0x8000434 <main+48>
+//    0x08000434 <+48>:	ldr	r0, [sp, #4]
+//    0x08000436 <+50>:	str	r0, [sp, #12]
+//    0x08000438 <+52>:	b.n	0x800040c <main+8>
+//    0x0800043a <+54>:	movw	r0, #2268	; 0x8dc
+//    0x0800043e <+58>:	movt	r0, #2048	; 0x800
+//    0x08000442 <+62>:	bl	0x800046a <panic>
+//    0x08000446 <+66>:	udf	#254	; 0xfe
+//    0x08000448 <+68>:	movw	r0, #2340	; 0x924
+//    0x0800044c <+72>:	movt	r0, #2048	; 0x800
+//    0x08000450 <+76>:	bl	0x800046a <panic>
+//    0x08000454 <+80>:	udf	#254	; 0xfe
+// End of assembler dump.
 //
 //    Commit your answers (bare1_4)
 //
@@ -169,8 +204,15 @@ fn main() -> ! {
 //    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.
 //
-
-
+// Dump of assembler code for function main:
+//    0x08000400 <+0>:	nop
+//    0x08000402 <+2>:	bkpt	0x0000
+// => 0x08000404 <+4>:	b.n	0x8000400 <main>
+// End of assembler dump.
+// 
+//    As seen on the assemble code from task 2-4 and compared to task 5, the unoptimized
+//    code is a lot longer and has more instructions than the optimized one.
+// 
 //    commit your answers (bare1_5)
 //
 //    Tips: The optimized build should have 3 instructions
-- 
GitLab