Uvnitře je použita tato funkce (možno jí nacpat dovnitř).
{------------ Pascalské POS optimalizované pro hledání 1 znaku ---------------------}
function PosChar (const c: char; const s: string): LongInt; register; assembler;
{ c := Znak co hledáme }
{ s := Kde to hledáme }
{Vrací (v EAX): Pozici v s (index znaku), nenalezne-li se c v s, vrací 0 }
asm
PUSH EDI
MOV EDI, s; { Point EDI to s }
CMP EDI, 0;
JZ @Kulovy; { Řetěz je NIL, to jest prázdný }
MOV AL, c; { AL znak co hledáme }
MOV ECX, -4 (EDI); { Délka řetězu do ECX }
MOV EDX, EDI; { Úschova ad. začátku řetězu }
CLD; { SCASB pojede nahoru }
REPNE SCASB;
JNE @Kulovy; { Nenašlo se to }
MOV EAX, EDI; { EAX kde to skončilo + 1 }
SUB EAX, EDX; { EAX je pozice v řetězu }
JMP @Finish;
@Kulovy:XOR EAX, EAX; { EAX := 0 --> že se našlo prd }
@Finish:POP EDI;
end;