Obsah / Utility / CHARSET / CharSBWrite
Zdrojový kód: INCLUDE\UTIL\CHARSET.INC, UTIL\CHARSET.ASM
CharSBWrite - Uložení znaku do bufferu v 1-bajtovém formátu
Funkce CharSBWrite uloží Unicode znak do bufferu v 1-bajtovém formátu.
|
Na vstupu funkce obsahuje registr EAX Unicode kód ukládaného znaku, registr EDI ukazatel do výstupního bufferu, registr EBP čítač zbylých dat ve výstupním bufferu, registr DL znak, který se použije v případě neplatného znaku, a registr EBX ukazatel na znakovou sadu CHARSET. Je povolena pouze 1-bajtová znaková sada (není funkcí kontrolováno). Na výstupu funkce je ukazatel v EDI posunut na novou zápisovou pozici a registr EBP obsahuje nový čítač zbylých dat v bufferu. Funkce zničí obsah registru EAX.
|
Na začátku funkce se otestuje registr EBP, zda je k dispozici místo pro uložení dalšího bajtu.Je-li v cílovém bufferu dostatek místa, zkonvertuje se pomocí funkce CharFromUnicode znak na 1-bajtový znak podle znakové sady v registru EBX a uloží se do výstupního bufferu.
Obsah / Utility / CHARSET / CharSBWrite