[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 05/21 00:12 / Filesize : 204 KB / Number-of Response : 981
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

アセンブラ… ( ゚д゚)ウッウー



1 名前:デフォルトの名無しさん [2007/03/25(日) 21:19:33 ]
アセンブラ全般に関するスレッドです。

【前スレ】
アセンブラ… (゜□゜) ↑アッー!↓
pc11.2ch.net/test/read.cgi/tech/1148402614/


294 名前:デフォルトの名無しさん mailto:sage [2007/07/07(土) 12:45:36 ]
>>283
こんな小さな例でもこれだけ違うんだけど^^
アセンブラの方はもっと簡単にはなるけど、CやC#以上に簡単になるのかい?

// int array[] = {...};
// int array_size = sizeof(array) / sizeof(array[0]);

// C#
int count = 0;
foreach (int x in array) count += x;
Console.WriteLine(count);

// C
int i, count = 0;
for (i = 0; i < array_size; ++i) count += array[i];
printf("%d\n", count);

// x86アセンブラ
xor edx, edx ; count
xor ecx, ecx ; i
lea ebx, array ; array
loop1:
lea eax, [ebx + ecx * 4]
add edx, [eax]
inc ecx
cmp ecx, array_size
jb loop1
push edx
push offset string "%d\n"
call dword ptr [printf]
add esp, 8

295 名前:デフォルトの名無しさん mailto:sage [2007/07/07(土) 14:21:24 ]
>>294
一言、「あ、そういえばセガサターンで動かすことになったから。先月決まってる確定事項だから」で最後の奴はドカーン!じゃん?


296 名前:デフォルトの名無しさん mailto:sage [2007/07/07(土) 14:37:10 ]
マジレス。
ドターソなんかにプラットフォーム変更になったらいろいろ作り直しだし。

297 名前:デフォルトの名無しさん [2007/07/07(土) 23:22:47 ]
mov が move に変わったくらいでグダグダいう無能がいたなあ

んなもん、ティックストゥエディトァ(英語は発音大事)開いて
置換すりゃ数秒で終わる。

298 名前:デフォルトの名無しさん mailto:sage [2007/07/07(土) 23:27:45 ]
Tcl/Tk スレに居た人か
元気?

299 名前:デフォルトの名無しさん mailto:sage [2007/07/07(土) 23:29:49 ]
プリプロセッサ使えよ

300 名前:デフォルトの名無しさん mailto:sage [2007/07/07(土) 23:37:36 ]
Cプリプロセッサは上手く使えば強力な痴漢ツールだよな

301 名前:デフォルトの名無しさん mailto:sage [2007/07/07(土) 23:49:00 ]
だが大抵、数年後に後任がカオスな状況に追い込まれる。

302 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 02:00:40 ]
>>294
べつにアセンブラが C / C# 以上に簡単になるなんて書いてないんだけど、
なんか俺には見えないものが勝手に見通せる人ですか? (w

アセンブラわかってる人が見れば、そのアセンブラのコードを保守するのは
そんなに大変じゃないだろ?



303 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 02:08:30 ]
アセンブラは難しい
アセンブラコードは可読性が悪い



これ、思い込みだろ
ロクにやったこともないアホが、他のアホの嘘を信じ込んだだけと言う

304 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 02:12:52 ]
>>302
保守性=ソースが単純で短い程上がる
ってのは間違ってるのか?
少なくとも13行のソースよりは3行のソースの方が保守しやすいんじゃね?
(7行プログラミングとか、そういうのは除く)

>>294ではたったこれだけのソースでも
こんなに差が出てくるってことをいいたかったんだよ。
大規模なアプリになったらどれだけの差が出てくると思う?

305 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 02:16:08 ]
例が悪いな
この程度なら保守性をうんぬんするレベルだとは思わんだろう
アセンブラに慣れてる人ならな

あと、大規模アプリにアセンブラを使うようなアホもおらんだろう

306 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 02:19:43 ]
>>305
オープンソースにある大規模なアセンブラの例をあげた方がよかったの?
あくまで例えだからね。
そのくらい察してくれw

> あと、大規模アプリにアセンブラを使うようなアホもおらんだろう
その理由は?

307 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 02:38:29 ]
変数のレジスタへの割り付けとか、名前空間の管理とか、現代人がコンパイラに任せる様な処理を
いちいち手動で行わないといけないのは保守性悪いと思うけど

308 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 03:00:18 ]
大規模開発でアセンブラを使う理由?
Lattice C は1ライセンス20万もするし、PTOS上で動かないから。

309 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 03:06:31 ]
とかいうのはまぁ置いといて。

