Главная страница   
Экстренная связь
Сейчас на сайте

Админов: 0
Работников: 0
Клиентов: 1
Гостей: 6

Вход
Логин:  
Пароль:  
На заказ
Разместить заявку
Программирование
Информатика
Базы данных
Бухгалтерский учёт
Экономика, Аудит
Финанс. менеджмент
Финансовый анализ
Эконом. теория
Эконом. предприятия
Финансы и кредит
Менеджмент
Маркетинг
Юриспруденция
Право
Психология
Математика
Физика
ОТУ
Радиотехника
Электроника
Схемотехника
Механика
Метрология
Перефразирование
История
Английский
Студентам ТУСУР-а
Другой предмет
Готовые работы
Найти готовую
Программирование
Экономика, Аудит
Бухгалтерский учёт
Финансы и кредит
Юриспруденция
Право
История
Психология
Механика
Информация
О сайте
Контакты
Наши цены
Наши гарантии
Способы оплаты
Вопросы и ответы
Отзывы клиентов
Вакансии
Написать письмо
Мы работаем
ЕЖЕДНЕВНО
с 9:30 до 23:30 msk
Поиск по сайту
Полезное
Теор.выч.процессов
Разное
Облака тегов
Архив заказов
Карточные игры
Преподы-монстры
Антиплагиат
Мысли вслух

















Бизнес-уровень
программирование
экономика
юриспруденция




Проверить аттестат


Бизнес-уровень
математика
физика
психология




Проверить аттестат




Яндекс цитирования






Грызи гранит не портя зубы;)


Яндекс.Метрика









Класс!









Stats









Логин: Пароль:       

KURSOVIK.COM 12 лет ONLINE KURSOVIK.COM

Поиск готовой работы
KURSOVIK.COM работаем с 2001 года
ВКонтактеFacebookНаш Instagram
Вычислительные машины, системы и сети

Вычислительные машины, системы и сети

ЗаказатьДисциплина 'Вычислительные машины, системы и сети' изучается по учебному пособию:
В.В. Одиноков 'ЭВМ и вычислительные системы' - Томск,2002 - 133 с.
2 текстовые лабораторные работы по заданию в учебном пособии.

ЛАБОРАТОРНЫЕ РАБОТЫ

Введение

В процессе выполнения данных лабораторных работ студенты должны получить навык по программированию драйверов для управления ПУ. При этом в качестве ПУ рассматриваются наиболее доступные и распространенные устройства - экран и клавиатура.
При выполнении лабораторных работ требуется доступ к MS-DOS, запускаемой в среде операционной системы Windows 95 или 98. А также требуется наличие системных программ: 1) Tasm - транслятор ассемблера; 2) Tlink - редактор связей; 3) Debug - отладчик.
Результаты лабораторных работ оформляются в виде файлов, пересылаемых в ТМЦДО на дискете. Все исходные программы (файлы с расширением asm) должны быть снабжены программными комментариями. При этом особое внимание следует уделить вводным комментариям, поясняющим назначение и интерфейсы программных модулей.

Лабораторная работа №1
ПРОГРАММИРОВАНИЕ ДРАЙВЕРА ЭКРАНА

Задание

Требуется реализовать программно нерезидентный драйвер экрана с видеоадаптером CGA, логическая схема которого приведена на рис.40. Кроме того, требуется разработать прикладную программу, выполняющую вывод на экран ваших фамилии и имени, и, возможно, другой информации (по вашему усмотрению), используя для вывода на экран ваш драйвер. Цвет символов, выводимых на экран, а также цвет фона должны быть выбраны из таблицы 3 в зависимости от номера вашего варианта.

Таблица 3
К Цвет символов Цвет фона
1 черный зеленый
2 синий коричневый
3 зеленый красный
4 голубой черный
5 красный сиреневый
6 сиреневый зеленый
7 коричневый голубой
8 белый черный
9 серый ярко-красный
10 ярко-синий ярко-зеленый
11 ярко-зеленый ярко-белый
12 ярко-голубой ярко-красный
13 ярко-красный желтый
14 ярко-сиреневый ярко-синий
15 желтый ярко-голубой
16 ярко-белый желтый
17 серый ярко-красный
18 ярко-синий серый
19 ярко-зеленый ярко-синий
20 ярко-голубой желтый

