Широкий символьный строковый литерал в MASM?
Ты используешь
name DB "Foo",0
объявить name
быть байтовой строкой "Foo"
,
Как вы объявляете это вместо словосочетания? (т.е. 16 бит на символ)
Редактировать:
Я ищу метод, который хорошо работает внутри макросов, например:
GenerateThunk macro Name
.code
&Name& proc public
push offset NAME
jmp &Name&__actual
NAME: ; I need something like this,
&Name&_Name dw "&Name&", 0 ; <--- but `dw' doesn't work!
&Name& endp
endm
2 ответа
Решение
Вы можете сделать это с:
align 2
name DB "F", 0, "o", 0, "o", 0, 0, 0
в зависимости от нужной вам кодировки.
Внутри макроса вы можете автоматизировать это с помощью forc
макрос, что-то вроде:
NAME:
&Name&_Name
forc chr,<&Name&>
byte chr, 0
endm
byte 0
Я не пробовал это, так как у меня нет доступа к MASM на моем текущем ящике, поэтому он может не работать.