アセンブラ… Part 12
■ このスレッドは過去ログ倉庫に格納されています
0562ヽ・´∀`・,,)っ━━━━━━┓
2008/05/25(日) 19:18:01lea edx, [str]
pxor xmm0, xmm0
loop1:
movdqu xmm1, [edx]
pcmpeqb xmm1, xmm0
pmovmskb ecx, xmm1
test ecx,ecx
jnz skip1
add edx, 16
jmp loop1
skip1:
bsf eax, ecx
add eax, edx ; eaxに結果格納
SSE4.1対応ならpcmpeqb+ptestでNULLが含まれる16バイトを検出可能。
SSE4.2に対応してればATAを使えばNULL文字の位置まで特定できる。
まあレイテンシ隠蔽とかの最適化は各自でやれ
■ このスレッドは過去ログ倉庫に格納されています