- Код: Выделить всё
push word ptr[01512]
push word ptr[01520]
pop word ptr[01512]
pop word ptr[01520]
ret
1. Как теперь сделать так, что бы в string2 содержалось то же, но в машинных кодах? Я так понимаю, что для каждого оператора(типа push word ptr) есть свой байт, который указывает процессору, какая это команда, т.е. сие преобразуеться в что-то типа (FF00001512), где FF-код команды, а 00001512 - 4байтовый операнд. Или нет?
2. Можно ли написать такую функцию:
- Код: Выделить всё
Public declare function CallString lib "xxx.dll"(byval nPos as long) as long
sub YYY
CallString StrPtr([b]string2[/b])
end sub
И такую:
- Код: Выделить всё
typedef void __stdcall simple_func(void);
long WINAPI CallString(long asm_ptr)
{
((simple_func)asm_ptr)();
return 1;
}
Т.е. фактически, послать программу выполнять скомпилированную строку? Как я понимаю, тип такой функции __stdcall, или нет?
Только не спрашивайте, при чем здесь VB
