Skip to content

Лабораторная работа №4

Anton Sorokin edited this page Feb 26, 2020 · 1 revision

Сегменты и внешние имена

Задача 1

Составить программу из двух модулей. Модуль lr05-1-1.asm содержит описание стека, сегмента данных с переменной X db R и сегмент кода с точкой входа. lr05-1-1.asm управление передаётся в lr05-1-2.asm (в программе должен быть один сегмент кода), где выполняется вывод в видеопамять значения из X в 3-ю строку и 2-й столбец и выход из ПОДпрограммы по RET. Видеопамять должен представлять сегмент DS2 второго модуля, используя директивы ORG и LABEL поместите в его начало переменную CA типа BYTE со значением '0', а во второе знакоместо в третьей строке – переменную Z типа WORD. Для заполнения Z использовать AX, поместив в AL значение X, а в AH - число 10 (формат вывода).

Задача 2

Составить программу из двух модулей. Модули lr05-2-1.asm и lr05-2-2.asm должны иметь описание сегмента памяти SD1, начинающееся с одного и того же параграфа ОП. В SD1 модуля lr05-2-1.asm должно быть объявлено слово W с начальным значением 3444h, а в SD1 модуля lr05-2-2asm должны быть объявлены байтовые переменные C1 и C2. Сегмент кода должен быть объявлен только во втором модуле. Программа должна выводить значения C1 и C2 в виде символов.

Задача 3

Составить одномодульную программу lr05-3-1.asm, содержащую только один сегмент кода и три сегмента данных SD1, SD2, SD3. Сегменты данных должны иметь длины 64К-2 и описания байтовых переменных S1, S2, S3 с начальными значениями. Эти значения вывести в виде символов последовательно, начиная с новых строк.

Задача 4

Составить программу из двух исходных модулей. Модуль 1 должен содержать описания сегмента стека SSTK, сегмента данных SD1 (с переменной X DB 'X') и часть описания сегмента кода SC1. Модуль 2 должен содержать описание сегмента данных SD2 (с переменной Y DB 'Y') и другую часть описания кода в сегменте SC2. Управление должен получить Модуль 1 и сразу передать управление в Модуль 2 командой JMP. В Модуле 2 следует поменять значения переменных X и Y, вывести значение переменной Y (т.е. символ 'X') по функции 2 DOS и выйти из программы по функции 4Ch команды INT 21h