Копирование массива во фрейм стека на языке ассемблера

Скажем, мне нужно скопировать и поместить в массив, назовите его X, во фрейм стека. а затем отобразите этот кадр стека на экране перед выходом из процедуры. Как мне скопировать этот массив в кадр стека. Я придумал это, но это не работает.

    .data
     X  sdword   10, -10, 20, -20
    .code
    begin:
    mov esi,[ebp+8]
    mov edi,[ebp+12]
    mov ecx,[ebp+20]
    mov edx,[ebp+16]

Итак, как бы вы добавили массив X в кадр стека с помощью EBP. Я не использую irvine или еще что-нибудь. всего .386 .MODEL плоский, стандартный вызов
.STACK 4096

Я использую Microsoft Visual C ++


person user2188315    schedule 26.04.2014    source источник


Ответы (1)


Неясно, нужно ли вам скопировать СОДЕРЖАНИЕ (т.е. 4 слова) в стек или просто АДРЕС. В любом случае вы освобождаете место на фрейме для всего, что вам нужно, а затем копируете его так же, как и любое копирование из памяти в память.

person Scott Hunter    schedule 26.04.2014