[表示 : 全て 最新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/


2 名前:デフォルトの名無しさん [2007/03/25(日) 21:20:10 ]
【過去ログ】
アセンブラ… (゜□゜) ↑アッー!↓ (Part10)
pc11.2ch.net/test/read.cgi/tech/1148402614/
アセンブラ… (0w0)ウェーイ (Part9)
pc8.2ch.net/test/read.cgi/tech/1115188369/
アセンブラ… (´・∀・`)ヘー (Part8)
pc8.2ch.net/test/read.cgi/tech/1101390110/
アセンブラ… (°Д°)ハァ? (Part7)
pc5.2ch.net/test/read.cgi/tech/1093519463/
アセンブラ… (;´Д`) ハァハァ (Part6)
pc5.2ch.net/test/read.cgi/tech/1087897801/
アセンブラ… (*´д`*)アハァ… (Part5)
pc5.2ch.net/test/read.cgi/tech/1076157613/
アセンブラ… (゚д゚)ウマー (Part4)
pc2.2ch.net/test/read.cgi/tech/1060928704/
アセンブラヽ(`Д´)ノモルァ (Part3)
pc2.2ch.net/tech/kako/1040/10402/1040297337.html
アセンブラヽ(`Д´)ノモルァ (Part2)
pc3.2ch.net/tech/kako/1016/10169/1016991911.html
アセンブラ… (・∀・)イイ! (Part1)
pc.2ch.net/tech/kako/1002/10022/1002267809.html

3 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 21:23:26 ]
>>1
( ゚д゚)ウッウー

4 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 12:07:04 ]
>>1
( ゚д゚)モルスァ

5 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 16:11:54 ]
>>1
( ゚д゚)乙ッウー

6 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 16:37:26 ]
>>1
( ゚д゚)ウェーゐ

7 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 23:34:34 ]
nop

8 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 12:07:50 ]
mulをimulで置き換えたいんだけど、
どんなときできるのか誰か教えて
ってか、この二つはいったい何が違うだけろ〜?

9 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 12:08:56 ]
>>8
そもそも石はなんだ?

10 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 12:39:57 ]
>>9
おっと失礼
x86系です^^



11 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 14:06:11 ]
mulは無符号整数乗算
imulは負数も扱える
mulはimulと同じように扱えるわけではなくて、imulの方がアドレッシングモードが柔軟
ほかにもフラグレジスタの変化も微妙に違うので注意

てか、これをみるのが確実
download.intel.com/jp/developer/jpdoc/IA32_Arh_Dev_Man_Vol2A_i.pdf

12 名前:8 mailto:sage [2007/03/29(木) 15:23:28 ]
おお! わざわざ資料まで!
ありがとうございました。

13 名前:デフォルトの名無しさん [2007/04/02(月) 01:08:06 ]
そんなことよりdivをmulに置き換えるアレ考えた奴凄くね?

14 名前:デフォルトの名無しさん [2007/04/02(月) 01:14:23 ]
( ゚д゚)ウッウー

15 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 01:17:04 ]
>>9見て石ってなんだ?って思ったが、トランジスタの事か。

16 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 01:26:17 ]
>>13
俺も昔それを思いついたことがある。たしかグレイスケールの計算だった。

G = (int)(r*0.30 + g*0.59 + b*0.11);

これだと浮動小数点計算が入ってもっさりしているので

G = (r*30 + g*59 + b*11) / 100;

このように整数演算に最適化。これでも自分的には除算が許せなかったので

G = (r*77 + g*151 + b*28) / 256;

と変形して除算を右シフトに置き換えてやった。
数年後、VCでこれとほぼ同様の最適化が自動的に施されるのを知って感心した。

17 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 01:34:39 ]
アドレス生成インターロックとかペアリングとか考えなければ20clockやそこらで計算できるな。
うまくやれば。

G = (r*77 + g*151 + b*28) / 256;

18 名前:デフォルトの名無しさん [2007/04/02(月) 02:18:27 ]
今はMMXとか使ってさらに効率よく計算できるんだよな。MMXとFPUを同時に
駆動できないと困るときはSSE2でも同じようなことできるし。

#付け焼き刃スマン

19 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 03:25:36 ]
MMXとFPUを同時に駆動すると重くてしょうがないから困るのであって、
同時に駆動せざるを得ないようなロジックは根本的に変えた方がいいと思う。

20 名前:デフォルトの名無しさん [2007/04/02(月) 08:17:44 ]
俺、アセンブラって実は簡単なんじゃないかと思うようになってきた

ステップ数は多いが頭の中でイメージングさえできれば難しいことないじゃないか



21 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 08:25:12 ]
わざわざあげて独り言ですかw

アセンブラそのものは簡単というかシンプルでしょそりゃ。
自転車が自動車の運転より簡単なように。
でも自転車で100km走破するのは車でするより簡単じゃないよ。

22 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 10:33:28 ]
簡単だけど、(心身両面の)持久力と全体を見通せる視野が必要な辺り、自転車とアセンブラは似ているかもしれない。

23 名前:2 [2007/04/02(月) 14:05:17 ]
過去ログに訂正あり・・・スマソ

【過去ログ】
アセンブラ… ヽ(゚∀゚)ノフォーウ! (Part10)
pc8.2ch.net/test/read.cgi/tech/1132761638/
アセンブラ… (0w0)ウェーイ (Part9)
pc8.2ch.net/test/read.cgi/tech/1115188369/
アセンブラ… (´・∀・`)ヘー (Part8)
pc8.2ch.net/test/read.cgi/tech/1101390110/
アセンブラ… (°Д°)ハァ? (Part7)
pc5.2ch.net/test/read.cgi/tech/1093519463/
アセンブラ… (;´Д`) ハァハァ (Part6)
pc5.2ch.net/test/read.cgi/tech/1087897801/
アセンブラ… (*´д`*)アハァ… (Part5)
pc5.2ch.net/test/read.cgi/tech/1076157613/
アセンブラ… (゚д゚)ウマー (Part4)
pc2.2ch.net/test/read.cgi/tech/1060928704/
アセンブラヽ(`Д´)ノモルァ (Part3)
pc2.2ch.net/tech/kako/1040/10402/1040297337.html
アセンブラヽ(`Д´)ノモルァ (Part2)
pc3.2ch.net/tech/kako/1016/10169/1016991911.html
アセンブラ… (・∀・)イイ! (Part1)
pc.2ch.net/tech/kako/1002/10022/1002267809.html

24 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 18:00:59 ]
>>16
まじで?
そこの式に出てくるような8ビット精度でやられるんだったらむしろ迷惑この上ないんだけど。

