アカウント名:
パスワード:
引き算で分岐ということは、2オペランド命令で引数が、比較される数を入れるレジスタと相対指定のジャンプ先で2バイト目に相対ジャンプ先を書くんじゃないかなと予想。
引かれる数を入れるレジスタはZ80のAみたいに固定で、引く数を入れるレジスタをどれにするかで、ZとかCとかのどのフラグがたったときにジャンプするかが決まるんじゃないだろうか。
算術演算としてやりたい場合は、ジャンプ先を次の命令ににしておけば結果に関わらず次に書いた命令が実行される。
逆に無条件ジャンプしたい場合は、0-0=0の演算でZフラク立てて分岐をトリガーする感じか。
引き算のときだけ2バイト目(ジャンプ先)をフェッチするなら、相対ジャンプオンリーにしてしまえば、リロケートが楽だしIMEM側からPCに値をロードするための回路も省略できる。
構成図を見るとIMEMから直にPCに渡す回路がない(必ずALU経由)か、おそらくジャンプは相対指定のみ。リロケートも楽という利点もある。
という感じじゃないかなーと予想したけど、妄想のレベルだな。
分岐命令は、am29kシリーズみたいにJamp false 命令なのかな
>逆に無条件ジャンプしたい場合は、0-0=0の演算でZフラク立てて>分岐をトリガーする感じか。フラグレジスタを持たなくても、以下のようにすれば良い・除算命令では除算結果を特定のレジスタに入れる・分岐命令は除算結果レジスタの最上位ビット(つまり符号ビット)が立ってれば分岐する
自分は極小VLIWみたいな印象持ったかな。sub命令で大体の機能動くっぽいし。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
アレゲはアレゲ以上のなにものでもなさげ -- アレゲ研究家
引き算分岐命令を予想してみる (スコア:0)
引き算で分岐ということは、2オペランド命令で
引数が、比較される数を入れるレジスタと相対指定のジャンプ先で
2バイト目に相対ジャンプ先を書くんじゃないかなと予想。
引かれる数を入れるレジスタはZ80のAみたいに固定で、
引く数を入れるレジスタをどれにするかで、ZとかCとかの
どのフラグがたったときにジャンプするかが決まるんじゃないだろうか。
算術演算としてやりたい場合は、ジャンプ先を次の命令ににしておけば
結果に関わらず次に書いた命令が実行される。
逆に無条件ジャンプしたい場合は、0-0=0の演算でZフラク立てて
分岐をトリガーする感じか。
引き算のときだけ2バイト目(ジャンプ先)をフェッチするなら、
相対ジャンプオンリーにしてしまえば、リロケートが楽だし
IMEM側からPCに値をロードするための回路も省略できる。
構成図を見るとIMEMから直にPCに渡す回路がない
(必ずALU経由)か、おそらくジャンプは相対指定のみ。
リロケートも楽という利点もある。
という感じじゃないかなーと予想したけど、妄想のレベルだな。
Re: (スコア:0)
分岐命令は、am29kシリーズみたいにJamp false 命令なのかな
>逆に無条件ジャンプしたい場合は、0-0=0の演算でZフラク立てて
>分岐をトリガーする感じか。
フラグレジスタを持たなくても、以下のようにすれば良い
・除算命令では除算結果を特定のレジスタに入れる
・分岐命令は除算結果レジスタの最上位ビット(つまり符号ビット)が立ってれば分岐する
Re: (スコア:0)
自分は極小VLIWみたいな印象持ったかな。
sub命令で大体の機能動くっぽいし。