Предварительная обработка кода перед компиляцией

Тема в разделе "WASM.BEGINNERS", создана пользователем zoooool, 8 фев 2008.

  1. zoooool

    zoooool New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2008
    Сообщения:
    18
    Доброго времени суток
    такой вопрос

    Можно ли как-то сделать так, чтобы через каждую строку кода вставлялась другая, определенная строка

    Что я имею ввиду

    пусть есть код


    mov eax, 12345678
    mov ebx, 36457785
    mov ecx, 40397800
    shl eax, 4
    ...
    ret

    и есть строка кода A - xor eax, eax

    можно ли сделать как-то так, чтобы вот такой код до компиляции
    mov eax, 12345678
    mov ebx, 36457785
    mov ecx, 40397800
    shl eax, 4
    ...

    привести к такому виду

    mov eax, 12345678
    xor eax, eax
    mov ebx, 36457785
    xor eax, eax
    mov ecx, 40397800
    xor eax, eax
    shl eax, 4
    xor eax, eax
    ...

    может макрос какой или еще чего?

    Компилятор роли не играет. На каком возможно, на таком и реализовывать буду

    Просто в проэкте 400.000 строк и вручную это не проделать

    а стока кода нужна по выбору
    строка или блок кода

    в общем после выполнения каждой инструкции н7ужно, чтобы управление передавалось нанаш код, а потом обратно

    Как сделать?
     
  2. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    zoooool
    Ну скрипт какой или прожку написать чтобы сие вставляла, imho самый лучший вариант.
     
  3. zoooool

    zoooool New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2008
    Сообщения:
    18
    Booster
    пока так и есть
    заменяет 0x0D0A на нужный блок кода

    но я думал, может макросом как-то это все можно оформить или еще чего...

    или может вообще от этого отказаться, м как-то обрабатывать каждую комманду
    Может перехватить можно или еще чего?
    К примеру, кто-то говорил, что можно сделать весь список инструкций привилегированными и обрабатывать сие

    Но я так толком не понял... если в этом есть зерно смысла - объясните как сделать ? :)
     
  4. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    модифицировать сорцы фасма имхо неплохой вариант.
     
  5. twgt

    twgt New Member

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    1.494
    macro movX a,b
    {
    mov a,b
    xor eax,eax
    }

    Edit->Replace: mov -> movX


    Add:
    В фасме даже просто переназначить макрос можно
    macro mov a,b
    {
    mov a,b
    xor eax,eax
    }

    Add2:
    А ещё я не внимательный, поэтому вариант n0name лучший.
     
  6. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    еще вариант - самотрассировка.
     
  7. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine