4Текст (1071377), страница 2

Файл №1071377 4Текст (КП - вывод текста на экран) 2 страница4Текст (1071377) страница 22017-12-28СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 2)

sti

mov ax, 4C00h

int 21h

; push cs

; pop ds

; mov dx, offset cant_unload2_msg ; вывести сообщение

; jmp short exit_with_msg

exit_pnt: ; точка выхода

push cs

pop ds

mov dx, offset unloaded_msg

push 0

jmp short exit_with_msg

init_entry_pnt: ; точка входа в програму

cld

; чтение параметров командной строки

call read_cmd

cmp byte ptr cs:[di], '/'

jne not_unload

inc di

cmp byte ptr cs:[di], 'u'

jne check_next

; если программа запущена с ключом "/u", выгрузить

mov byte ptr unloading, 1

jmp not_unload

check_next:

cmp byte ptr cs:[di], '?'

jne not_unload

; программа вызвана с ключом '/?'

mov dx, offset helpmsg

call show_msg

jmp start_scan

not_unload: ; вывести сообщение о правилах использования программы

mov dx, offset usage

call show_msg

start_scan:

mov ah, -1 ; сканируем свободные ID'ы от 0 до FFh

more_mux:

xor al, al ; обнуляем AL - функция AMIS проверки наличия резидента

; вызов функции AMIS 00 - проверка наличия резидента

int 2Dh

cmp al, 00h ; идентификатор свободен?

jne not_free ; нет - сделать прыжок

mov byte ptr mux_id, ah ; да - вписать его в код обработчика

jmp short next_mux

not_free: ; идентификатор занят

mov es, dx

mov si, offset amis_sign

mov cx, 16 ; сравнить первые 16 байт

repe cmpsb

jcxz already_loaded ; если не совпадают -

; перейти к следующему идентификатору

next_mux:

dec ah

jnz more_mux

free_mux_found:

cmp byte ptr unloading, 1 ; нас вызвали для выгрузки?

je cant_unload1 ; выгрузка невозможна

cmp byte ptr mux_id, 0

je jp_nomux ; идентификаторы кончились

jmp next_lab

jp_nomux:

jmp no_more_mux

;

next_lab:

mov ah, 34h

int 21h

dec bx

mov word ptr in_dos_addr, bx

mov word ptr in_dos_addr+2, es

; перехват прерываний - сохранение старых обработчиков и вызов новых

mov ax, 352Dh

int 21h

mov word ptr old_int2Dh, bx

mov word ptr old_int2Dh+2, es

mov ax, 3509h

int 21h

mov word ptr old_int09h, bx

mov word ptr old_int09h+2, es

mov ax, 252Dh

mov dx, offset int2Dh_handler

int 21h

mov ax, 2509h

mov dx, offset int09h_handler

int 21h

mov ah, 49h

mov es, word ptr envseg

int 21h ; освободить память для переменных окружения

mov dx, offset init

int 27h ; terminate and stay resident

show_msg proc near

mov ah, 9

int 21h

ret

show_msg endp

read_cmd proc near

mov al, cmd_len

dec al

dec al

mov di, offset cmd_line

xor ah, ah

add di, ax

ret

read_cmd endp

init endp

usage db 'STSR release 1', 13, 10

db 'Copyright (C) 2001 by LORD', 13, 10, '$'

helpmsg db 'Программа предназначена вывода строк по запросу пользов

теля. ', 13, 10

db 'Вызвать резидент можно, нажав Ctrl+U', 13, 10, 13,

10

db 'USAGE:', 13, 10

db 'STSR - загрузить программу', 13, 10

db 'STSR /? - вызов справки', 13, 10, '$'

db 'STSR /u - выгрузить программу', 13, 10,

'$'

; символьные массивы для вывода

already_msg db 'Ошибка: Программа уже загружена в память', 13, 10, '$'

no_more_mux_msg db 'Ошибка: слишком много резидентов в памяти', 13, 10, '$'

cant_unload1_msg db 'Ошибка: программа не обнаружена в памяти', 13, 10, '$'

cant_unload2_msg db 'Ошибка: другая программа перехватила прерывания', 13, 10,

'$'

unloaded_msg db 'Программа успешно выгружена из памяти', 13, 10, '$'

pars db 'Params received', 13, 10, '$'

in_dos_addr dd ?

unloading db 0

end start

1Помощь 2>> 3 4Коды 5 6 7Поиск 8Фоpмат 9Печать 10Выход

Характеристики

Тип файла
Документ
Размер
86,5 Kb
Тип материала
Высшее учебное заведение

Список файлов курсовой работы

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6367
Авторов
на СтудИзбе
310
Средний доход
с одного платного файла
Обучение Подробнее