Вопрос к знатокам макросов в MASM

Тема в разделе "WASM.ZEN", создана пользователем SteelRat, 17 июн 2005.

Статус темы:
Закрыта.
  1. SteelRat

    SteelRat New Member

    Публикаций:
    0
    Регистрация:
    26 авг 2004
    Сообщения:
    409
    Есть макрос
    Код (Text):
    1. IFNDEF NDIS_OOB_DATA_FROM_PACKET
    2. NDIS_OOB_DATA_FROM_PACKET macro _p
    3.     mov eax, _p
    4.     xor edx, edx
    5.     mov word ptr dx, (NDIS_PACKET ptr [eax]).Private.NdisPacketOobOffset
    6.     add eax, edx
    7. endm
    8. ENDIF
    9.  


    Есть два варианта вызова макроса
    Код (Text):
    1. NDIS_OOB_DATA_FROM_PACKET esi


    и
    Код (Text):
    1. local MyPacket :PNDIS_PACKET
    2. ....
    3. NDIS_OOB_DATA_FROM_PACKET MyPacket


    Это можно оптимизировать, если в макросе убрать первую строку, но при втором варианте вызова макроса получится не очень приятная ситуация - код генериться неверно с точки зрения программера (не компилятора).

    Вопрос собственно в том можно ли у препроцесора MASM узнать какой вариант передачи параметров через регистры или через память ?
     
  2. SteelRat

    SteelRat New Member

    Публикаций:
    0
    Регистрация:
    26 авг 2004
    Сообщения:
    409
    Нашёл :)

    OPATTR

    Вопрос снимаю...
     
Статус темы:
Закрыта.