アセンブラ… ( ゚д゚)ウッウー at TECH
[2ch|▼Menu]
294:デフォルトの名無しさん
07/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


次ページ
続きを表示
1を表示
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5121日前に更新/204 KB
担当:undef