Понять *.inx

Тема в разделе "WASM.RESEARCH", создана пользователем Akela, 30 май 2005.

  1. Akela

    Akela New Member

    Публикаций:
    0
    Регистрация:
    30 май 2005
    Сообщения:
    2
    Адрес:
    Минск
    Помогите, пожалуйста разобраться с функцией из setup.inx. Что она делает?

    В частности не понимаю строки: local_number2 = &local_string3;

    local_number1 = *local_number2;

    Можно ли где нибудь прочитать про синтаксис языка, на котором пишутся подобные файлы?







    @0000BA1A:0022 function NUMBER function_13(local_string1)

    @0000BA1A NUMBER local_number1, local_number2, local_number3;

    @0000BA1A STRING local_string2, local_string3;

    @0000BA1A

    @0000BA1A begin

    @0000BA23:0029 StrSub(local_string2, local_string1, 0, 1);

    @0000BA37:0021 StrLength(local_string1);

    @0000BA40:0006 local_number3 = LASTRESULT;

    @0000BA4A:000A local_number3 = (local_number3 > 0);

    @0000BA59:0004 if(local_number3) then // ref index: 1

    @0000BA65:0021 StrLength(local_string1);

    @0000BA6E:0006 local_number3 = LASTRESULT;

    @0000BA78:0029 StrSub(local_string1, local_string1, 1, local_number3);

    @0000BA8A:0006 endif;

    @0000BA8A:0006 label_ba8a:

    @0000BA8C:0006 local_string3 = local_string2;

    @0000BA96:001A local_number2 = &local_string3;

    @0000BAA0:001B local_number1 = *local_number2;

    @0000BAAA:0027 // return coming

    @0000BAAE:0023 return local_number1;

    @0000BAB5:0026 end; // checksum: 39d2d
     
  2. _Juicy

    _Juicy Active Member

    Публикаций:
    0
    Регистрация:
    12 авг 2003
    Сообщения:
    1.159
    Адрес:
    SPb
    local_number'ы там DWORD'ы, так что полагаю


    Код (Text):
    1. local_number2 = &local_string3;
    2. ==
    3. ULONG local_number2 = (ULONG)local_string3;


    т.е. в local_number2 - адрес строки


    Код (Text):
    1. local_number1 = *local_number2;
    2. ==
    3. ULONG local_number1 = *(ULONG*)local_number2;




    Т.о. в local_number1 оказываются первые четыре символа local_string3.
     
  3. _Juicy

    _Juicy Active Member

    Публикаций:
    0
    Регистрация:
    12 авг 2003
    Сообщения:
    1.159
    Адрес:
    SPb
    А синтаксис скриптов Install Shield'а похож как мне кажется на VB и всякие скриптовые языки... Инфу по нему нужно искать у производителя.
     
  4. _Juicy

    _Juicy Active Member

    Публикаций:
    0
    Регистрация:
    12 авг 2003
    Сообщения:
    1.159
    Адрес:
    SPb
    У меня оказывается есть хелп от старого Install Shield'а, там и описание скриптового языка, давай мыло - вышлю.
     
  5. dr_dred

    dr_dred Сергей

    Публикаций:
    0
    Регистрация:
    12 мар 2005
    Сообщения:
    301
    Адрес:
    Russia
    я в c/c++ (здесь что-то подобное) не разбираюсь, но по-моему

    local_number2=&local_string3 то же, что и mov local_number2,offset local_string3



    А вот local_number1 = *local_number2 странно, но все же local_number1 = local_number2
     
  6. Akela

    Akela New Member

    Публикаций:
    0
    Регистрация:
    30 май 2005
    Сообщения:
    2
    Адрес:
    Минск
    Спасибо, разобрался: от строки берется символ и переводится в его charcode, строка уменьшается.