5.66 · exercise

Predict: External Data

Work out how bytes land in .data: the size of each directive, what a string literal really costs, how a table of addresses is indexed, and what happens to a counter that lives outside any stack frame.

0 of 5 correct

Mental Trace

        .data
a_m:    .hword 23
b_m:    .word 42
c_m:    .dword 0

Mental Trace

        .data
spr_m:      .string "spring"
sum_m:      .string "summer"
fal_m:      .string "fall"
win_m:      .string "winter"

        .balign 8
season_m:   .dword spr_m, sum_m, fal_m, win_m

Mental Trace

        .data
msg_m:  .string "Hello"

Mental Trace

        .data
count_m:    .word 0

        .text
        .balign 4
bump_f:
        ldr     x9, =count_m
        ldr     w10, [x9]
        add     w10, w10, 1
        str     w10, [x9]
        ret

Mental Trace

        .data
spr_m:      .string "spring"
sum_m:      .string "summer"
fal_m:      .string "fall"
win_m:      .string "winter"

        .balign 8
season_m:   .dword spr_m, sum_m, fal_m, win_m