Поиск:

Ответ в темуСоздание новой темы Создание опроса
> помогите с лабораторными 
:(
    Опции темы
Dr.No_xXx
  Дата 27.3.2005, 21:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 215
Регистрация: 24.2.2005

Репутация: нет
Всего: нет



ЛАБОРАТОРНАЯ РАБОТА 3 (2005)

II. Программы по пунктам 1), 2), 3) и 4) (см ниже) должны содержать два модуля: М1 и М2, в которых могут быть описаны сегменты кода, данных и стека.
Модуль М1 должен выводить значение переменной А1 - строку символов 'ЗНАЧЕНИЕ ПЕРЕМЕННОЙ А1$'процедурой PP1, имя которой представляет точку входа программы.
Модуль М2 должен выводить значение переменной А2 - строку символов 'ЗНАЧЕНИЕ ПЕРЕМЕННОЙ А2$' процедурой PP2.

НЕ ИЗМЕНЯТЬ ИМЕНА СЕГМЕНТОВ, ПЕРЕМЕННЫХ И МЕТОК!
НЕ ИСПОЛЬЗОВАТЬ ДИРЕКТИВЫ EXTRN PUBLIC и КОМАНДЫ ПЕРЕДАЧИ УПРАВЛЕНИЯ!
ДЛЯ ПРОВЕРКИ ПОРЯДКА РАЗМЕЩЕНИЯ СЕГМЕНТОВ ИСПОЛЬЗУЙТЕ ФАЙЛ .MAP И ОТЛАДЧИК!
ПРОГРАММА НЕ ДОЛЖНА СОДЕРЖАТЬ ЛИШНИХ ПРЕДЛОЖЕНИЙ И ПАРАМЕТРОВ ДИРЕКТИВ.

1) Сделать так, чтобы в каждом модуле были описаны сегмент кода, данных и стека, и исполняемая программа содержала все 6 сегментов (параметр PUBLIC в директивах сегментов не использовать). Программа должна заканчиваться командой RET.
2) Сделать так, чтобы исполняемая программа содержала минимальное число сегментов и заканчивалась функцией DOS 4Ch. Порядок следования описаний сегментов в модулях М1 и М2 должен быть разным.
3) Сделать так, чтобы в модуле М1 сегмент кода был описан перед сегментом данных, переменная А2 была описана в модуле М1, а не в М2, и в описаниях сегментов отсутствовали классы. Программа должна заканчиваться командой RET. -- использовать в сегменте кода параметр PUBLIC
4) Измените программу так, чтобы она не содержала сегментов стека. Проследите в отладчике, где сохраняется адрес команды INT 20h.
ДАЛЕЕ:
НЕ ИЗМЕНЯТЬ ИМЕНА СЕГМЕНТОВ, ПЕРЕМЕННЫХ И МЕТОК !
ИСПОЛЬЗОВАТЬ ДИРЕКТИВЫ EXTRN и PUBLIC!
ПРОГРАММА НЕ ДОЛЖНА СОДЕРЖАТЬ ЛИШНИХ ПРЕДЛОЖЕНИЙ И ПАРАМЕТРОВ ДИРЕКТИВ

5) В модулях М1 и М2 использовать сегмент данных с комбинацией COMMON, в котором байтовая переменная A модуля М1 представляет 12-й байт и описана с помощью директив ORG и LABEL, а в модуле М2 для ее описания используются директивы DB. В модуле М1 в переменную А следует ввести без эха с клавиатуры символ, передать управление в модуль М2, где вывести этот символ на экран из А и завершить работу программы. Процедуры не использовать.
6) Программа должна содержать два модуля: М1 и М2 с одноименными сегментами кода CSEG и одноименными сегментами данных DSEG.
Модуль М1 должен иметь переменную D1 со значением 'D' в сегменте DSEG, процедуру PP1 и вызывать процедуру PP2,описанную в М2.
Модуль М2 должен иметь переменную D2 со значением 'd' в сегменте DSEG, переменную E2 со значением 'e' в сегменте ESEG, и в сегменте CSEG процедуру PP2, выводящую значение переменной D1 и возвращающую управление в PP1.
Сделать так, чтобы в исполняемой программе был один сегмент CSEG, один сегмент DSEG и чтобы программа выводила символ из D1 или из E2 в зависимости от того, находится директива EXTRN, описывающая переменную D1, вне описаний сегментов или внутри описания какого-либо сегмента

Если кто знает как решить напищите на [email protected] или стучите в асю 254738876
PM MAIL   Вверх
oleg1973
Дата 28.3.2005, 16:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

Репутация: 2
Всего: 34



Dr.No_xXx
уважаемый!
я так и не понял вам помощь нужна? или за вас лабу написать?
если так то вам в раздел работа


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
alexmuz
Дата 2.4.2006, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 2.4.2006

Репутация: нет
Всего: нет



Хотя бы подскажите по поводу первой задачи. Как сделать не используя команд передачи управления и директив EXTRN PUBLIC???
я не понимаю
два модуля - а как их связать???
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm для Windows/DOS"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm для Windows/Dos | Следующая тема »


 




[ Время генерации скрипта: 0.0595 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.