← Back to archive

Stdle #15 · addressing · 2026-06-21

What does this Assembly snippet output?

A past puzzle — fully playable. 4 attempts, hints on wrong guesses.

.global _main
.align 2
_main:
stp x29, x30, [sp, #-48]!
stp x19, x20, [sp, #16]
adrp x19, arr@PAGE
add x19, x19, arr@PAGEOFF
mov w20, #0
mov w9, #4
loop:
cbz w9, done
ldrb w8, [x19], #1
add w20, w20, w8
sub w9, w9, #1
b loop
done:
sub sp, sp, #16
str x20, [sp]
adrp x0, fmt@PAGE
add x0, x0, fmt@PAGEOFF
bl _printf
add sp, sp, #16
ldp x19, x20, [sp, #16]
ldp x29, x30, [sp], #48
mov w0, #0
ret
.section __DATA,__data
arr: .byte 3, 7, 11, 9
.section __TEXT,__cstring
fmt: .asciz "%d\n"
Addressing
4 attempts left

Answer & explanation