25 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 19:46:17 ]
それはイメージ図みたいな物で、実際のコードではない。肝心なところを手元で再現したもの。
ニュアンスだけならこれで十分かと思ったのだが、誤解があったようで、すまんかった。
VCの最適化はたしかedx:eaxの幅64ビットを目一杯使うはずなんで、信頼してやってくれ。

26 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 19:48:31 ]
あと一つ断っておくが、さすがのVCと云えども浮動小数点計算の整数化まではしないぞ。
俺が感心したのは整数除算の右シフト化の部分だ。レスの趣旨から読み取ってもらえるとは思うが。

27 名前:デフォルトの名無しさん [2007/04/04(水) 11:49:33 ]
しかし最近のアセンブリンガーは何やってるかわからなくなってきた。
最適化と称して俺のコードを台無しにする

28 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 13:00:16 ]
アセンブラが難しいとされたのってさ、アドレッシングが貧弱で、
レジスタも少なく、使いづらいセグメントがあったりする石を使って、
限られたメモリ資源内でやらなきゃならなかったりしたからじゃないかな。

29 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 13:41:40 ]
>>28
まあ確かに32個あると楽だけどな

30 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 13:53:45 ]
つまり、アセンブルはパズルなんだよ。
コップ一杯の水を、容量の異なるコップを移し変えて400mlと600mlに分けるには
みたいな発想力がある程度もとめられる。

それができない人間が嫌うだけで


神という文字を入れたいのに記憶容量が足りない
おおっとネと申に分けられるじゃないか、これで後から合わせれば神になるぞ、
ということに気づく人間と、気づかない人間

ここに、アセンブラできる奴とできない奴が別れるのだ



31 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 14:05:41 ]
アセンブラには、以前の日本が持っていた、
頭を働かせて出来る限り小さくまとめ、出来る限り高速に、出来る限り遠くへ、出来る限り豊かに
という、だいわ魂が宿っている、気がしてならない。

つまり、アセンブラを極めることは、かつての日本人が持っていた、
知恵というものを、取り戻すことであるといえるのではないか。

32 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 14:12:21 ]
31の意見も同意できないことはないが
俺はアセンブラは小さいものが好きな日本人をあらわしてる
と思う
アメリカ人は大きいものが好きだからオブジェクト指向なんだろうと思う

