16ビットレジスタへのアクセス / どうコンパイルされるのかを.lssファイルで見てみる

16ビットレジスタへ書き込むとき:

#include <avr/io.h>
int main() {
    TCNT1 = 0x1234;
}

上位バイト、下位バイトの順に書き込まれる。
f:id:ti-nspire:20200428101348p:plain

16ビットレジスタから読み出すとき:

#include <avr/io.h>
int main() {
    uint16_t sute = TCNT1;
}

下位バイト、上位バイトの順に読み出される。
f:id:ti-nspire:20200428101709p:plain
f:id:ti-nspire:20200428101752p:plain