大規模になると、細かい部分の可読性よりも、モジュールとかパッケージ
のような単位がしっかり設計・実装されてて、互いのインターフェイスが解りやい
とかいう方が大事になるのは、皆様ご存知の通り。
アセンブラはそこまで手作業でやらなくちゃいかんのも、皆様ご存知の通り。

で、このあたりについて議論の余地はあるのでしょうか?


310 名前:デフォルトの名無しさん [2007/07/08(日) 03:07:59 ]
アセンブラでの最適化が出来ない素人が言っていいことじゃないんだよな


素人に限って、「コンパイラのほうが速い」とか証拠も挙げずに知ったかをする。


311 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 03:33:05 ]
>>306
>> あと、大規模アプリにアセンブラを使うようなアホもおらんだろう
> その理由は?

生産性が悪い。
人手が揃わん。

>>307
それ生産性じゃね?

>>309
> アセンブラはそこまで手作業でやらなくちゃいかんのも、皆様ご存知の通り。

C# とかだと、「モジュールとかパッケージのような単位がしっかり設計」が
自動的にできるわけ?

312 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 03:41:48 ]
>>310
こっちでは、多少の速度の違いは気にしない世界になってからしばらく経つよ



313 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 05:52:14 ]
>C# とかだと、「モジュールとかパッケージのような単位がしっかり設計」が
>自動的にできるわけ?
設計だけ抜き出してC#を出さないと破綻するのか?

314 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 09:41:23 ]
なんか言いたいんだろうけど、主語がないから何を言いたいのか意味不明。

ドキュメントをきちんと書く癖をつけてない奴にありがちなレスだな >>313

315 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 11:12:49 ]
>>308
それ組み込みの話?
そんなにマイナーな業界の話をされても^^

ところで、ゲーム業界やPC業界でアセンブラがほとんど消えた理由は?

316 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 12:06:00 ]
>>315
高級言語の台頭で、アセンブラが理解できない馬鹿でもプログラミングが習得できるようになったから。

317 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 12:15:00 ]
>>316
いや、それは無いよ。
少なくともゲーム業界なら技術的にはアセンブラでいけるはず。

318 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 12:58:36 ]
「アセンブラでいける」

なんの関係もないぞ

「アセンブラが理解できない馬鹿でもプログラミングが」



319 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 12:59:00 ]
>>314
ただ煽るのが目的のやつは、丁寧に説明されないと理解できない例だな
レス2つ遡るくらいの事が出来ないのだろうか??

320 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 13:00:53 ]
>>315
PTOS でぐぐってみるべし。

321 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 13:51:03 ]
>>319
で、丁寧に説明なんかできないんだろ? (w

322 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 13:59:59 ]
文章の一部を抜き出した上に、相手が出していない条件を付け加えて
もとのレスの意味を捻じ曲げてからそこに突っ込みいれるような、
つまり、相手が書いていない事にたいして煽りを入れるようなマネをしない
っていう事なら、丁寧に説明してもいいが?



323 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 14:18:53 ]
了解。

丁寧に説明してみて。

324 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 14:20:02 ]
>>316
そそ。高級言語の方がアセンブラよりも理解しやすい。
ついでにいうと保守しやすいし生産性も上がるからやね。

325 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 16:12:30 ]
FORTRAN出現以前のスレがあると聞いて飛んできますた

326 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 16:29:05 ]
コンパイル時評価のネタでCマクロは良く出てくるのに
C++テンプレートはあまり出てこないのは何ででしょうか?

327 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 16:33:16 ]
君のレベルがそこでとどまってるから

328 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 16:57:44 ]
電気で考えられる奴はHDLを使う。
論理で考えられる奴はアセンブラを使う。
手順で考えられる奴はC言語を使う。
機能で考えられる奴はUMLを使う。
収支で考えられる奴はSASを使う。
何も考えられない奴は日本語を使う。

329 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 16:59:50 ]
>>328
UML だけは、使っても何も起こらないなw

330 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 17:59:37 ]
UMLはジェネレータでソースを出さないと始まらないね。

331 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 18:57:39 ]
>>328
(-1:フレームのもと)

332 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 19:03:32 ]
(+1:オフトピが好き)



333 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 19:11:03 ]
333

334 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 19:50:35 ]
日本語が一番難しい

335 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 20:56:04 ]
このスレに日本語を使いこなせてる奴いないもんな

336 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 21:31:49 ]
>>335 使いこなせていない具体例としては、よく出来ていますね。

337 名前:デフォルトの名無しさん [2007/07/11(水) 20:35:15 ]
ゲームの世界はいまだにアセンブラの使用頻度は多い
D3D8.1、OpenGL1.4まではシェーダといえばアセンブラだったし
家庭用は家庭用で、とにかく限られたハード性能を絞るためにアセンブラ必須

360なんかは、なぜか知らないが高級言語の開発環境が整っているとか勘違いされてるが
360の最大のメリットは、カーマックも言ってるようにハードの相当の部分に直アクセスできること。
なので、こちらはアセンブラ必須。
ただでさえ低性能なハードなのだからこれで性能を少しでも増してやらないととても開発できない。

PS3はPS3で新しいCPUを使っているのでこれもアセンブラ必須。

338 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 21:26:28 ]
環境非依存なアセンブリコードを書きたい

339 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 22:02:59 ]
>>338
えみゅ

340 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 23:21:48 ]
エミュレータ用アセンブラで書けば移植性完璧なアセンブラだな・・・それなんてJVM/bytecode/CLR/MSIL?


341 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 00:32:18 ]
ていうか、移植するような案件ほとんどないうえに

例えば
x86 -> PowerPC としても
これそんなに難しくないし。
SSEは切り捨ててしまえばよい。




342 名前:・∀・)っ-○◎● mailto:sage [2007/07/12(木) 00:38:02 ]
アセンブラでCGI書くやついる?(愛甲健二氏除く)



343 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 10:34:21 ]
CGIをアセンブラで書くような状況なら先にサーバの方に手を入れるだろ

344 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 12:34:00 ]
どうでもいいような部分の高速化のために
無駄な努力をする人がいるのですよ。


345 名前:デフォルトの名無しさん [2007/07/12(木) 23:24:15 ]
不思議なのは、

プログラムを自在に出来るようになるためには時間と労力を惜しむな

というのに、

アセンブラのことに「限って」無駄と言う



ワケがわからんダブルスタンダードだ。

346 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 23:34:43 ]
まあ実際無駄だからな。知識としては必須だし、役立つ局面も勿論あるが、
特に制約も条件もないのに回り道するのは意味の無い事だ。
趣味なら別だけどね。

347 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 23:35:35 ]
別にアセンブラに「限って」ないと思うけど。

いまから FORTRAN-II とか ALGOL-60 とかやりたいと言えば、
大抵の人は「何でそんな無駄なことを」って言うだろ。

348 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 23:42:07 ]
C
mo
muda


349 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 00:56:07 ]
自分がやる1つ下(と上)のレベルまでやるのが常識だろ


350 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 00:56:19 ]
Programming
ga
muda

351 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 01:09:48 ]
Master-Slave model

352 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 09:58:54 ]
多少のパフォーマンスの悪さに目をつぶっても、同じ手間ならより安全なプログラムを書きたい
と思う人も多いのだ。



353 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 21:21:07 ]
処理が遅いなら、速いCPUに変えちゃえばいいって理屈も、
最近はHDDやネットの応答速度の方がボトルネックになっているから無意味だし。

354 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 21:24:04 ]
あるサーバーのパフォーマンス調べたら、CPU使用率平均5%だった。
でも、すんごい遅いんですけど。どこが無駄飯食ってるのかね?

355 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 21:28:20 ]
その程度の情報で分かったらエスパー

356 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 21:38:47 ]
>>354
そのへん設計したSE


357 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 22:14:56 ]
遅いのはブラウザ側でJavaScriptでとんでもない処理をしてるとか

358 名前:・∀・)っ-○◎● mailto:sage [2007/07/13(金) 22:56:32 ]
たいがいディスクI/O。

359 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 00:04:37 ]
六供町とか

360 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 01:38:57 ]
> どこが無駄飯食ってるのかね?

お前じゃね?

361 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 02:03:01 ]
>>354
単に負荷が少ないだけじゃないの
オンライン系のピーク時で5%なら投資対効果は悪いかもね
一般的なサーバの CPU 使用率は平均で 20% 程度だという
統計もあるそうだ

362 名前:雑誌の受け売りしただけだと思うが。 mailto:sage [2007/07/14(土) 09:18:29 ]
> 単に負荷が少ないだけじゃないの

日本語理解できてない奴がいるな...

>>354 > でも、すんごい遅いんですけど。



363 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 10:20:13 ]
ネットワーク
タイムアウト


364 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 10:59:04 ]
>>362
ボトルネックの調べ方もわからない奴がなんでこのスレに居るんだろう。
まさしく>>360の言う通りか…

365 名前:>>362, そもそも >>360 も俺だし。 mailto:sage [2007/07/14(土) 11:05:59 ]
で、君は >>354 の書き込みだけでボトルネックが調べられるとでも?

て言うか、そもそも >>361 の書き込み自体がボトルネックと関係ないし。

バカ?

366 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 12:20:09 ]
熱くなるのはCPUだけでいい

367 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 12:41:16 ]
まあ、結局どうしようもないくらい周囲が遅いのでアセンブラで書いても意味が無いって事だけは分かった。