33 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 15:18:23 ]
折角の>31の高説も、「だいわ魂」で台無しだな。

34 名前:デフォルトの名無しさん [2007/04/04(水) 18:23:11 ]
gdbを使うと、なぜか実行開始時に必ず SIGTRAP で止まるんだけど、解決方法分かる人いる?


35 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 22:39:02 ]
友人に、メモリにほとんどアクセスせずにハチャメチャな方法でやってる香具師が居るんだが。

使用レジスタ
eax,ebx,ecx,edx,edi,esi,ebp,es,fs,gs,mmx

36 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 22:43:57 ]
> メモリにほとんどアクセスせずに

可能であれば、わざわざ糞遅いメモリなんぞにアクセスする必要はないだろ。

37 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 23:20:28 ]
限度があるぞw
それにキャッシュを意識して慎重に組めばそんなに気にならないもんだど

38 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 23:21:49 ]
書いた本人以外にメンテナンス困難なソースとか
見ると吐き気がしてくる。

39 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 23:39:15 ]
>使用レジスタ
>eax,ebx,ecx,edx,edi,esi,ebp,es,fs,gs,mmx
それなんてicc?

40 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 23:50:11 ]
なんつったってねicc



41 名前:デフォルトの名無しさん mailto:sage [2007/04/05(木) 02:05:08 ]
今、MMXを使って半透明合成を行う関数を書いています。
元画像1と元画像2を半透明合成して描画先に転送するという単純な仕様なのですが、
メモリアクセスがネックとなり、目標とする速度に達しませんでした。
そこで色々と実験してみたところ、うちのK6-2で、

 元画像1 + 元画像2 → 描画先

と処理するより、

 元画像2 → 描画先
 元画像1 + 描画先 → 描画先

としたほうが速くなることが分かりました。
単純に考えると、後者のほうがメモリアクセスも命令数も多く、遅くなるはずなので、
キャッシュが実行速度に大きく影響しているのだと思われます。

とは言うものの、私はアセンブリにはあまり詳しくなく、
どうすればキャッシュを効率よく利用できるのか分かりません。
特に、持っていないが動作環境に載っている底辺CPUでは実験もできず、
どんな方法でうまくキャッシュされるのか見当もつきません。

そこで質問なのですが、下記のソース
 sakuratan.ddo.jp/uploader/source/date36979.txt
のAB_START1におけるメモリアクセスを改善して、高速化することは可能でしょうか。
うまくキャッシュに乗れば、当然前者のほうが速いと思うのですが……。

42 名前:デフォルトの名無しさん mailto:sage [2007/04/06(金) 00:09:50 ]
まだソース見てないが、一度の計算ブロックで扱うメモリの量は64KBに抑えると
キャッシュに乗りやすかった気がする。

43 名前:デフォルトの名無しさん mailto:sage [2007/04/06(金) 09:48:03 ]
>>41
元画像1、元画像2、描画先の各先頭アドレスの下位14bitが
同じということはないよね?(800x600だからまずないだろうけど)
もし同じだと、K6-2 L1データキャッシュの2way set associativeの
制限に引っかかるかもしれないので。
それからK6-2といえば、Write AllocateのON/OFFを設定で変えられると思うけど、
ON/OFFどっちの設定での結果? 設定を変えると速度に変化はある?

それとここは間違いだよね
mov ebx, [src1] ;
mov ebx, [src2] ;

44 名前:デフォルトの名無しさん mailto:sage [2007/04/06(金) 10:30:46 ]
>>42
64kbですか……。
画像一枚あたり1.4MBもあるので、 収めるには分割すべきなんでしょうかね……。

>>43
下位14bitはまず一致しないはずです。
Write AllocateはONになっていたので、OFFに変えてみたところ、
 素直なブレンド : 85ms→35ms
 二段階のブレンド : 65ms→55ms
と、大幅に高速化しました。
これはキャッシュミスが頻発しているということなのでしょうか……?
あと、すみません、ご指摘のとおりsrc1のところはeaxのミスです。


45 名前:デフォルトの名無しさん [2007/04/06(金) 10:37:40 ]
Write Allocate は、ランダムライトでワリを喰う。

46 名前:42 mailto:sage [2007/04/06(金) 14:06:45 ]
他のプログラムで使ってる分とか、スタックとか機械語の命令とか全部含めて64kbな。
だからデータ読み込み系で32kb占有できればいい方かと。
書き込みはほぼ間違いなくヒットするから気にしなくてよかったはず。

