Skip to content

Instantly share code, notes, and snippets.

@thejpster
Created June 15, 2026 21:07
Show Gist options
  • Select an option

  • Save thejpster/4ea8a5e021c2385437e28ecc7d14a3ce to your computer and use it in GitHub Desktop.

Select an option

Save thejpster/4ea8a5e021c2385437e28ecc7d14a3ce to your computer and use it in GitHub Desktop.
Sample asm
00000a14 <<lpc2138_hal::timer::Driver as embedded_hal::delay::DelayNs>::delay_ns>:
a14: e92d4c70 push {r4, r5, r6, r10, r11, lr}
a18: e28db010 add r11, sp, #16
a1c: e24dd008 sub sp, sp, #8
a20: e5905000 ldr r5, [r0]
a24: e5902004 ldr r2, [r0, #0x4]
a28: e595000c ldr r0, [r5, #0xc]
a2c: e2904001 adds r4, r0, #1
a30: 2a000021 bhs 0xabc <<lpc2138_hal::timer::Driver as embedded_hal::delay::DelayNs>::delay_ns+0xa8> @ imm = #0x84
a34: e1a06005 mov r6, r5
a38: e5b60004 ldr r0, [r6, #0x4]!
a3c: e3800002 orr r0, r0, #2
a40: e58d0004 str r0, [sp, #0x4]
a44: e59d0004 ldr r0, [sp, #0x4]
a48: e5860000 str r0, [r6]
a4c: e5960000 ldr r0, [r6]
a50: e3c00002 bic r0, r0, #2
a54: e58d0004 str r0, [sp, #0x4]
a58: e59d0004 ldr r0, [sp, #0x4]
a5c: e5860000 str r0, [r6]
a60: e5960000 ldr r0, [r6]
a64: e3800001 orr r0, r0, #1
a68: e58d0004 str r0, [sp, #0x4]
a6c: e59d0004 ldr r0, [sp, #0x4]
a70: e5860000 str r0, [r6]
a74: e0830192 <unknown>
a78: e59f2044 ldr r2, [pc, #0x44] @ 0xac4 <<lpc2138_hal::timer::Driver as embedded_hal::delay::DelayNs>::delay_ns+0xb0>
a7c: e1a01003 mov r1, r3
a80: e3a03000 mov r3, #0
a84: eb000dd6 bl 0x41e4 <__aeabi_uldivmod> @ imm = #0x3758
a88: e1a01004 mov r1, r4
a8c: eb000dd0 bl 0x41d4 <__aeabi_uidiv> @ imm = #0x3740
a90: e5951008 ldr r1, [r5, #0x8]
a94: e1510000 cmp r1, r0
a98: 3afffffc blo 0xa90 <<lpc2138_hal::timer::Driver as embedded_hal::delay::DelayNs>::delay_ns+0x7c> @ imm = #-0x10
a9c: e5960000 ldr r0, [r6]
aa0: e3c00001 bic r0, r0, #1
aa4: e58d0004 str r0, [sp, #0x4]
aa8: e59d0004 ldr r0, [sp, #0x4]
aac: e5860000 str r0, [r6]
ab0: e24bd010 sub sp, r11, #16
ab4: e8bd4c70 pop {r4, r5, r6, r10, r11, lr}
ab8: e12fff1e bx lr
abc: e59f0004 ldr r0, [pc, #0x4] @ 0xac8 <<lpc2138_hal::timer::Driver as embedded_hal::delay::DelayNs>::delay_ns+0xb4>
ac0: eb00053e bl 0x1fc0 <core::panicking::panic_const::panic_const_div_by_zero> @ imm = #0x14f8
ac4: 00 ca 9a 3b .word 0x3b9aca00
ac8: 90 47 00 00 .word 0x00004790
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment