配列

C言語においての配列と同じように、メモリ上に連続した領域を予約し、先頭アドレスとそこからの差で表現します。

rept-endr擬似命令を使うことで同じ内容の行を大量に書かずにすみます。

ローカル変数での配列は考えません。

#define ARRAY_SIZE 16
int global_array[ARRAY_SIZE];
char buffer[41];

void init(void) {
    buffer[40] = '\0';
}
    .equ    ARRAY_SIZE, 16

    .section    .text
init:
    mov.b   #7, r0l
    mov.b   r0l,    #buffer+40
    rts

    .section    .bss
global_array:
    .rept   ARRAY_SIZE
        .long   0
    .endr
buffer:
    .rept   41
        .byte   0
    .endr