デュアルコアCPUだと1次キャッシュが二つ乗ってる上に2次キャッシュがあるからもう少しキャッシュヒットすると思うけど。


47 名前:デフォルトの名無しさん mailto:sage [2007/04/06(金) 14:22:11 ]
>>46
ちゃんと理詰めで算出しろよ
キャッシュ機構によってサイズが違うぞ

48 名前:43 mailto:sage [2007/04/06(金) 14:45:50 ]
>>44
WA OFFによりメモリ読み込みが減って10msくらい速くなるというのはまだわかるけど、
素直なブレンドの方で50msも速くなるのは何でだろう?
何で素直なブレンドはWA ONで50msも遅くなるのか…。

WA ONの場合、元画像2(src2)または描画先(dest)のアドレスを8バイト〜数百バイトぐらい
ずらしてみても速度に変化はないですよね?

49 名前:42 mailto:sage [2007/04/06(金) 16:26:48 ]
>>47
算出が面倒になった。

>>48
ワカラネ。50msの溝についてだれか分かる人解説キボン

50 名前:デフォルトの名無しさん mailto:sage [2007/04/06(金) 17:59:31 ]
素直なブレンドで描写先に転送するとき。
WA OFFだと単にデータをメモリへ転送するだけで済むところを、
WA ONの場合は、まずメモリからキャッシュにロードを行い
そのキャッシュに書き込んでからメモリに転送する。

つまり、無駄なロードが大量に生じて、キャッシュも無駄に使うから遅い。
これは最近のCPUでも同様に遅い。movntqを使うと何倍も速くなったりする。
参考:
pc11.2ch.net/test/read.cgi/tech/1085749218/138

WA ONの二段階のブレンドで、65msと若干速いのは
無駄なロードを先に済ませちまうからかな?



51 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 00:33:56 ]
VISTAの64ビットでは__asmが使えないのは、本当なの?

52 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 01:18:18 ]
Vistaは関係ないが、64bitでインライン使えないのは本当。

53 名前:デフォルトの名無しさん [2007/04/07(土) 02:19:34 ]
>>52
64ビット環境のAPIフックするには1万ドル払ってDetours Professional 2.1っていうのを購入する必要があるみたいだね。
Microsoftって将来的には個人開発者を低レベルプログラミングから追い出すつもりなのかな?

54 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 02:24:57 ]
mov cr0,0
mov cr1,0
mov cr2,0
mov cr3,0


55 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 06:16:44 ]
>>54
(゚Д゚)

56 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 07:46:55 ]
ml64で我慢しとけ。

57 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 13:46:11 ]
>>54
最もやってみたいことだが、決してやってはいけないことだな。

cr系に即値って入れれたっけ?

58 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 14:19:20 ]
おまらに聞きたいんだが今からアセンブラを勉強するとしたら
どんな本が一番いいと思う?

59 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 14:28:09 ]
いまどきのアセンブラの教科書

60 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 16:21:52 ]
どんな本がとか言われてもな。
メーカが供給してるその石の仕様書があれば他には何にも要らないと思うが。



61 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 16:53:06 ]
>>58
アセンブラは、たとえばC言語のANSI Cみたいな業界標準がないから
「これ1冊でアセンブラを網羅」なんて教科書はない。

メジャーなアセンブラ(MASMなど)なら例外的に参考書が発行されている
こともあるが、原則的には>>60の言うCPUの仕様書とアセンブラのマニュアル見るしかない。

62 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 18:19:04 ]
>>59
どっちだよww

63 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 18:26:35 ]
>>59
d.hatena.ne.jp/yaneurao/20050602

64 名前:41 mailto:sage [2007/04/08(日) 00:06:43 ]
みなさん、どうもありがとうございます。
やはり書き込み時のキャッシュ問題ですか……。
K6-2や初代CeleronにはmovntqなどのSSE命令は実装されていないので、
その辺りでは今の二段階処理が現実的なのかもしれませんね……。
CPU別の切り替えも視野に入れて検討してみます。

65 名前:43 mailto:sage [2007/04/08(日) 08:59:02 ]
>>64
家にPentiumII266MHzがあるので計測してみました。
count=800*600*3/8
src1,src2,destは各800*600*3バイト
mov ebx, [src1] ; はeaxに修正しています。

PentiumII266MHz EDO-DRAM
 素直なブレンド : 36msくらい
 二段階のブレンド : 56〜57msくらい

P6はWrite AllocateをOFFにできないので、
Write Allocateが機能している状態での計測です。

