|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Апр 7, 2004 00:00:24 Привет всем! Сразу скажу, что с unicode мне работать не приходилось, так что если дальше где будет есресь, пинайте смело :) Тем не менее написал макрос, позволяющий создавать unicode строки, возможно кому-то будет полезно. Используется файл-табличка для конверсии, так что можно конвертить не только русские символы наверное (с китайским, конечно, не пойдет) format PE GUI 4.0 at 400000h
data import
dd RVA ExitProcess, 0, 0, RVA k32, RVA ExitProcess
dd RVA MessageBox, 0, 0, RVA u32, RVA MessageBox
dd 0, 0, 0, 0, 0 ;; end of directory
k32 db 'kernel32.dll',0
u32 db 'user32.dll',0
EP db 0,0, 'ExitProcess',0
MB db 0,0, 'MessageBoxW',0
align 4
ExitProcess dd RVA EP, 0
MessageBox dd RVA MB, 0
end data
macro du [arg]
{ local ..char, ..uchar, ..i
..i = $
du arg
repeat ($-..i)/2
load ..char from ..i+(%-1)*2
virtual
file 'russian.a2u' :..char*2,2
load ..uchar word from $-2
end virtual
store word ..uchar at ..i+(%-1)*2
end repeat }
entry $
push 64
push text
push caption
push 0
call [MessageBox]
push 0
call [ExitProcess]
caption: du 'Заголовок',0
text: du 'Текст',0 _1000432035__russian.a2u |
|
|
Дата: Апр 7, 2004 02:37:17 Privalov такой макрос уже не делал? |
|
|
Дата: Апр 7, 2004 08:56:55 Я видел для преобразования регистра, а такой - нет :-? Это только для версии 1.52+ подойдет, т.к. store используется |
|
|
Дата: Апр 16, 2004 21:15:13 Посмотрите на http://board.flatassembler.net/viewtopic.php?t=248 |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.081 |