20180629_01 変数の定義とラベル アセンブリ言語の書式では「ラベル(label)」というが、「変数」や「名前」ともいう。 ラベルには、コロン(:)を付けるのがお勧め(他と区別しやすい) ラベルはgoto命令(後出)の飛び先のプログラムメモリアドレスにも使用する。 (参考)アセンブリ言語の書式 ラベル(label) 命令(opcode) オペランド (operand) ; コメント(comment) (注意)正しくは、Opcodeは命令の一部であり、命令はOpcodeとOperandとから成る。 (例) Reg_A: EQU 20H ; EQU擬似命令、変数を定義する、定数(20H)の代わりに変数(Reg_A)を使う Reg_B: EQU 21H Reg_C: EQU 22H ORG 0 MOVF Reg_A,W ; W <- Reg_A ADDWF Reg_B,W ; W <- Reg_B + W MOVWF Reg_C ; Reg_C <- W END CBLOCK擬似命令の利用 (例) CBLOCK 20H ; CBLOCK擬似命令、オペランドで指定した番地(20H)から連続して変数を定義する Reg_A: ; 上の例と同じように、割り当てられる。 Reg_B: Reg_C: ENDC ; ENDC擬似命令、CBLOCKの終わり ORG 0 MOVF Reg_A,W ; W <- Reg_A ADDWF Reg_B,W ; W <- Reg_B + W MOVWF Reg_C ; Reg_C <- W END