Skip to content

Latest commit

 

History

History
125 lines (91 loc) · 2.57 KB

jump.md

File metadata and controls

125 lines (91 loc) · 2.57 KB

ジャンプ・コール

Note: サイクル数はマシンサイクル単位です。

JP n16

アドレスn16にジャンプする 

サイクル: 4
バイト長: 3
フラグ: 不変

JP cc,n16

ccの条件が満たされた時に、JP n16  
満たされなかった場合は、何も起きない  

サイクル: 4(満たされた時) or 3(満たされなかった時)
バイト長: 3
フラグ: 不変

JP HL

HLの値をアドレスとしてジャンプする 

サイクル: 1
バイト長: 1
フラグ: 不変

JR e8

JR = Jump Relative = 相対ジャンプ
JRの次の命令のアドレスにe8を加えたアドレスへと相対ジャンプ
なお、オペランドが0の場合は、ジャンプしないことと同じ

サイクル: 3
バイト長: 2
フラグ: 不変

JR cc,e8

ccの条件が満たされた時に、JR e8  
満たされなかった場合は、何も起きない  

サイクル: 3(満たされた時) or 2(満たされなかった時)
バイト長: 2
フラグ: 不変

CALL n16

アドレスn16のサブルーチンをコールする  
CALLの直後の命令のアドレスをスタックにプッシュした後で、n16にジャンプする

サイクル: 6
バイト長: 3
フラグ: 不変

CALL cc,n16

ccの条件が満たされた時に、CALL n16  
満たされなかった場合は、何も起きない  

サイクル: 6(満たされた時) or 3(満たされなかった時)
バイト長: 3
フラグ: 不変

RET

サブルーチンからリターンするための命令
内部的には、スタックの一番上の値を取り出してPCに格納する、POP PCと同じ処理

サイクル: 4
バイト長: 1
フラグ: 不変

RET cc

ccの条件が満たされた時に、RET  
満たされなかった場合は、何も起きない  

サイクル: 5(満たされた時) or 2(満たされなかった時)
バイト長: 1
フラグ: 不変

RETI

サブルーチンからリターンし、IMEをセットして割り込みを有効にする
内部の処理的には、EIをしてRETをするのと同じ

サイクル: 4
バイト長: 1
フラグ: 不変

RST vec

アドレスvecのサブルーチンをコールする(vec=00h, 08h, 10h, ..., 38h)
内部の処理的にはCALLと同じだが、こちらはコール先のアドレスが決まっている代わりに命令が短くて高速

サイクル: 4
バイト長: 1
フラグ: 不変