Как взять аргументы ком. строки в Fasm?

Тема в разделе "WASM.UNIX", создана пользователем _animaTOR_, 21 сен 2006.

  1. _animaTOR_

    _animaTOR_ New Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    58
    Вокруг пишут об этом такое :

    ... В точке входа в программу (start:) в стеке содержатся следующие данные :

    Код (Text):
    1. dword [esp+4*0] = argc = number of arguments = 3 in above sample
    2. dword [esp+4*1] = address of param0, points to string './executable'
    3. dword [esp+4*2] = address of param1, points to string 'hoho',0 somewhere in the stack space
    4. dword [esp+4*3] = address of param2, points to string 'zzzzzz',0 somewhere in the stack space
    5. ...
    Сажусь пишу

    Код (Text):
    1. format PE Console
    2. entry start
    3. include 'c:\fasmw\include\win32ax.inc'
    4. .code
    5.   start:
    6.     mov esi,dword [esp+4]
    7. int 3
    8. .end start
    ... но в esi получаю - адрес какой-то нереальный :dntknw:

    Помогите куском кода, наверное я что-то не то понял.
     
  2. gershkovich

    gershkovich New Member

    Публикаций:
    0
    Регистрация:
    14 фев 2006
    Сообщения:
    97
    Наверно
    Код (Text):
    1. lea    esi,dword [esp+4]
     
  3. _animaTOR_

    _animaTOR_ New Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    58
    да так и есть.
    А нет ли у Вас простого примерчика с консольным прилож. которое просто отображает параметры ком. строки.
     
  4. afybc

    afybc New Member

    Публикаций:
    0
    Регистрация:
    30 июн 2006
    Сообщения:
    73
    Смотри fasmw167\SOURCE\LIBC\FASM.ASM