アカウント名:
パスワード:
たぶんMC680x0系ただし単なる--,++ではなく、*--p 、*p++のようにポインタを増減して指す値を使う場合。前者がpush、後者がpopに相当するので、スタックポインタ用に高速な命令が存在する。そしてスタックポインタとして汎用レジスタの一つを使うCPUでは、他の汎用レジスタでも使える。
H8やSHもこのアドレッシングモードを踏襲してたと思う。
mips fujituu1600 IBM 分からないテープが動いていた日立わからない1++しかなかった方打ち間違い起きたとこ。COBOL85しか知らない1++を使っていた、パソコン使って書いてる、最新のoSX今はIMEつていうのキーボードばかり汎用機ばかりで慣れない済まないは僕の癖(クセ)
日本語でおk
正解だよ。PDP-11 のアセンブラのアドレッシングモード(わかる?)だと、--iとi++しかないからね。でも、これは都市伝説の類。
その後MIPSが流行って、ブランチスロットだとかができて全部後置でいいじゃん、という時代があった気がする。
PDP-11なんて知らなかったけど、68000のアセンブラのアドレッシングモードにも前置デクリメントと後置インクリメントしかなくて、当時のコンパイラでは実際にそれらを利用するコードを生成してたよ。都市伝説なのは「Cの++/--演算子は初めからそういうCPUの機能を使うことが目的で導入された」って部分でしょ。
>都市伝説なのは「Cの++/--演算子は初めからそういうCPUの機能を使うことが目的で導入された」って部分でしょ。
そなの?昔のCコンパイラはロクな最適化しなかったから、アセンブラチックな書き方できるように++/--演算子を導入したのかと思ってた。つまり、i++だとインクリメント命令一つに展開されるけど、i=i+1だとそうはならない、みたいな。
なんかa^=aと書くとa=0より速い的な話を連想しますね。
速い遅いの真偽は知らんが、なんとなくスタック操作の関係でありそうな話だな。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
「科学者は100%安全だと保証できないものは動かしてはならない」、科学者「えっ」、プログラマ「えっ」
-- は前置、++ は後置 (スコア:0)
対象 CPU が何だったのか記憶にありませんが、x86系でないのは確か。
と、ここまで書いて、逆だったかと思い始めた。。。
Re:-- は前置、++ は後置 (スコア:1)
たぶんMC680x0系
ただし単なる--,++ではなく、
*--p 、*p++のようにポインタを増減して指す値を使う場合。
前者がpush、後者がpopに相当するので、スタックポインタ用に高速な命令が存在する。
そしてスタックポインタとして汎用レジスタの一つを使うCPUでは、他の汎用レジスタでも使える。
H8やSHもこのアドレッシングモードを踏襲してたと思う。
Re: (スコア:0)
mips fujituu1600 IBM 分からないテープが動いていた
日立わからない1++しかなかった方打ち間違い起きたとこ。
COBOL85しか知らない1++を使っていた、パソコン使って書いてる、最新のoSX今はIMEつていうのキーボードばかり汎用機ばかりで慣れない
済まない
は僕の癖(クセ)
Re: (スコア:0)
日本語でおk
Re: (スコア:0)
正解だよ。PDP-11 のアセンブラのアドレッシングモード(わかる?)だと、--iとi++しかないからね。でも、これは都市伝説の類。
Re: (スコア:0)
その後MIPSが流行って、ブランチスロットだとかができて全部後置でいいじゃん、という時代があった気がする。
Re: (スコア:0)
PDP-11なんて知らなかったけど、68000のアセンブラのアドレッシングモードにも前置デクリメントと後置インクリメントしかなくて、当時のコンパイラでは実際にそれらを利用するコードを生成してたよ。都市伝説なのは「Cの++/--演算子は初めからそういうCPUの機能を使うことが目的で導入された」って部分でしょ。
Re: (スコア:0)
>都市伝説なのは「Cの++/--演算子は初めからそういうCPUの機能を使うことが目的で導入された」って部分でしょ。
そなの?
昔のCコンパイラはロクな最適化しなかったから、アセンブラチックな書き方できるように++/--演算子を導入したのかと思ってた。
つまり、i++だとインクリメント命令一つに展開されるけど、i=i+1だとそうはならない、みたいな。
Re: (スコア:0)
なんかa^=aと書くとa=0より速い的な話を連想しますね。
Re: (スコア:0)
速い遅いの真偽は知らんが、なんとなくスタック操作の関係でありそうな話だな。