Результат выполнения работы оформляется в виде двух файлов с расширением asm (исходные тексты прикладной программы и драйвера) и одного файла с расширением com (загрузочный модуль прикладной программы и драйвера). Все файлы должны быть помещены в каталог LAB1.

Рекомендуемый план отладки

Рекомендуется выполнять отладку драйвера экрана не целиком, а постепенно наращивая его функции в соответствии со следующим планом.
Шаг 1. Прикладная программа выполняет вызов процедуры инициализации, за которым следуют ожидание нажатия клавиши и возврат в MS-DOS. Процедура инициализации выполняет только очистку экрана заданным цветом фона.
Шаг 2. Отличается от шага 1 только тем, что процедура инициализации выполняет не только очистку экрана, но и первоначальную установку курсора.
Шаг 3. Прикладная программа выполняет вызов процедуры инициализации, за которым следуют ожидание нажатия клавиши. Далее она в цикле вызывает процедуру вывода символа, передавая ей каждый раз на вход код следующего символа из символьной строки, заданной в прикладной программе. Данная строка завершается каким-то особым байтом, например, 24h. После завершения вывода прикладная программа ожидает нажатия клавиши и выполняет возврат в MS-DOS.
Шаг 4. Отличается от шага 3 тем, что выводимая на экран символьная строка содержит кроме других символов "возврат каретки" и "перевод строки".
Примечание 1. При выполнении отладки обычно требуется уметь остановить выполнение программы в заданной точке. В данной работе при выполнении прикладной программы подобная остановка используется дважды. Во-первых, после завершения процедуры инициализации, так как требуется время на перемещение курсора. Во-вторых, программа приостанавливается перед возвратом в MS-DOS. В противном случае сразу же после возвращения управления из прикладной программы в MS-DOS, последняя заменит на экране выходные данные программы своими данными.
Для выполнения остановки программы можно воспользоваться си-стемным вызовом BIOS "ожидание ввода с клавиатуры" - INT 16h (функция 0), поместив в программу строки:

MOV AH, 0 ; Номер функции
INT 16h ; Вызов подпрограммы BIOS

Примечание 2. Обе программы не должны содержать системных вызовов MS-DOS и BIOS, выполняющих вывод на экран.
Примечание 3. При отладке подпрограммы, выполняющей работу с курсором, надо помнить, что подпрограммы MS-DOS и BIOS, выполняющие вывод на экран, будут игнорировать вашу установку курсора и вернут его в то положение, которое он занимал до начала выполнения вашей программы (соответствующее 2-х байтовое значение хранится в области данных BIOS). Например, если вы пользуетесь отладчиком, то во время работы курсор перестает "слушаться" вашу программу и не двигается с места.
Примечание 4. Так как драйвер экрана и прикладная программа находятся в разных исходных файлах, то имена программных процедур, выполняющих реализацию логических процедур "Инициализация экрана" и "Вывод символа"должны быть перечислены в операторах PUBLIC и EXTRN, причем оператор EXTRN с атрибутом NEAR.
Примечание 5. Если программная процедура выполняет запись в регистр DS, то в начале этой процедуры обязательно требуется сохранить, а в конце ее восстановить прежнее содержимое этого регистра. Иначе в вызывающей программе будет нарушена адресация данных.

Лабораторная работа №2
ПРОГРАММИРОВАНИЕ ДРАЙВЕРА КЛАВИАТУРЫ

Задание

Требуется разработать программу нерезидентного драйвера клавиатуры, выполняющего запросы прикладных программ по вводу символов с клавиатуры. Драйвер должен обрабатывать управляющую клавишу , выполняющую переключение регистров. Перед возвратом в MS-DOS выполняется восстановление системной обработки прерываний от клавиатуры.
Для проверки работоспособности драйвера клавиатуры используется прикладная программа, которая, используя драйвер клавиатуры, выполняет ввод символьной строки с клавиатуры в свой внутренний (прикладной) буфер. Получив код символа $ (24h), прикладная программа выводит содержимое своего буфера на экран, используя для этого драйвер экрана, полученный в результате первой лабораторной работы.
При правильной работе программы введенная с клавиатуры строка должна отобразиться на экране дважды: один раз при наборе на клавиатуре (эхо символов), а второй раз - как результат вывода на экран содержимого прикладного буфера.
Результат выполнения работы оформляется в виде двух файлов с расширением asm (исходные тексты прикладной программы и драйвера клавиатуры) и одного файла с расширением com (загрузочный модуль, включающий прикладную программу, а также драйверы экрана и клавиатуры). Все файлы должны быть помещены в каталог LAB2.

