Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.06.2013, 19:57   #1
savva
Форумчанин
 
Регистрация: 10.06.2010
Сообщений: 225
По умолчанию Локальный массив

Как объявить локальный массив в процедуре без директивы local?
используем 16-битный MASM

Задача - пишем компилятор языка паскаль, требуется объявить локальную переменную массива.
За помощь: Нажмите на весы слева от сообщения!
savva вне форума Ответить с цитированием
Старый 11.06.2013, 04:23   #2
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,162
По умолчанию

savva
допустим под локальный массив требуется отвести 200 байт
Код:
push bp; начало процедуры
mov bp,sp
sub sp,200; отводим в стеке место под локальный массив
mov si,sp ; в SI адрес начала локального массива в 200 байт
...
leave ; восстанавливаем содержимое sp и bp
ret; выход из процедуры
Mikl___ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Локальный экстремум в С++ oxotnik1994 Помощь студентам 1 25.03.2013 18:47
Рекурсия и локальный массив Человек_Борща Общие вопросы Delphi 4 04.10.2012 07:04
Локальный таймер Anton911 Общие вопросы Delphi 11 13.01.2012 10:46
локальный диск aнdrey Компьютерное железо 3 04.06.2010 17:28
локальный хук vitalik007 Win Api 3 16.05.2008 09:08