ミ,,゚Д゚彡DelフサギコのフサフサDelphi談話室�A
■ このスレッドは過去ログ倉庫に格納されています
0745デフォルトの名無しさん
NGNG自分でも何か非効率な気がします。アセンブラ詳しい人添削して…。
仕様: 長さが異なる場合、"ABC" < "B" < "BA" < "BB" < "BBB"
( CompareStrを文字列では無く任意のメモリに適用しているイメージ )
function CompareBinary(S1: Pointer; L1: Integer; S2: Pointer; L2: Integer): Integer;
asm
PUSH ESI ; PUSH EDI
MOV ESI, EAX; MOV EDI, ECX
MOV EAX,EDX
MOV EDX, L2
MOV ECX,EAX
CMP ECX,EDX
JBE @@3
MOV ECX,EDX
@@3: CMP ECX,ECX
REPE CMPSB
JE @@4
MOVZX EAX,BYTE PTR [ESI-1]
MOVZX EDX,BYTE PTR [EDI-1]
@@4: SUB EAX,EDX
POP EDI; POP ESI
end;
■ このスレッドは過去ログ倉庫に格納されています