[表示 : 全て 最新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
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


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

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



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






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

全部読む 前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