pp.34-36
IN
は、I/OレジスタからGPRへ1バイトをロードする命令。
I/OメモリーのアドレスはI/Oアドレスとデータメモリーアドレスの2つがある。データメモリーのアドレスは、「データメモリーアドレス」と呼ばれる一意のアドレスである。また各I/Oレジスタ(Special Function Registers)は、I/Oメモリーの先頭を基準とする相対アドレスを持っていて、このアドレスが「I/Oアドレス」と呼ばれる。I/OレジスタはI/Oアドレス(またはI/Oレジスタ名)で参照される。IN
は1サイクル、LDS
は3サイクルを要する。IN
は2バイト命令、LDS
は4バイト命令。IN
はI/Oレジスタ名でも参照できる。IN
はすべてのAVRで利用できるが、LDS
は一部のAVRには実装されていない。OUT
は、GPRの値をI/Oレジスタへストアする命令。I/OレジスタはI/Oアドレス(またはI/Oレジスタ名)で参照される。