Логическая схема ввода с клавиатуры

На рис.41 приведена логическая схема, обеспечивающая посимвольный обмен с клавиатурой. В реализации этого обмена участвуют контроллер клавиатуры, а также разработанный в предыдущей работе драйвер экрана.
Для того чтобы выполнить ввод с клавиатуры, любая системная или прикладная программа вызывает интерфейсную логическую процедуру драйвера клавиатуры "Ввод символа". Если в буфере драйвера имеется хотя бы один символ (N>0), то этот символ в качестве выходного параметра передается в прикладную программу. При отсутствии символа в прикладную программу возвращается соответствующее значение признака результата r. Исходной причиной появления кода символа в буфере драйвера является нажатие соответствующей клавиши на клавиатуре. Взаимосвязь между этими двумя событиями обеспечивают контроллер клавиатуры и обработчик прерываний. Как показано на рис.41, логическая структура контроллера клавиатуры представляет собой совокупность двух процес-сов - "Прием" и "Выдача". Процесс "Прием" инициируется при нажатии, а также при отпускании любой клавиши и помещает генерируемый клавишей код (SCAN-код) во внутренний 4-позиционный буфер контроллера. В результате появления кода в буфере SCAN-кодов инициируется процесс "Выдача", находившийся в состоянии "Вход 1". Данный процесс выбирает код из буфера, помещает его в порт 60h и выдает в ЦП сигнал прерывания.
Если прерывание разрешено, инициируется модуль "Обработчик прерываний клавиатуры", который считывает SCAN-код из порта 60h и сообщает контроллеру о завершении этой операции установкой бита 7 в порте 61h. Это приводит к инициированию процесса "Выдача", находившегося в состоянии "Вход 2". Данный процесс возвращается в состояние "Вход 1". Далее опять выбирается SCAN-код из буфера, и описанные выше действия повторяются.



























