Здравствуйте, OdesitVadim, Вы писали:
OV>появиласть другая проблемма — русские строки...
Для русских UTF-16 символов старший байт не равен 0, нужно конвертировать. Вот макрос от автора fasm:
macro du [args]
{ common local ..times,..size,..char
virtual at 0
db args
..size = $
end virtual
repeat ..size
virtual at 0
db args
load ..char byte from $ - ..size + % - 1
end virtual
if ..char > 127
db ..char-0b0h, 04h
else
du ..char
end if
end repeat }
struc du [args] { common du args }
здесь
People who are more than casually interested in computers should have at least some idea of what the underlying hardware is like. Otherwise the programs they write will be pretty weird (c) D.Knuth