66 名前:43 mailto:sage [2007/04/08(日) 09:24:41 ]
>>64
movntqが利用できないのであれば
destをNOCACHE領域にしてしまうとか。
VirtualAlloc(,MEM_COMMIT,PAGE_READWRITE|PAGE_NOCACHE)
で領域確保して、書き込み処理が終わったら
VirtualProtect(,PAGE_READWRITE,)
でCACHE可に属性変更する等。

67 名前:41 mailto:sage [2007/04/09(月) 21:58:55 ]
VirtualAllocでキャッシュの有無まで指定できるなんて、今まで知りませんでした。
K6-2で試してみたところ、WA ONでも、VirtualProtectを入れて40ms弱で素直なブレンドが実行できました。
これなら十分に使えそうです。
キャッシュをオフにしたことでPen4等では遅くなりましたが、
これは初回起動時にでも計測して保存しておけば切り分けられそうです。
どうもありがとうございます。

それにしても、Pen2ってそんなに速いんですね……。
Intel系のCPUは心配せずとも良いのかもしれません。

68 名前:デフォルトの名無しさん [2007/04/14(土) 18:50:56 ]
64bitOSではアセンブラ使えないのですか?

それともインラインが使えないだけ?

インラインどうしても使いたい場合の代替ってありますか。

69 名前:デフォルトの名無しさん mailto:エイトワンのファン [2007/04/14(土) 18:54:00 ]
島根県のみなさん、パチンコをするなら、

  優良パチンコ店 エイトワン

に行こう! 遠隔(※1)を絶対やってないのは「エイトワン」だけ!
違法ロム(※2)を絶対使ってないのも「エイトワン」だけ!
エイトワンでは、遠隔等が可能な設備は入れていません。 ロムも、警察がチェックしやすいようにしています。

詳しい方はご存知の通り、どんなにパチンコの遊戯人口が変動しても、その市場規模は変わりません(※3)。
要するに、客が減っても、残った客から絞り盗る量を増やして調整しているのです。
しかし、何故それが可能なのか?…ご理解頂けると思いますが、9割以上の店が確実に遠隔等を行ってます。
1万店以上の中でも、遠隔も違法ロムも確実にやってないのは「エイトワン」1店だけです!

※1…遠隔とは
 「お、あの客は新顔だな。勝たせて味を占めさせるか。遠隔操作で設定変更しよ」
 「客が減ってきたな。ま、設定を絞めて(1人あたりから)搾る量を増やせばいいか」
 「あのオヤジ負け続けてるからそろそろ辞めるかもな。今日は勝たせてやるか」

※2…違法ロムとは
 「うちのアタリ確率は、もちろん他と同じ『○○○分の1』ですよ!(ロムいじってるからウソだけど)」

※3       市場規模   遊戯人口
 平成06年 30兆4,780億円 2,930万人
 平成08年 30兆0,630億円 2,760万人
 平成10年 28兆0,570億円 1,980万人
 平成12年 28兆6,970億円 2,020万人
 平成14年 29兆2,250億円 2,170万人
 平成16年 29兆4,860億円 1,790万人

70 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 18:54:40 ]
モジュールとして、リンクするくらいしかない場合
それって速度の面でどうなの。





71 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 19:06:07 ]
>>68
よほど特殊なCPUで無い限り使える。
インライン?というのはCのことか何を言いたいのか不明。

>>70
中身というかその処理内容次第。

72 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 19:32:53 ]
>68
インライン?
このスレは、インラインアセンブラの「中のコード」については話せると思うが
「インラインアセンブラを使うには」という内容ならその処理系のスレで訊きな

73 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 19:44:26 ]
インラインアセンブラ使うとコンバイラがバグるよ

74 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 20:13:34 ]
CPUとかOSとかコンバイラ(笑)の具体的情報もないのに

>64bitOSではアセンブラ使えないのですか?それともインラインが使えないだけ?
>インラインアセンブラ使うとコンバイラがバグるよ

って会話が成立する摩訶不思議なスレはここですか^^

75 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 20:42:08 ]
アセンブリ言語で書く必要があるならインライン・アセンブラなんて中途半端なことせずにアセンブラ使え。
インライン・アセンブラを使わないと性能が出ないような処理系なら窓から投げ捨てろ。

