masm fs:[0]

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

  1. ltshck

    ltshck New Member

    Публикаций:
    0
    Регистрация:
    5 ноя 2007
    Сообщения:
    195
    в MSVC компилю это: (само собой добавив build rule - > masm ml.exe )

    ml.exe /c /coff ... и т.д.

    Код (Text):
    1. .386
    2. .model flat, c
    3.  
    4. option casemap:none
    5.  
    6. public funct
    7.  
    8. .code
    9.  
    10. funct:
    11.  push eax
    12.  push fs:[0]
    13.  pop eax
    14. ret
    15.  
    16. end
    выдает ошибку на строке push fs:[0]

    Error 1 error A2108: use of register assumed to ERROR test.asm 28


    че делать?

    функция компилится для линкера msvc, для дальнейшего подключения в с++ программу. само собой это только фрагмент. вся функция компилится ок если не ставить fs:[0] а сним же ошибка.

    че делать?
     
  2. censored

    censored New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2005
    Сообщения:
    1.615
    Адрес:
    деревня "Анонимные Прокси"
     
  3. ltshck

    ltshck New Member

    Публикаций:
    0
    Регистрация:
    5 ноя 2007
    Сообщения:
    195
    пасиб
     
  4. Sol_Ksacap

    Sol_Ksacap Миша

    Публикаций:
    0
    Регистрация:
    6 мар 2008
    Сообщения:
    623
    ltshck, если (вдруг) ты всё это делаешь ради своего обработчика исключений, то проще, имхо, использовать __try - __except. Но как хочешь, конечно ;)
     
  5. 2FED

    2FED New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2008
    Сообщения:
    1.002
    __try - __except больше кода занимает
     
  6. ltshck

    ltshck New Member

    Публикаций:
    0
    Регистрация:
    5 ноя 2007
    Сообщения:
    195
    ну вообще то да...
    :)

    только вот на стадии реализации _EH_prolog и _CxxFrameHandler

    чтобы юзать стандартный try{}catch(){}

    застрял... решил покучоскам... до сих пор не нашел реализации их для компилятора.

    тянуть с собой msvcrt.lib неззя ибо громоздкая
     
  7. censored

    censored New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2005
    Сообщения:
    1.615
    Адрес:
    деревня "Анонимные Прокси"
    ltshck
    сто пясят раз изжеванная тема про уменьшение размера бинарника? (превед малваре)
    зачем реализовывать _EH_prolog, _CxxFrameHandler, если можно обойтись без них?
     
  8. ltshck

    ltshck New Member

    Публикаций:
    0
    Регистрация:
    5 ноя 2007
    Сообщения:
    195
    интересно просто компилить код так чтобы при реализации try он использовал мои прототипы