S - код символа
N - счетчик символов
M - цвет символа (0r - признак результата (0 - успешно;
1 - символа пока нет)

Рис.41. Логическая схема ввода с клавиатуры

После установки бита 7 в 61h обработчик прерываний выполняет обработку принятого SCAN-кода. Обработка кода, вызванного нажатием алфавитно-цифровой клавиши, сводится к преобразованию SCAN-кода в код ASCII, размещению полученного кода в буфер драйвера и к выводу эха символа.
Необходимость вывода "эха" обусловлена тем, что клавиатура и экран не связаны между собой на уровне контроллеров. Для того чтобы видеть на экране вводимый символ, необходимо выполнить связывание на уровне драйверов. Как видно из рис.41, для этого достаточно, чтобы при нажатии отображаемого символа обработчик прерываний клавиатуры вызвал логическую процедуру "Вывод символа".
Логическая процедура "Инициализация" имеет единственный входной параметр u: u=0 - выполнить замену системного обработчика прерываний клавиатуры на свой обработчик; u=1 - выполнить замену своего обработчика прерываний клавиатуры на системный обработчик.

SCAN - коды

SCAN-код - однобайтовое число, младшие 7 бит которого представляют идентификационный код клавиши. Старший бит кода (бит 7) указывает на то, была ли клавиша нажата (0) или освобождена (1). Например, 7-битный SCAN-код клавиши "v" есть 47 (или 0101111b). Когда эту клавишу нажимают, в порт 60h контроллер записывает код 00101111b, а когда отпускают - 10101111b.
Значения SCAN-кодов приведены в таблице 4. В этой таблице при-ведены SCAN-коды только тех клавиш, которым соответствуют отображаемые на экране символы. Что касается управляющих клавиш, то приведен код только для клавиши , которая обрабатывается нашим драйвером.

Таблица 4
SCAN- коды клавиш
Наименование клавиши SCAN-код Наименование клавиши SCAN-код
1 ! 0000010 a A 0011110
2 @ 0000011 s S 0011111
3 # 0000100 d D 0100000
4 $ 0000101 f F 0100001
5 % 0000110 g G 0100010
6 ^ 0000111 h H 0100011
7 & 0001000 j J 0100100
8 * 0001001 k K 0100101
9 ( 0001010 l L 0100110
0 ) 0001011 ; : 0100111
- _ 0001100 ' " 0101000
= + 0001101 \ | 0101011
q Q 0010000 z Z 0101100
w W 0010001 x X 0101101
e E 0010010 c C 0101110
r R 0010011 v V 0101111
t T 0010100 b B 0110000
y Y 0010101 n N 0110001
u U 0010110 m M 0110010
i I 0010111 , < 0110011
o O 0011000 . > 0110100
p P 0011001 / ? 0110101
[ { 0011010 Пробел 0111001
] } 0011011 Caps Lock 0111010
Enter 0011100

Алгоритмы программных модулей

Алгоритмы программных модулей драйвера клавиатуры имеют много общего с алгоритмами программных модулей драйвера считывателя перфоленты (см. п.5.3.3). В частности, буфер драйвера клавиатуры представляет собой несвязанную циклическую очередь, алгоритмы работы с которой очень похожи на соответствующие алгоритмы драйвера ввода с перфоленты. Но между этими драйверами есть и существенные отличия, вызванные прежде всего техническими деталями управления конкретным устройством (клавиатурой).
Алгоритм программной реализации логической процедуры "Инициализация" состоит из следующих шагов:
Шаг 1. Если u=1 переход на шаг 4 .
Шаг 2. Сохранение в ОП прежнего содержимого вектора прерываний с номером 09h.
Шаг 3. Запись стартового адреса обработчика прерываний клавиатуры в вектор прерываний с номером 09h. Переход на шаг 5.
Шаг 4. Восстановление прежнего содержимого вектора прерываний с номером 09h.
Шаг 5. Возврат из процедуры.
Алгоритм обработчика прерываний клавиатуры включает шаги:
Шаг 1. Разрешение маскируемых прерываний.
Шаг 2. Сохранение в программном стеке содержимого регистров.
Шаг 3. Запись в сегментный регистр DS значения, которое соответ-ствует адресу-сегменту данных обработчика прерываний.
Шаг 4. Чтение из порта 60h значения SCAN-кода.
Шаг 5. Установка бита 7 порта 61h.
Шаг 6. Сброс бита 7 порта 61h.
Шаг 7. Если была отпущена клавиша , то инвертирование флага статуса клавиатуры. Переход на шаг 14.
Шаг 8. Если было отпускание клавиши, то переход на шаг 14.
Шаг 9. Если буфер полон, то переход на шаг 14.
Шаг 10. Перекодировка SCAN-кода в символ ASCII.
Шаг 11. Запись символа ASCII в буфер драйвера.
Шаг 12. Вывод "эха" полученного символа на экран.
Шаг 13. Если полученный символ является символом "возврат ка-ретки" (этот символ есть результат нажатия ), то запись в буфер и вывод на экран дополнительного символа "перевод строки".
Шаг 14. Выдача в программируемый контроллер прерываний команды для разрешения менее приоритетных прерываний.
Шаг 15. Восстановление содержимого регистров из стека.
Шаг 16. Возврат из прерывания в прерванную программу.
Дополнение к шагам 5 и 6. Порт 61h используется не только клавиатурой (она использует только бит 7), но и другими устройствами. Поэтому к моменту завершения шага 6 содержимое этого порта должно быть тем же, что было до начала шага 5.
Дополнение к шагам 7 и 10. Большинству клавиш соответствует не один, а два символа. Например, одна и та же клавиша соответствует символам "1" и "!". Каждой большой (прописной) букве соответствует малая (строчная). Для того чтобы обработчик прерываний выполнял правильное преобразование SCAN-кода в код ASCII, необходимо ввести понятие "состояние клавиатуры". В одном состоянии в буфер драйвера записывается код ASCII большой буквы, а во втором - малой. Часто состояния клавиатуры называют "нижним регистром" и "верхним регистром".
Для отслеживания состояния клавиатуры обработчик прерываний должен иметь двоичную переменную "флаг статуса клавиатуры". Для управления этим флагом рекомендуется использовать управляющую клавишу . Нажатие, а затем отпускание обеспечивает долговременное изменение флага статуса, которое действует до следующего нажатия этой же клавиши.
При программировании шага 10 удобно свести значения SCAN-кодов и соответствующих кодов ASCII в единую таблицу. Первая строка этой таблицы может иметь вид:
Tabl DB 02h, '1', '!'
Строка таблицы, соответствующая пробелу:
DB 39h, ' ', ' '
В данной таблице отсутствует строка, соответствующая управляю-щему символу CapsLock. В качестве последнего байта таблицы рекомендуется взять нулевой байт.
Шаг11 рекомендуется реализовать в виде программной процедуры.
Алгоритм подпрограммы "Ввод символа" состоит из следующих шагов:
Шаг 1. Сохранение в программном стеке содержимого регистров.
Шаг 2. Если буфер пуст, то возврат в программу с соответствующим значением признака результата.
Шаг 3. Переписка символа из буфера в регистр, используемый для передачи символа из подпрограммы в вызывающую программу.
Шаг 4. Увеличение указателя "взять" и уменьшение счетчика символов.
Шаг 5. Если указатель "взять" вышел за границу буфера, то установка его на начало буфера.
Шаг 6. Восстановление регистров из стека.
Шаг 7. Возврат из подпрограммы с соответствующим значением признака результата.

Рекомендуемый план отладки

Отладку программы драйвера клавиатуры рекомендуется выполнить в два этапа.
Этап 1. Обеспечение вывода на экран содержимого прикладного буфера, а также обеспечение вывода на экран "эха" символов, вводимых с клавиатуры. В прикладной буфер с помощью псевдооператора DB записывается какая-то символьная строка, заканчивающаяся каким то особым символом, например, с кодом 24h. Прикладная программа сначала вызывает процедуру инициализации экрана, а затем процедуру инициализации клавиатуры с параметром u=0. Затем она выводит посимвольно содержимое прикладного буфера на экран с помощью соответствующей процедуры драйвера экрана. При достижении конечного символа (с кодом 24h) прикладная программа в цикле вызывает процедуру драйвера клавиатуры "Ввод символа" до тех пор, пока от нее не будет получен символ с определенным кодом, в качестве которого опять можно использовать 24h. После этого прикладная программа вызывает процедуру инициализации клавиатуры с параметром u=1 и делает возврат в MS-DOS. Обработчик прерываний клавиатуры должен правильно реагировать на нажатие каждой клави-ши, помещая (если нужно) ее код в буфер драйвера клавиатуры и выводя эхо символа на экран (с помощью процедуры драйвера экрана).
Этап 2. Окончательная отладка драйвера клавиатуры. Для этого изменяется прикладная программа, использовавшаяся на шаге 1: после завершения инициализации экрана и клавиатуры прикладная программа выполняет ввод с клавиатуры (с помощью процедуры "Ввод символа") строки символов в свой прикладной буфер. Ввод в прикладной буфер производится до тех пор, пока прикладная программа не получит символ с кодом 24h. Далее повторяются действия этапа 1: прикладная программа выводит содержимое своего прикладного буфера на экран, а затем в цикле вызывает процедуру "Ввод символа". При получении кода 24h восстанавливается системный обработчик прерываний клавиатуры и делается возврат в MS-DOS.
Примечание. Разработанные программы не должны содержать системных вызовов MS-DOS и BIOS, выполняющих информационный обмен с клавиатурой и экраном.
КОНТРОЛЬНАЯ РАБОТА № 2

РАЗРАБОТКА ПРОГРАММЫ НА АССЕМБЛЕРЕ

Целью выполнения данной работы является проверка навыков программирования на ассемблере задач, описание которых приведено в настоящем пособии.
Результаты контрольной работы представляются в виде файлов на дискете:
1) файл (файлы) с расширением asm - исходный модуль (модули) разработанной программы (программ);
2) файл (файлы) с расширением com - загрузочный модуль (модули) разработанной программы (программ).
Общие требования к программам:
обязательное наличие комментариев в исходных модулях - заголовков к программным модулям и построчных комментариев;
текст каждого исходного модуля должен быть представлен в коде ASCII. (Такой текст может быть получен, например, с помощью текстового редактора, встроенного в Norton commander);
запрещается применение команд для процессоров, отличных от i8086;
обязательное наличие выходных сообщений программы, предваряющих ввод пользователя с клавиатуры;
обязательное наличие выходных сообщений в случае ошибок при выполнении системных вызовов.
Разработка некоторых программ предполагает использование для ввода и вывода не системных вызовов MS-DOS и BIOS, а собственных драйверов экрана и клавиатуры, полученных ранее при выполнении лабораторных работ. Наличие такого требования обязательно отмечается в соответствующем задании на программирование. В этом случае результаты контрольной работы должны включать, кроме перечисленных выше файлов, загрузочные модули используемых драйверов (копии файлов, представленных в результатах лабораторных работ).
Кроме того, некоторые программы должны быть резидентными. Это требование также обязательно отмечается в задании.

