トップページ > プログラム > 2015年07月07日 > B+1kKjNv

書き込み順位&時間帯一覧

17 位/215 ID中時間01234567891011121314151617181920212223Total
書き込み数0000001000000000000100103



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
アセンブラ初心者スレッド

書き込みレス一覧

アセンブラ初心者スレッド
718 :デフォルトの名無しさん[sage]:2015/07/07(火) 06:23:33.54 ID:B+1kKjNv
CALLやPUSH/POPなどはMOVやJMP、INCといった別の命令の組み合わせで動いていると何処かで読んだんですが、
そうするとCALLを使わず自分で好きなレジスタを使ってスタックを管理しても有意差は無いと考えていいんでしょうか?

それともCALLやPUSH等の専用の命令を使うと1Hzに収まるとかそういう違いがあるのでしょうか?
アセンブラ初心者スレッド
724 :デフォルトの名無しさん[sage]:2015/07/07(火) 19:56:39.94 ID:B+1kKjNv
>>719-720
ありがとうございます。書き忘れてましたが64bit用のオペコード使って色々書こうと思っていた所で、
一部の命令を覚えないで済むと慣れるまでは楽出来るかなと思ってたのですが、やはり最初から全ての命令を含めて組み立てるべきなんですね。

あと追加で申し訳ないんですが、ES,SS,CS,DS等へのPUSH、POPが64bit modeだと無効となっているんですが、
これはリアルモードの時は使用できて、64bit modeの時に無効になるという解釈でいいんでしょうか?
それとも64bitCPUには、それらのセグメントレジスタ自体が乗ってないんでしょうか?
アセンブラ初心者スレッド
728 :デフォルトの名無しさん[sage]:2015/07/07(火) 22:24:16.63 ID:B+1kKjNv
>>726
ありがとうございます。
なんとなく「乗ってないという事はなさそうだな」という程度にしかまだ理解できませんが、
これから勉強してはっきりと理解できるように頑張ります。

>>727
jmp命令だとパイプラインの中身がflushされるそうですが、callだとそれを防げるという理解でよろしいでしょうか。
早くテスト出来る環境を整えて色々な方法で比べてみたいと思います。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。