169 похожих чатов

Macro allow_pfx66 { macro pfx66 line& \{

db 0x66
allow_pfx66
line
purge pfx66
\}
} allow_pfx66

rep pfx66 nop
это баг или так задумано? после rep нельзя вызывать макросы чтоли?

14 ответов

3 просмотра

Имя макроса — это первое слово в строке. Пиши: rep pfx66 nop

Попробуй struc

The Bird of Hermes
Попробуй struc

Тогда rep станет меткой?

s54820
Тогда rep станет меткой?

Он автоматически метку не создает

The Bird of Hermes
Он автоматически метку не создает

А если подумать? . на неё ссылается, метка создаётся.

s54820
А если подумать? . на неё ссылается, метка создаёт...

Если ссылается. То есть если я создаю поля через .fieldname

s54820
struc abc {} x abc y = x

struc abc{} x abc x abc ;error: symbol already defined Но struc abc{ match any, .\{\} } x abc x abc ;no errors

The Bird of Hermes
struc abc{} x abc x abc ;error: symbol already def...

А, окей, если . использовать, тогда ок. Я как-то не подумал, что match можно. Я только клеил)

s54820
А, окей, если . использовать, тогда ок. Я как-то н...

Там вроде не обязательно матч, а можно даже там в макрос передать

The Bird of Hermes
struc abc{} x abc x abc ;error: symbol already def...

офигеть спасибо irps i, 66 67 { macro allow_pfx#i \{ macro pfx\#i line& \\{ db 0x\\#i allow_pfx\\#i line purge pfx\\#i restruc pfx\\#i \\} struc pfx\#i line& \\{ match =., . \\\{ . db 0x\\\#i allow_pfx\\\#i line purge pfx\\\#i restruc pfx\\\#i \\\} \\} \} allow_pfx#i } rep pfx66 fs pfx66 pfx66 repnz pfx66 pfx66 nop работает))

The Bird of Hermes
А что это вообще такое?

префиксы, у которых нет мнемоник (они и не нужны, т.е. mov ax,cx то же что и pfx66 mov eax,ecx) нужно для дизфессемблера для декодирования нестандартных инструкций чтоб фасм генерировал байты 1к1. конечно можно было через db, но пусть будет. или может сделаю попытку написать виртуалку для х86, без сохранения оригинального кода - на выходе будет новый алгоритм, который даже самомодифицирующийся код распознает.

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
у вас два процесса. один посылает другому сигнал. у вас есть код обоих процессов? если всё не так - расскажите как оно на самом деле. а именно кто кому чего, есть-ли консоли,...
Karagy
6
Карта сайта