Варианты контрольной работы №2

Вариант 1. Резидентная программа инициируется нажатием клавиши и выводит на экран ваши имя и фамилию, записанные английскими буквами. При нажатии клавиши программа уничтожается.
Примечание. Для вывода на экран следует использовать свой драйвер экрана.
Вариант 2. Резидентная программа инициируется нажатием клавиши и выводит на экран ваши имя и фамилию, записанные русскими буквами. При нажатии клавиши программа уничтожается.
Примечание. Для вывода на экран следует использовать свой драйвер экрана.
Вариант 3. Разработать простейший отладчик программ, который получает имя загрузочного модуля прикладной программы в качестве своего параметра, и выполняет эту программу покомандно, выдавая после завершения каждой ее команды на экран содержимое регистров AX и BX в шестнадцатеричной системе счисления. (Некоторый аналог команды T Debug.)
Примечание 1. Работа программы основана на запуске трассируемой программы и обработке исключения "Трассировка" (см. замечание в конце п.2.6.2).
Примечание 2. Для вывода на экран шестнадцатеричного содержи-мого регистров можно использовать программную процедуру, алгоритм которой рассматривается в [2].
Вариант 4. Разработать простейший отладчик программ, который вводит с клавиатуры имя загрузочного модуля прикладной программы, и выполняет эту программу покомандно, выдавая после завершения каждой ее команды на экран содержимое регистров CX и DX в двоичной системе счисления. (Некоторый аналог команды T Debug.)
Примечание 1. Работа программы основана на запуске трассируемой программы и обработке исключения "Трассировка" (см. замечание в конце п.2.6.2).
Примечание 2. Для вывода на экран двоичного содержимого регистров можно использовать программную процедуру, алгоритм которой рассматривается в [2].
Вариант 5. Разработать простейший интерпретатор команд, выполняющий обработку командных файлов (bat-файлов). Имя командного файла вводится с клавиатуры. Имя запускаемой программы (строка bat-файла) не имеет параметров. После завершения запуска очередной программы на экран выводится сообщение об успешности запуска.
Вариант 6. Разработать простейший интерпретатор команд, выполняющий обработку командных файлов (bat-файлов). Имя командного файла интерпретатор команд получает при своем запуске (в качестве параметра команды). Имя запускаемой программы (строка bat-файла) не имеет параметров. После завершения запуска очередной программы на экран выводится сообщение об успешности запуска.
Вариант 7. Прикладная программа выполняет запуск другой (дочерней) прикладной программы, получив предварительно ее имя с клавиатуры. При своем запуске дочерняя программа получает на входе (в PSP) строку символов, которую она выводит на экран.
Примечание. Для вывода на экран дочерняя программа должна использовать ваш драйвер экрана.
Вариант 8. Прикладная программа выполняет запуск другой (дочерней) прикладной программы, получив ее имя в качестве своего параметра (хвоста команды). При своем запуске дочерняя программа получает на входе (в PSP) строку символов, которую она выводит на экран.
Примечание. Для вывода на экран дочерняя программа должна использовать ваш драйвер экрана.
Вариант 9. Прикладная программа выводит на экран содержимое своего блока окружения.
Примечание. Для вывода на экран программа должна использовать ваш драйвер экрана.
Вариант 10. Прикладная программа выполняет уничтожение файла. Имя уничтожаемого файла вводится с клавиатуры.
Примечание. Для ввода с клавиатуры и для вывода на экран следует использовать ваши драйверы.
Вариант 11. Прикладная программа вводит с клавиатуры имя нового текстового файла, записывает в него содержимое своего блока окружения, а также "хвоста", а затем выводит содержимое этого файла на экран.
Вариант 12. Прикладная программа вводит с клавиатуры имя существующего текстового файла, "дописывает" в него содержимое своего блока окружения, а также "хвоста", а затем выводит содержимое этого файла на экран.
Вариант 13. Резидентная программа инициируется из прикладной программы, выполняя вывод на экран блока окружения и "хвоста" при-кладной программы.
Примечание. Для того чтобы обрабатывать данные вызывающей программы, содержимое регистров сегментов данных должно соответствовать прикладной, а не резидентной программе.
Вариант 14. Прикладная программа вводит с клавиатуры имена двух существующих текстовых файлов, а затем инициирует резидентную программу (передав ей на вход через PSP имена файлов), которая "расширяет" первый файл, добавив в него содержимое второго файла.
Вариант 15. Прикладная программа вводит с клавиатуры имя существующего текстового файла, а затем выводит его содержимое на экран.
Примечание. Для вывода на экран следует использовать свой драйвер экрана.
Вариант 16. Прикладная программа получает в качестве параметра команды имя существующего текстового файла, а затем выводит его содержимое на экран.
Примечание. Для вывода на экран следует использовать свой драйвер экрана.
Вариант 17. Прикладная программа вводит с клавиатуры имя тек-стового файла, содержащего имена других текстовых файлов. А затем выводит на экран содержимое этих текстовых файлов.
Вариант 18. Прикладная программа получает в качестве параметра команды имя текстового файла, содержащего имена других текстовых файлов. А затем выводит на экран содержимое этих текстовых файлов.
Вариант 19. Прикладная программа выполняет копирование файла. Имена исходного файла и файла-копии вводятся с клавиатуры.
Примечание. Для вывода на экран следует использовать свой драйвер экрана.
Вариант 20. Прикладная программа выполняет копирование файла. Имя исходного файла вводится с клавиатуры, а имя файла-копии программа получает в качестве параметра команды.
Примечание. Для вывода на экран следует использовать свой драйвер экрана.



 Форма заказа 

   Для удобства наших клиентов, проходящих обучение в ТУСУР-е, была создана форма заказа.
