Вывод значения смещения в процессе ассемблирования

Тема в разделе "WASM.ASSEMBLER", создана пользователем Rockphorr, 8 июн 2024.

  1. Rockphorr

    Rockphorr Well-Known Member

    Публикаций:
    0
    Регистрация:
    9 июн 2004
    Сообщения:
    2.622
    Адрес:
    Russia
    собственно код и его результаты во вложении

    вот что получается:
    ml.exe value.asm

    Assembling: value.asm
    @V_size = 8h
    value.asm(32) : error A2027: operand must be a memory expression
    @CatStr(1): Macro Called From
    @Value(2): Macro Called From
    value.asm(32): Main Line Code
    @V_ofs = 0h



    а нужно:

    @V_size = 8h
    @V_ofs = 4h
     

    Вложения:

    • VALUE_ASM.TXT
      Размер файла:
      419 байт
      Просмотров:
      89
    • LOG.TXT
      Размер файла:
      282 байт
      Просмотров:
      81
  2. Rockphorr

    Rockphorr Well-Known Member

    Публикаций:
    0
    Регистрация:
    9 июн 2004
    Сообщения:
    2.622
    Адрес:
    Russia
    собственно решение, которое мне подсказали на masm32.com/forum
    Код (Text):
    1.  
    2. ;=======[ STRUCTURE ]===============
    3. Some\
    4. STRUC
    5. Some_Data_0\
    6. BYTE ?
    7. Some_Data_1\
    8. BYTE ?
    9. Some_Data_2\
    10. WORD ?
    11. Some_Method\
    12. DWORD ?
    13. Some\
    14. ENDS
    15.  
    16.  
    17. ;======[ MACRO ]====================
    18. @Value MACRO name:req, expression:req
    19.  .RADIX 10h
    20.  %ECHO @CatStr (<name>,< = >,%expression,<h>)
    21.  .RADIX 0Ah
    22.   ENDM
    23.  
    24. .386
    25. .MODEL FLAT
    26.  
    27. .code
    28.  
    29. @Value @V_size,Size(Some)
    30. @Value @V_ofs,Some.Some_Method
    31.  
    32. end
    33.