368 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 12:45:45 ]
>>366
目頭が熱くなった

369 名前:デフォルトの名無しさん [2007/07/14(土) 15:45:53 ]
ハードウェアを知ることは無駄と言うが、
ハードウェアも知らずにプログラムとは笑わせる。

370 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 15:51:40 ]
だれも言ってないとおもうぞ。

371 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 16:00:22 ]
>>365
そんなに必死になる事でもないだろ。
煽りを入れないと文章書けない人か?

372 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 16:07:10 ]
>>354
回線のボトルネックを疑うだろ普通



373 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 16:08:50 ]
>>365
そんなお前でも童貞じゃないんだろうなぁと思うと自分が悲しくなってくる。
俺いつまで童貞なんだろう。

374 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 16:15:50 ]
CPU が 20 個あるのにプロセスが 1 個しか上がってないのかもしれない

375 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 16:19:50 ]
プロセスつーかネイティブスレッドか

376 名前:・∀・)っ-○◎● mailto:sage [2007/07/14(土) 16:20:54 ]
リソースに余裕があるなら仮想化したら?
あとRailsとかの重量級フレームワーク使えばけっこう食ってくれるはず

377 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 16:22:12 ]
Sleepやらアイドルの間隔が長いコードかもしれない。

378 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 18:53:18 ]
つーかこの問題のどこにアセンブラが関係しているのだろう・・・

379 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 22:01:59 ]
アセンブラでCGI書いてたりするんじゃないの?知らないけど。

380 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 22:13:18 ]
各CPUごとにアセンブラコードを最適化したい場合、
いったいどうやってやればいいんですか?
IntelとAMDだと速度が出るコードの傾向がちょっと違いますし、
Intelのなかでもいろいろありますよね。
各CPUのPCを何台も用意して、試行錯誤繰り返すしかないんでしょうか?

381 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 22:33:47 ]
>>380
最適化出来たかどうかを試すのには、結局各 CPU の PC を何台も用意して
確認する必要があるでしょ。机上で試したいなら CPU ベンダーがシミュレータを
作っている場合もあるけど。

382 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 22:39:04 ]
アセンブラに置き換える前に、アルゴリズムを見直した方が良い結果が得られる。



383 名前:・∀・)っ-○◎● mailto:sage [2007/07/14(土) 22:52:21 ]
SSEを使える(並列化できる)部分を見つけてまずそこを置き換える

コーディングのお供はAgnerのドキュメントかな。
疲れるだけだから、無駄に机上試験なんてやらない。




384 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 22:56:12 ]
そんな限定された話題だったのか?

385 名前:・∀・)っ-○◎● mailto:sage [2007/07/14(土) 23:04:03 ]
さあ、4倍とか8倍とかになり得るのはSSE使ったときくらいじゃないの?
今時のx86向けのC/C++コンパイラは優秀だしCPU側にOoOもあるから、
ただアセンブリコードに置き換えるだけじゃそんなに速くならんよ。



386 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 23:18:33 ]
2倍くらいなら命令順を工夫すれば・・・って、
その程度ならコンパイラが頑張ってくれるか?

387 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 23:26:43 ]
誰も4倍とか8倍なんて言ってないと思うが…

388 名前:・∀・)っ-○◎● mailto:sage [2007/07/14(土) 23:49:20 ]
逆に、差が出ないのに処理わけする意味なんてないでしょ
1.x倍程度ならわざわざ手間はかけないでしょ。



まあ確かにCPUによっては

sh; eax. 3

よりも

add eax. eax
add eax. eax
add eax. eax

のほうが速かったりするけどさ、一般的なコードのシーケンスの中では
そんなに差は出ないことのほうが多い

389 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 23:56:56 ]
CPUの中でも分岐予測などの最適化が行われるから?

390 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 00:02:40 ]
>>388
それは要件次第じゃないの。50% 速くなったら、それはそれで嬉しいと思うが。

391 名前:デフォルトの名無しさん [2007/07/15(日) 00:17:16 ]
リヌァックスでは、SSE1〜4最適化しないAltivec最適化しない
という最適化一切なし状態ではCore2はPPC970の足元にも及ばない。

SSE3最適化あり
Altivec最適化なし
こうすると、2倍くらい早くなる。

392 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 00:23:22 ]
>>391
SIMD 使うアプリなんて殆ど無い



393 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 00:23:32 ]
なにそのおいしそうな西洋菓子みたいなOS

394 名前:・∀・)っ-○◎● mailto:sage [2007/07/15(日) 00:31:02 ]
AltiVec最適化ありの場合は?w
性能によっちゃiMacG5の中古良品を確保しておくんだが。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<204KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef