Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: программирование на языке Assembler


Информационный Канал Subscribe.Ru

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Assembler

Выпуск № 125
от 28.04.2005, 09:20

Администратор:Калашников О.А.
В номере:Вопросов: 1, Ответов: 3


Вопрос № 20130: Как создать массив, число элементов которого вводится с клавиатуры. Имеется пример создания такого массива, но с заранее определенным числом элементов (10). Matrix LABEL BYTE REPT 10 DB 0 ENDM Если вместо 10 подставить каку...

Вопрос № 20130
Как создать массив, число элементов которого вводится с клавиатуры.
Имеется пример создания такого массива, но с заранее определенным числом элементов (10).
Matrix LABEL BYTE
REPT 10
DB 0
ENDM
Если вместо 10 подставить какую-либо переменную, то при компиляции выдает сообщение:
Expected scalar type.
Отправлен: 23.04.2005, 02:29
Вопрос задал: VBA (статус: 1-ый класс)
Всего ответов отправлено: 3

Отвечает: Евгений Иванов
Здравствуйте, mycatismurzik!
да откуда угодно указывай размер маасива.
для этого нужно использовать подпрограммы выделения памяти.
call get_num_from_keyboard
call GlobalAlloc, GMEMPTR, eax
or eax,eax
jz error
mov [Array],eax
удачи!
Ответ отправил: Евгений Иванов (статус: Профессор)
Отправлен: 23.04.2005, 11:14
Оценка за ответ: 4

Отвечает: Стас
Здравствуйте, mycatismurzik!
Если всеже есть предположение о максимальном количестве элементов, можно зарезервировать этот максимальный объем.
Иначе - да - выделять память когда станет известным количество элементов.
Ответ отправил: Стас (статус: Практикант)
Отправлен: 24.04.2005, 00:27
Оценка за ответ: 2

Отвечает: mvp
Здравствуйте, VBA!
Если у Вас com-программа, то поставьте в конце программы(после последней исполняемой команды и всех данных): matrix db ?. На запуск com-программы всё-равно выделяется 64К, поэтому можете свободно далее писать свой массив за программным кодом и данными. Вам лишь остаётся проверить, не выходит ли объём вашего массива + размер кода + размер данных за 64К, при вводе значения с клавиатуры.
Ответ отправил: mvp (статус: 2-ой класс)
Отправлен: 24.04.2005, 15:41


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2005, RusFAQ.ru, Россия, Москва. Все права защищены.
Идея, дизайн, программирование, авторское право: Калашников О.А.


http://subscribe.ru/
http://subscribe.ru/feedback/
Подписан адрес:
Код этой рассылки: comp.soft.prog.faq
Отписаться

В избранное