Вопрос по ассемблерным вставкам

Тема в разделе "WASM.BEGINNERS", создана пользователем MrRockchip, 29 июн 2010.

  1. MrRockchip

    MrRockchip New Member

    Публикаций:
    0
    Регистрация:
    18 янв 2009
    Сообщения:
    49
    Программа написана на C++ и имеет процедуру,
    которая оформлена в виде ассемблерной вставки
    и принимает параметры через стек.

    То есть:
    int a; int b;
    cin >> a >> b;
    c=proc(a,b)

    Параметры в стек передаются справа налево (по соглашению о связях)

    А какой размер у этого стека ?
     
  2. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    зависит от настроек компилятора/линкера.
    какой компилятор? какие опции линкера? какая ос?

    например, для ОС Windows и линкера mslink дефолтный размер стека 1Мб.
    у драйверов ядра в виндоус - 12кб
     
  3. MrRockchip

    MrRockchip New Member

    Публикаций:
    0
    Регистрация:
    18 янв 2009
    Сообщения:
    49
    Компилятор - MASM.

    В начале ассемблеровской программы стоит .386
    Может быть, это как-то влияет на размер стека?
    А если я поставлю .586?
     
  4. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    нет это влияет на набор инструкций.
    читайте хелп к масму и задавайте в командной строке. все равно масм юзает тот же мслинк, где стек задается через /STACK:XXXXX