Skip to content

Commit fa05dd1

Browse files
committed
Better assembly listing
1 parent 76d7088 commit fa05dd1

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

README.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -896,15 +896,15 @@ Now let's compile this code with, and without `volatile` specifier for `s_ticks`
896896
and compare generated machine code:
897897
898898
```
899-
// NO VOLATILE: uint32_t s_ticks; | // VOLATILE: volatile uint32_t s_ticks;
900-
|
901-
ldr r3, [pc, #8] // cache s_ticks | ldr r2, [pc, #12]
902-
ldr r3, [r3, #0] // in r3 | ldr r3, [r2, #0] // r3 = s_ticks
903-
adds r0, r3, r0 // r0 = r3 + ms | adds r3, r3, r0 // r3 = r3 + ms
904-
| ldr r1, [r2, #0] // RELOAD: r1 = s_ticks
905-
cmp r3, r0 // ALWAYS FALSE! | cmp r1, r3 // compare
906-
bcc.n 200000d2 <delay+0x6> | bcc.n 200000d2 <delay+0x6>
907-
bx lr | bx lr
899+
// NO VOLATILE: uint32_t s_ticks; | // VOLATILE: volatile uint32_t s_ticks;
900+
|
901+
ldr r3, [pc, #8] // cache s_ticks | ldr r2, [pc, #12]
902+
ldr r3, [r3, #0] // in r3 | ldr r3, [r2, #0] // r3 = s_ticks
903+
adds r0, r3, r0 // r0 = r3 + ms | adds r3, r3, r0 // r3 = r3 + ms
904+
| ldr r1, [r2, #0] // RELOAD: r1 = s_ticks
905+
cmp r3, r0 // ALWAYS FALSE | cmp r1, r3 // compare
906+
bcc.n 200000d2 <delay+0x6> | bcc.n 200000d2 <delay+0x6>
907+
bx lr | bx lr
908908
```
909909
910910
If there is no `volalile`, the `delay()` function will loop forever and never

0 commit comments

Comments
 (0)