С помощью нее Вы можете БЕСПЛАТНО УЗНАТЬ СТОИМОСТЬ выполнения нужных Вам заданий и заказать выполнение работ по тем дисциплинам, которые Вам необходимы.
   Вы также можете прислать заявку по электронной почте на наш E-mail адрес tusur@kursovik.com

Пожалуйста заполните все необходимые поля формы:

Ваше имя:
Ваш город:
Ваша страна:
Ваш E-mail:
Сотовый:
ICQ:
Ваша учебная специальность:
Код для расчета варианта:

Список дисциплин, которые необходимо выполнить:

Пример заполнения: Методичка 'СИНЕРГЕТИКА ДЛЯ ПРОГРАММИСТОВ' В.М. Зюзьков
2 текстовые контрольные работы по заданиям в учебно-методическом пособии:
1. Контрольная работа №1 на стр 154 вариант 15
2. Контрольная работа №2 на стр 157 вариант 9


Чтобы приложить к заявке файл, нажмите кнопку
(максимальный размер файла не должен привышать 20 Мб)

ВНИМАНИЕ ! Если заданий много, нет смысла прикладывать методички (если они стандатрные) просто напишите автора, название методички и год издания - этого будет более чем достаточно, если какой-либо методички у нас не окажется - мы у Вас ее запросим отдельно в ходе перписки по заказу.


Работы необходимо выполнить до:


Введите код с картинки:
код


ВНИМАНИЕ ! На работу предоставляется гарантия - т.е. мы БЕСПЛАТНО внесем в ее текст все необходимые дополнения/изменения (в разумных пределах) если это потребуется в будущем (в течение 6-и месяцев). Другими словами - в течение полугода Вы можете обращаться с любыми мелкими доработками(дополнениями) этого заказа - всё сделаем бесплатно и в кратчайшие сроки. Если дополнения будут значительно существенными (более 20 процентов)), то тогда уже за отдельную плату. Практика показала, что с первого раза работу не принимают ни при каких обстоятельствах, даже если она выполнена безупречно, всё равно преподаватель находит там ошибки, а зачастую просто их выдумывает. Обычно работу удается защитить со второго или третьего раза, мы уже к этому привыкли. Мы будем исправлять ошибки в работе столько раз, сколько этого требует Ваш преподаватель.

© 2001-2016 kursovik.com