Push local、Pop local【NandGame編】
はじめに
いつもブログをご覧いただきありがとうございます。
コーストFIRE中のIPUSIRONです😀
Push localレベル
Push localレベルのゴールは、マクロPUSH_LOCALを実装することです。
マクロPUSH_LOCALは、LOCALSと"index"(LOCALSから見た相対位置)によって指定されたメモリーアドレスの現在値を取り出して、スタックにPUSHします。
Push localレベルを解く
Push argumentレベルのコードをベースにして、2行目「PUSH_STATIC ARGS」を「PUSH_STATIC LOCALS」に変更するだけです。
PUSH_VALUE index
PUSH_STATIC LOCALS
ADD
PUSH_MEMORY
Pop localレベル
Pop localレベルのゴールは、マクロPOP_LOCALを実装することです。
マクロPOP_LOCALは、スタックの一番上の値を取り出して、LOCALと"index"によって指定されたメモリーアドレスに格納します。
Pop localレベルを解く
POP_STATIC TEMP
PUSH_VALUE index
PUSH_STATIC LOCALS
ADD
PUSH_STATIC TEMP
POP_MEMORY