76 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 20:53:36 ]
エー(´д`)

77 名前:デフォルトの名無しさん [2007/04/14(土) 21:07:14 ]
押す!

78 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 21:39:11 ]
>>75
それ、激しくマンドクセ

79 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 22:13:22 ]
だがソース中にインラインアセンブラが散在していると
環境が変わったとき、もっとマンドクサイことに…

80 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 22:20:32 ]
その辺は設計次第でどうにかなる
大体速度要求されるような部分って限られてるし



81 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 23:30:39 ]
少し前に、64bitだとCであれJAVAであれ、「インラインアセンブラは絶対通らない」と言われていた。

82 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 23:53:16 ]
どこの世界の話ですか?
Windows 方面かな?

83 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 02:22:23 ]
ヌコモフモフシタイオ

84 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 02:42:32 ]
M$が64bit版VC++でインラインアセンブラを止めたことに尾ヒレがついてそういう話になったんだろうが・・・

しかしまあ、64bitなCPUでもインラインアセンブラ使わにゃならんと言うのも、それはそれで哀しいものがあるな。

85 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 02:50:57 ]
64bitインラインアセンブラについて
ttp://www.codeproject.com/vista/vista_x64.asp#Inline_Assembly

代わりの構文が用意されているみたい

86 名前:デフォルトの名無しさん [2007/04/15(日) 10:48:47 ]
シェーダもそうだ
Direct3D version10 では、アセンブリシェーダが一切許容されなくなった。
HLSLやGLSLよりも簡単かつ速いのに。

固定機能の廃止でシェーダで代用しろとか、
64bit用VCでアセンブラ使えないとか、マイクロソフトはどうなっているんだ。

そういうことをするから、「絶対必要なのに誰も知らないアセンブラ」になっていくんだ。
ウィルススキャンは、言ってみればリバースエンジニアリングだが、
リバースエンジニアリングにはアセンブラの知識が必要だ。

それでなくてもハード屋と密接に絡むソフト屋はアセンブラの知識が必要だ。


それなのにこれ以上マイナー言語にしてどうしたいと言うのか

87 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 11:58:49 ]
>>86
>>56


88 名前:デフォルトの名無しさん [2007/04/15(日) 12:37:52 ]
64bitだとAPIフックもできないの?


89 名前:デフォルトの名無しさん [2007/04/15(日) 22:46:32 ]
>>88
できない ×
やらせない ○

90 名前:デフォルトの名無しさん mailto:sage [2007/04/16(月) 10:28:26 ]
>>85
紛らわしい事を言うな
代わりの構文でインラインアセンブラが利用可能なのかと思ったじゃないか



91 名前:デフォルトの名無しさん mailto:sage [2007/04/16(月) 12:02:23 ]
>代わりの構文でインラインアセンブラが利用可能なのかと思ったじゃないか
可能でしょ。

92 名前:デフォルトの名無しさん mailto:sage [2007/04/16(月) 20:54:55 ]
>>90の思考、__asm と 組み込み関数は違う
>>91の思考、__asm と 組み込み関数は同じ

93 名前:デフォルトの名無しさん mailto:sage [2007/04/16(月) 22:00:57 ]
> >>91の思考、__asm と 組み込み関数は同じ

このスレ的にはありえない思考回路だな...。

94 名前:デフォルトの名無しさん mailto:sage [2007/04/21(土) 01:00:05 ]
すみませんが、.NETのアプリをnasmとかで作れます??

95 名前:デフォルトの名無しさん [2007/04/21(土) 01:08:21 ]
無理にきまってんだろ

96 名前:デフォルトの名無しさん mailto:sage [2007/04/21(土) 01:10:52 ]
>>94
つ ilasm

97 名前:デフォルトの名無しさん mailto:sage [2007/04/21(土) 01:42:04 ]
>>94
dbで直接書けばOK

98 名前:デフォルトの名無しさん mailto:sage [2007/04/21(土) 01:49:51 ]
>>94
>nasmとか
といわれても。
アセンブリ言語で書けるか、ということならできる。

99 名前:デフォルトの名無しさん mailto:sage [2007/04/21(土) 01:58:57 ]
>>97
バイナリエディタのほうが絶対いいw

100 名前:デフォルトの名無しさん mailto:sage [2007/04/21(土) 02:34:42 ]
相対アドレスを計算して入力するのが面倒だったのでmasm+exe2binでz80のプログラムを作ったことがあるな



101 名前:デフォルトの名無しさん [2007/04/22(日) 12:55:12 ]
質問でございます

いまいちよくつかめないんですが、メモリを確保する場合(文字列でも何でもいいです)、通常ヒープに確保され、
ローカル変数だけスタック、という認識であっていますか?

ちょっとスレ違いかもしれないんですが、このスレのエロい方々が一番詳しそうなので。






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

前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