Skip to content

Commit 1c73245

Browse files
committed
Better assembly comments
1 parent 66b6ee1 commit 1c73245

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed

README.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -901,16 +901,16 @@ Now let's compile this code with, and without `volatile` specifier for `s_ticks`
901901
and compare generated assembly code:
902902
903903
```
904-
// NO VOLATILE: | // WITH VOLATILE:
905-
// uint32_t s_ticks; | // volatile uint32_t s_ticks;
906-
907-
ldr r3, [pc, #8] <-- cache s_ticks | ldr r2, [pc, #12]
908-
ldr r3, [r3, #0] <-- in r3 | ldr r3, [r2, #0]
909-
adds r0, r3, r0 <-- calc until | adds r3, r3, r0 <-- r3 = until
910-
| ldr r1, [r2, #0] <-- reload s_ticks
911-
cmp r3, r0 <-- compare | cmp r1, r3 <-- compare
912-
bcc.n 200000d2 <delay+0x6> | bcc.n 200000d2 <delay+0x6>
913-
bx lr | bx lr
904+
// NO VOLATILE: | // WITH VOLATILE:
905+
// uint32_t s_ticks; | // volatile uint32_t s_ticks;
906+
907+
ldr r3, [pc, #8] <-- cache s_ticks | ldr r2, [pc, #12]
908+
ldr r3, [r3, #0] <-- in r3 | ldr r3, [r2, #0] <-- r3 = s_ticks
909+
adds r0, r3, r0 <-- r0 = r3 + ms | adds r3, r3, r0 <-- r3 = r3 + ms
910+
| ldr r1, [r2, #0] <-- reload! r1 = s_ticks
911+
cmp r3, r0 <-- compare | cmp r1, r3 <-- compare
912+
bcc.n 200000d2 <delay+0x6> | bcc.n 200000d2 <delay+0x6>
913+
bx lr | bx lr
914914
```
915915
916916
Long story short: if there is no `volalile`, the `delay()` function will loop

0 commit comments

Comments
 (0)