- 1 名前:デフォルトの名無しさん [2007/03/25(日) 21:19:33 ]
- アセンブラ全般に関するスレッドです。
【前スレ】 アセンブラ… (゜□゜) ↑アッー!↓ pc11.2ch.net/test/read.cgi/tech/1148402614/
- 116 名前:デフォルトの名無しさん mailto:sage [2007/04/22(日) 17:57:39 ]
- >>113
( ゚д゚)ノ ドゾー ttp://homepage1.nifty.com/herumi/soft/xbyak.html
- 117 名前:デフォルトの名無しさん mailto:sage [2007/04/23(月) 00:58:01 ]
- emit でただバイナリねじこんでるのと同じでは・・・
tc1の時代に逆戻り?
- 118 名前:デフォルトの名無しさん mailto:sage [2007/04/23(月) 09:56:42 ]
- >>113>>116
データ実行で吹っ飛ばないのですか?
- 119 名前:デフォルトの名無しさん mailto:sage [2007/04/23(月) 10:26:10 ]
- DSやSSにあるコード実行が禁止出来てるなら バッファオーバーランの脆弱性などだいぶ緩和できてたろう
- 120 名前:デフォルトの名無しさん mailto:sage [2007/04/23(月) 10:54:44 ]
- 最近のCPUだとEXビットとか聞いたもので、どうなんでしょか
- 121 名前:デフォルトの名無しさん mailto:sage [2007/04/23(月) 11:12:32 ]
- linuxの場合、mprotectで実行属性を与えるようになってる。
Windowsの場合も、VirtualAllocやVirtualProtectで実行権限与えればOKよ。
- 122 名前:デフォルトの名無しさん mailto:sage [2007/04/23(月) 11:12:34 ]
- windowsは16bitの昔からダブルポインタを解決するためにthunkとよばれる
動的に小さいコードを作る技術を使ってきたからな。 当時はDLLでDSを渡す為に使われた。 32bitになっても、DelphiのVCLなんかでは WinProcからObjectとメソッドアドレスの2つを 作りだすために使われている。
- 123 名前:デフォルトの名無しさん mailto:sage [2007/04/23(月) 11:16:57 ]
- 実行時にコード変更(生成)するのってマルチスレッドとかとの相性どうなんだろう
- 124 名前:デフォルトの名無しさん mailto:sage [2007/04/23(月) 11:22:30 ]
- >>123
そのコード空間がスレッドごとに独立していれば大して問題にならない。
- 125 名前:デフォルトの名無しさん mailto:sage [2007/04/23(月) 11:30:39 ]
- スレッドセーフなコードを動的に生成するのか
難度高くね?
- 126 名前:デフォルトの名無しさん mailto:sage [2007/04/23(月) 11:33:17 ]
- Windowsの場合、実行空間からスレッドごとに独立した領域へって、
単純にプログラムカウンタでジャンプできるんだ… >>116はちゃんと見てないけど、実行属性やスレッド独立の 問題はケアしてるのかね
- 127 名前:デフォルトの名無しさん mailto:sage [2007/04/23(月) 11:35:22 ]
- ダブルポインタを解決するだけの短いコードって事は、単に
即値ロードしてジャンプするだけ リソースにアクセスするわけじゃないからさ
- 128 名前:デフォルトの名無しさん mailto:sage [2007/04/23(月) 11:36:04 ]
- >>125
それはまた別問題な気がする。グローバル変数使わないで、 コードを生成する領域をTLSにしちゃえば干渉しないだろうし。 そもそも排他問題とかからむコードを動的に生成するシチュエ ーションってあまり多くないんじゃ
- 129 名前:デフォルトの名無しさん mailto:sage [2007/04/23(月) 11:40:01 ]
- >>127
それって32ビット以上のWindowsでは関係ないんだよね? マルチスレッドだと如何に簡単な処理でも(というか簡単な 処理だからこそ)、何も考えないでコード生成したらまずい だろうし。
- 130 名前:デフォルトの名無しさん mailto:sage [2007/04/23(月) 11:44:30 ]
- >>129 自分が想像で勝手に怖がるのはいいが、それを一般論に押し広げないでくれよ。
マルチスレッドで注意しなければいけないのはどういう操作くらいかは理解して書いてるのか?
- 131 名前:デフォルトの名無しさん mailto:sage [2007/04/23(月) 11:52:07 ]
- >マルチスレッドで注意しなければいけないのはどういう操作
スレッド間で共有されている部分を排他処理しないで変更すること
- 132 名前:デフォルトの名無しさん mailto:sage [2007/04/23(月) 11:54:25 ]
- あと、共有部分の読み込みに関しては場合による
- 133 名前:デフォルトの名無しさん mailto:sage [2007/04/23(月) 11:56:01 ]
- >>131
そう、一つは正解。 もう一つは、複数のリソースを参照するコードが別のスレッドで変更されてる場合、 たとえば、ダブルワードカウンタの参照のような問題点。 ダブルポインタを得るだけのコードは、作成されなければ実行されず、 作成された後は変更されないのだから、注意する対象に入るかどうかも判るだろ。
- 134 名前:デフォルトの名無しさん mailto:sage [2007/04/23(月) 12:00:59 ]
- >>129
あと、32bit以上になっても、結局32⇔64の変換でthunkは使われるように思うな 理由は、テーブル変換のような仕組みはそれこそマルチスレッド対応に苦労するだろうから
- 135 名前:デフォルトの名無しさん mailto:sage [2007/04/23(月) 12:15:01 ]
- >>133
>作成された後は変更されない 作成された後は変更されないようなコードなのに、リンク時や そうでなくともEXEロード時に解決してしまわないのはなぜでしょう?
- 136 名前:デフォルトの名無しさん mailto:sage [2007/04/23(月) 12:18:02 ]
-
Make何とかInstance ってのを一つも使った事が無いのか?
- 137 名前:デフォルトの名無しさん mailto:sage [2007/04/23(月) 13:06:15 ]
- >>135
その時に解決出来ないからだろ DLLの場合は、コールバック時のセグメントはDLL側じゃ判らない。 VCLの場合は、コンポーネントをヒープに確保した後でなければ メソッドポインタは確定しない
- 138 名前:デフォルトの名無しさん mailto:sage [2007/04/28(土) 00:00:03 ]
- x86で論理和を行う時、被演算数の一方が0以外なら必ずゼロフラグは0にセットされて
被演算数の一方が0の時に論理積を行えば必ずゼロフラグは1にセットされる、という理解であってますか?
- 139 名前:デフォルトの名無しさん mailto:sage [2007/04/28(土) 01:01:07 ]
- わざわざ変に難しく言うな!
そんな言い方するからわかんなくなったじゃないか!! 俺にわかるのは、0とANDすりゃZ=1、0以外とORすりゃZ=0って事くらいなんだからよ!!!
- 140 名前:デフォルトの名無しさん mailto:sage [2007/04/28(土) 01:23:34 ]
- >>138
釣りをしたいなら別に止めないけど...。 一応マジレスしとくと 論理和、論理積にかかわらず ・「結果」が 0 なら ZF = 1, 0 以外なら ZF = 0 と理解しておかないと、Add/Sub なんかの時に困っちゃうぞ。(w
- 141 名前:138 mailto:sage [2007/04/28(土) 01:34:15 ]
- >>139,140
すいません、釣りじゃないです 習い立てでどう表現していいかよく分からなかったので…ありがとうございました
- 142 名前:デフォルトの名無しさん mailto:sage [2007/04/28(土) 04:35:02 ]
- アセンブラを勉強しようと思うのですがお勧めの書籍などはありますか?
当方Cの基本、Javaで簡単なプログラムが書ける程度の知識を持っております。 何かありましたら紹介よろしくお願いします。
- 143 名前:デフォルトの名無しさん [2007/05/13(日) 17:20:17 ]
- >>142
x86ならインテルのマニュアルでも読めばいいよ
- 144 名前:デフォルトの名無しさん [2007/05/13(日) 17:50:57 ]
- >>143
いんてるのまにゅあるは既にアセンブリ言語の基礎を会得しているプロの(職業の)開発者向けだろ。 しかもプロセッサの仕様とかデータシートとかエラッタ情報とか、アセンブラの本質とは関係ないし。 俺は独学で習得したが、参考書とかはほとんど読まなかったな。ソース読んでるうちに感覚で覚えてしまった。 他の人はどうやって習得したんだろう?
- 145 名前:デフォルトの名無しさん [2007/05/13(日) 17:53:42 ]
- CQ出版の古書が参考になる。
ただ、今現在でアセンブラ使えてもほとんどメリットなし。
- 146 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 18:29:33 ]
- リバースエンジニアリングや、最適化をするにはアセンブラを使えないと話にならない。
というか、コンピュータを理解するにはアセンブラでないと話にならない。 コンパイラに頼りっきりのアホが何作れるかというと、たいした物は作れない。
- 147 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 18:31:43 ]
- そういう分野って違法とか衰退してるじゃない。
仕様通り作ってればいいんだよ。
- 148 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 18:38:44 ]
-
ウィルスであるかどうかの解析は、リバースエンジニアリングが出来ないと話にならない。 そして、アンチウィルス業界はいつも人手不足。 そして需要が途切れることはない。
- 149 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 18:40:48 ]
- 1人か2人だろ。
- 150 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 18:43:49 ]
- まあ、アセンブラが使えるだけじゃ話にならんがな。
- 151 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 18:46:46 ]
- アンチウィルス業界←笑いどころ
- 152 名前:デフォルトの名無しさん [2007/05/13(日) 18:48:19 ]
- 論破されて泣き出したぞw
- 153 名前:デフォルトの名無しさん [2007/05/13(日) 18:49:30 ]
- コンパイラに頼りっきりのアホと言われて傷ついたらしい
どうせロクなもん作れねえんだから黙ってりゃいいのに
- 154 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 18:54:34 ]
- まあCPUのアーキテクチャが大幅に変わることはないんだろうけどCPU依存の
コードってのは関心しないなー。 コンパイラで書くか、カーネルから全部自分で書くか。
- 155 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 19:00:19 ]
- 無理だべ
Run Anywhereみてえなラクは WindowsにしろLinuxにしろ、モロ依存しておる
- 156 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 19:07:27 ]
- 素直にコンパイラで書け。
- 157 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 20:33:40 ]
- まあ、必要ない人にはいらないよな
その辺に技術者としての境界が存在してきて 棲み分けできていいけど
- 158 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 21:06:27 ]
- アセンブラか……
フェードイン、フェードアウト効果をMMX命令で実装するために 本に載ってたサンプルを意味も分からずにパクッた思い出くらいしかない
- 159 名前:デフォルトの名無しさん [2007/05/13(日) 21:53:27 ]
- このスレも役目は終わってるよね
- 160 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 21:57:03 ]
- アプリ開発にはいらないだろうな
ミドル以下なら知ってると知らないで差がでるけど
- 161 名前:デフォルトの名無しさん [2007/05/13(日) 22:13:46 ]
- >>160
差が出るどころか、話にならないんじゃね? そういう分野に携わるなら低水準の基礎知識くらい身につけておけと
- 162 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 22:43:47 ]
- コンピュータのごく表層しか知らない奴は>>159みたいなことをさらっといってのけるから怖い
- 163 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 22:49:52 ]
- ワンチップとかだとアセンブラの知識は必須だね。
ついでに回路も読めないとやばいが。
- 164 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 00:36:50 ]
- だいたいさ
ゲームのシェーダは高級言語で書けるようになったが、 CPUは依然としてアセンブラしか受け付けない。 ゲームではまだまだ必須。
- 165 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 02:29:15 ]
- それはファーム以下の動作部分を書く場合だろ。
通常のアプリケーションにアセンブラなんて必要ない、非生産的。
- 166 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 02:41:41 ]
- なんでもかんでも汗んぶらで書くのは愚の骨頂だが
アーキについて知ってるかどうかは重要。
- 167 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 02:50:19 ]
- そりゃそうだな。んでもインテルはほとんど変わってないし。
肝心のタスク制御(ディスパッチャ)の部分はユーザーが書けないし。 昔の世代は自分で書けるチャンスがあったけど今の世代はほぼ絶望的。 忘れたほうがいい。
- 168 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 08:14:11 ]
- んなこたーない
- 169 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 21:35:56 ]
- 世の中には16進数でプログラム書ける奴もいるんだな
この前リアルで見たんだが人間とは思えん
- 170 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 21:43:56 ]
- いるだろwwww常識的に考えて。
- 171 名前:デフォルトの名無しさん [2007/05/14(月) 22:02:02 ]
- 車なんかアセンブラでないといかんのだぜ
もはやキャブレターの時代じゃねえんだ
- 172 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 05:09:10 ]
- >169
そりゃ、アセンブリ言語が出来る前は皆そうしてたワケだからな。 つーか、アセンブリ言語自体、最初は 機械語を解りやすく記述する為の単なる表記法だったかと。 『アセンブリ言語を機械語に翻訳する作業も コンピュータに任せればいいじゃないか!』 という発想に最初に行き着いたヤツは凄いと思う
- 173 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 05:22:10 ]
- アセンブリ言語が出来た当初はハンドアセンブルだからね。
凄い時代だ。
- 174 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 05:39:56 ]
- 2chのレスもコンピュータに任せても充分やってけると思う
- 175 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:08:38 ]
- 今思うとプログラムを書いてというより
直接動かしてたって方がしっくりくるな
- 176 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 08:28:24 ]
- 直接はあんまりやりたくないなぁ。
コーディングシートにアセンブリ言語で書き込んでから機械語に手動翻訳ならできるけど。
- 177 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 08:31:37 ]
- ああ昔の人はいいなあ
そんな話聞いてるとめちゃくちゃ興奮するぜ
- 178 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 08:42:20 ]
- 今でもやろうと思えばマシン語直書きのプログラムは作れるぜ!
- 179 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 10:57:55 ]
- EX-80だかのエミュレータアプリがあったよね。あれでぽちぽちやるのもいいんでない?
- 180 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 21:21:02 ]
- あの当時は、できることも少なかったので
何とか対応表を見て、手でマシン語にすることもできた。 命令機能なんざ四則演算しかなかったし
- 181 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 00:02:37 ]
- あの当時に四則演算 (ようは、乗除算) なんかできる奴なんてあったか?
まあ、ミニコンとかでμプログラム書けるマシンなら何でもありだが...。
- 182 名前:デフォルトの名無しさん [2007/05/16(水) 00:20:36 ]
- AND OR XOR NOT
- 183 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 17:11:02 ]
- レイテンシとスループットの違いって何なのですか?
ttp://homepage1.nifty.com/herumi/adv/adv01.htmlには > スループットとは命令が実行されてから次の命令が実行出来るまでのclk数 > レイテンシとは命令が実行されてからその結果を利用できるようになるまでのclk数のことです. とあるのですが、分かったような分からないような感じでいまいち納得がいきません。 例えば mul eax, ecx 命令なら 実行ユニットで乗算そのものを実行するクロック数と その結果がeaxに入るクロック数は幾分違うと言うことなのでしょうか? 基本的なことなのですが、どうかよろしくお願いします。
- 184 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 18:01:12 ]
- スループットとは、全体的な出力性能
レイテンシとは、そのデバイス内部の処理にかかる待ち時間
- 185 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 18:24:27 ]
- 1つの入力に対して何時如何なるどんな時でも1クロックで終わるならいいが、
ある処理には2サイクル3サイクル、もしくはそれ以上かかることもあるだろう その、モタモタしてる時間をレイテンシと呼ぶんじゃないの。 スループットは、それら含めて「処理が完了した後」の性能を示すものだろ。 乗算完了までにかかるクロックが1なら、レイテンシは無し。 1クロックより短い単位で処理は終われないので、基準が1だから 1クロックよりも多くかかるなら、そのかかった分がレイテンシ。 レイテンシ含めて処理が終わった後に見て、 この操作を終えるまでにどれくらいかかるかを指すのがスループット。
- 186 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 18:27:29 ]
- 何言ってるのかわからねぇw
ガンダムでも飛び立ちそうだ
- 187 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 19:15:04 ]
- XXX eax, ebx
が4クロックかかるならレイテンシは3。 XXX の処理後、eax が使えるようになるまでの時間がスループット。 と言ってるように見える。
- 188 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 20:20:27 ]
- ふつー、レイテンシよりスループットの方が小さくない?
- 189 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 20:27:43 ]
- >>183
レイテンシー: latency latent (潜伏期間) の名詞形の意味からわかるように、病気にかかってから 症状があらわれるまでの期間。 スループット: throughput 一定時間に処理される情報量 要するに、レイテンシーは命令を実行し始めてから結果が出るまでの時間。 スループットは一定時間内に処理される量。 一つのコアが逐次処理するならレイテンシーとスループットは相似関係に あるけど、デュアルコアにするとレイテンシーが変わらなくてもスループッ トは (理想的には) 2倍になる。 もしくは、「このプロセサはパイプラインが深いからレイテンシーは大きい けどスループットは高い」とか言ったりする。
- 190 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 22:24:34 ]
- スループットは成果だからな
アウトプットと同じような意味。 慣れた人が3秒で作業を終わらして1コ作り上げたら レイテンシ3秒、スループット1。 不慣れな人が50秒で作業を終わらして1コ作り上げたらレイテンシ50秒、スループット1。 単一のシチュで見ると、スループットが変わらないようだが これを連続で行うと差がどーんと出てくる。 スループットとは、成果と最初にも言ったように 成果を比較できる「条件」が不可欠。 1時間後なら、スループットにも差が出てくると言うこと。
- 191 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 23:16:49 ]
- パイプライン処理って知ってる?
工場で物作るときに、一つのラインを複数の人間で作業するアレ。 レイテンシって言うのは、パイプラインの先頭からパイプラインの終了まででかかる時間。 スループットは単位時間につき1。 (CPU の場合は単位時間は概ねクロック) ただし、パイプラインは止まることがあるので必ずしもスループット1は達成できない。 複数のパイプラインを用意すれば、スループットは1を超える。
- 192 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 23:19:24 ]
- アセンブリに興味もった俺にはこのスレはめちゃ助かる
アドレナリンが湧いてくるな・・・
- 193 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 23:52:24 ]
- >>190
おいおい、人の説明無視していいかげんなこと書くなよ。 スループットは「単位時間あたりの成果」だよ。 あんたの例だと、慣れた人のスループットは 1/3 [個/秒] で、 不慣れな人のスループットは 1/50 [個/秒] だよ。 これは、連続でやっても同じ。 そこで作業を 50個の工程に分けて、各々の工程を 50人の不慣れな奴に任せると、 1つの工程には1秒ずつかかるから、やっぱり作業を終わるには 50秒かかる。 (つまり、レイテンシーは 50秒のまま) でも、最初の人は1秒後には2個目の作業にかかれる。同じように 50人が1秒に 1つ作業ができるので、連続して作業していると1秒に1個物ができる。 つまり、レイテンシーは 50秒のままでスループットは 1 [個/秒] に改善する。 これが、T型フォードから伝わるパイプライン処理だ。(w
- 194 名前:デフォルトの名無しさん [2007/05/20(日) 00:15:54 ]
- WindowsでGAS使いたいけど、どうすればいいのでしょう?
asm文書いてコンパイルしてもエラーになってしまいます。
- 195 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 00:23:55 ]
- gas構文キライ
- 196 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 00:46:18 ]
- お前の好き嫌いはどうでもいい
- 197 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 01:05:22 ]
- >どうすればいいのでしょう?
エラーが出ないように書き直しましょう。
- 198 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 06:41:21 ]
- MinGW 使え。
- 199 名前:デフォルトの名無しさん [2007/05/20(日) 12:21:49 ]
- 下のスレにて質問したのですが誘導されてきました
Cygwin + MinGW + GCC 相談室 Part 3 pc11.2ch.net/test/read.cgi/tech/1177944767/l50 アセンブラにて .global hoge .type hoge, @function という書き方があるのですが、.type以降の意味はなんでしょうか?
- 200 名前:デフォルトの名無しさん [2007/05/20(日) 18:02:45 ]
- おいおい、誰もパイプラインや並列処理を考慮しろとか書いてないんだよw
しかも大間違いだしw レイテンシとスループットの概念さえわかればいい。
- 201 名前:デフォルトの名無しさん [2007/05/20(日) 18:11:57 ]
- 50秒ごとに1個出てくる工場と
3秒ごとに1個出てくる工場 これで、1時間で出荷量に差がつかないと思ってるド素人は失せろ。 邪魔。
- 202 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 23:57:31 ]
- T型フォードでワラタ。
そうするとさしずめエンジンつける工程と座席つける工程が標準工程では エンジン→座席になっているが、座席取り付けを先にできる時間ができたので 現場で順序逆にして対応 がアウトオブオーダ実行で、 統計的に黒色フォードT型の方が赤色よりもはるかに多く作られるので 色指定の情報が届く前に黒ペンキで塗り始めておき、もし赤色指定が おっつけ来たらそれは在庫に戻して赤ペンキ塗りだす のが分岐予測、そして、 焼付け塗装やさび止め工程はパーツごとにやっていたのだけど、これを 改めて、塗装対象を一つのプレートにのせて一回の塗装処理で全部塗って しまうことにした のがSIMDということになるか。
- 203 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 18:56:03 ]
- もうこれでいいよ
ttp://nest.0xff.biz/column/tech_cpu/src.html
- 204 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 23:41:19 ]
- >>202
T型フォードは黒単色にすることでコストダウンしてたわけなので、 赤色指定なんかきたら割り込みルーチンレベルの対応になるだろうな。
- 205 名前:デフォルトの名無しさん [2007/05/24(木) 21:27:12 ]
- レジスタの中の数値が
12345678となってるのを 78563412と変換したいんですがどうやればいいですか?
- 206 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 21:28:45 ]
- Intel 系なら bswap でいけるけど。
- 207 名前:デフォルトの名無しさん [2007/05/24(木) 21:38:16 ]
- うわーなんて便利なモノがあったんですね。
聞いてよかった。ありがとうございます。
- 208 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 22:22:12 ]
- bswap は少しコスト高いけど、乗算とかに比べればマシやね。
ビット演算でやった方が速かったりするのかどうかは、俺には分かんね。
- 209 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 22:29:52 ]
- rgbaとbgraとで変換するのによく使う。
- 210 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 22:34:44 ]
- ビットシフトとかローテイトとかも
and とかに比べればコスト高いし、 多分 bswap が最速なんじゃないかね。 知らんけど。
- 211 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 00:56:40 ]
- 便利な関数使うのは自分で同じ機能を実現できたときだけ
そうでないと最適化ができないしポーティングができなくなる
- 212 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 01:01:53 ]
- 誤爆?
- 213 名前:デフォルトの名無しさん mailto:sage [2007/05/29(火) 07:20:31 ]
- pc11.2ch.net/test/read.cgi/jisaku/1179911252/
上記スレで強制NaNの計算でインテル不利にするベンチが論争を呼んでますが 極端にAMD不利にする方法を探しています。 では。
- 214 名前:デフォルトの名無しさん [2007/06/14(木) 06:38:32 ]
- あげ
- 215 名前:デフォルトの名無しさん [2007/06/17(日) 03:25:40 ]
-
俺、Javaプログラマだけど、Cよりもアセンブリのほうが楽しそう 変か?
- 216 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 03:30:02 ]
- >215
うんにゃ
|

|