Как можно объявить локальный массив? - Assembler

Узнай цену своей работы

Формулировка задачи:

в общем проблема простая мне просто нужно в процедуре объявить массив. я конечно могу поступить так:
...
prcdr PROC
   sub esp, 10; выделяю память под 10 элементов
   ...
   mov eax, [ebp + ebx - 10]; записываю в eax элемент под номером ebx
   ...
prcdr ENDP
...
жаль только что он у меня безымянный, а это не удобно

Решение задачи: «Как можно объявить локальный массив?»

textual
Листинг программы
prcdr PROC
local my_array[10]:BYTE
   ...
   xor eax,eax
   mov al, my_array[ebx]; записываю в eax элемент под номером ebx
   ...
prcdr ENDP

Объяснение кода листинга программы

  1. Объявляется процедура с именем prcdr
  2. В этой процедуре объявляется локальный массив с именем my_array на 10 элементов типа BYTE
  3. Далее в коде происходит использование этого массива, а именно запись в регистр EAX элемента массива по индексу, который находится в регистре EBX
  4. Код в процедуре не ограничивается этим, но для ответа на вопрос достаточно описать эти три пункта

Оцени полезность:

9   голосов , оценка 4.333 из 5
Похожие ответы