дельфиная асм вставка на си

Тема в разделе "LANGS.C", создана пользователем shsh, 1 июн 2008.

  1. shsh

    shsh Member

    Публикаций:
    0
    Регистрация:
    3 янв 2008
    Сообщения:
    69
    переписываю http://damagelab.org/index.php?showtopic=13000&hl=wcx_ftp\.ini на си и столкнулся с:

    const var_118 = -0x118;
    const var_14 = -0x14;
    const var_10 = -0x10;
    const var_C = -0x0C;
    const var_A = -0x0A;
    const var_9 = -0x09;
    const var_8 = -0x08;
    const var_4 = -0x04;
    const var_1 = -0x01;

    изменение типов этих данных ни к чему не привело , хоть инт хоть чар
    Код (Text):
    1. loc_478091:
    2.         mov     eax, [ebp+var_8]
    3.         mov     al, [esi+eax-3]
    4.         mov     [ebp+var_C], al
    5.         mov     eax, [ebp+var_8] // error C2443: operand size conflict , хотя 3мя строчками выше тоже самое нормально
    6.         mov     al, [esi+var_8]
    7.         mov     [ebp-0xB], al   // error C2443: operand size conflict
    8.         mov     eax, [ebp+var_8]
    9.         mov     al, [esi+eax-1]
    10.         mov     [ebp+var_A], al
    11.         mov     eax, [ebp+var_8]  // error C2443: operand size conflict
    12.         mov     al, [esi+eax]
    13.         mov     [ebp+var_9], al
    14.         sub     dword ptr [ebp+var_8], 4
    15.         mov     eax, [ebp+var_8]
    16.         mov     byte ptr [esi+eax+1], 0
    17.         mov     dword_53602C, 0CF671h
    18.         mov     edi, [ebp+var_8]
    19.         jl      loc_47810D
    20.         inc     edi
    21.         xor     ebx, ebx
    ткните носом где что не так
    ps в асме я почти 0
     
  2. _basmp_

    _basmp_ New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2005
    Сообщения:
    2.939
    shsh
    #define var_118 -0x118
     
  3. Xerx

    Xerx Алексей

    Публикаций:
    0
    Регистрация:
    17 фев 2005
    Сообщения:
    528
    Адрес:
    Russia
    Судя по использованию, это signed int (знаковое 32битное). Но вариант _basmp_ самы лучший :)
     
  4. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    shsh
    А я думаю, что все проще. Ты ошибся с привязкой ошибок. Ошибки в командах с al(на 1 строчку выше все). В конце концов задай там byte ptr.
     
  5. censored

    censored New Member

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