Главная » Просмотр файлов » Текст_Программы

Текст_Программы (1071473), страница 2

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

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

1 321 0320 B0 21 mov AL,21h ;Номер вектора

1 322 0322 CD 21 int 21h

1 323 0324 89 1E 0107r mov word ptr old_21h,BX ;Сохраним старое IP

1 324 0328 8C 06 0109r mov word ptr old_21h+2,ES;Сохраним старое CS

1 325 032C C3 ret

1 326 032D SaveOldVectors endp

1 327

1 328 032D SetNewVectors proc

1 329 ;Заполним вектор мультиплексного прерывания 2Fh

1 330 032D B4 25 mov AH,25h ;Функция заполнения вектора

1 331 032F B0 2D mov AL,2Dh ;Номер вектора

1 332 0331 BA 0171r mov DX, offset new_2Dh ;Адрес нового обработчика

1 333 0334 CD 21 int 21h

1 334 ;Заполним вектор DOS прерывания 21h

1 335 0336 B4 25 mov AH,25h ;Функция заполнения вектора

1 336 0338 B0 21 mov AL,21h ;Номер вектора

1 337 033A BA 01BDr mov DX, offset new_21h ;Адрес нового обработчика

1 338 033D CD 21 int 21h

1 339 033F C3 ret

1 340 0340 SetNewVectors endp

1 341

1 342 0340 CmdLine proc

_Turbo Assembler Version 3.1 21/12/02 20:12:37 Page 7

log.asm

1 343 ;Получим хвост комманы из PSP

1 344 0340 26: 8A 0E 0080 mov CL,ES:80h ;Длина хвоста из PSP

1 345 0345 80 F9 00 cmp CL,0

1 346 0348 74 15 je ahead ;Программа запущена без параметров

1 347 034A 32 ED xor CH,CH ;Теперь CX=CL=длина хвоста

1 348 034C 8B D1 mov DX,CX ;Сохраним CX в DX

1 349 034E BE 03ACr lea SI, tailHelp ;DS:SI->поле tailHelp в проге

1 350 0351 8B CA mov CX,DX ;Восстановим CX из DX

1 351 0353 E8 0038 call scanHelp

1 352 0356 WrongParam: ;Введен неверный параметр

1 353 0356 BB 0454r lea BX, MesWrongParam

1 354 0359 E8 FF14 call PrintStr

1 355 035C E8 0041 call Help

1 356 035F ahead:

1 357 035F B4 C8 mov AH,0C8h ;Наша функция прерывания 2Fh

1 358 0361 B0 00 mov AL,00 ;Подфункция проверки установки

1 359 0363 CD 2D int 2Dh

1 360 0365 3C FF cmp Al,0FFh

1 361 0367 75 11 jne NOT_I

1 362 ;Прервем резидентную копию программы

1 363 0369 B4 C8 mov AH,0C8h ;Наша функция прерывания 2Fh

1 364 036B B0 01 mov AL,01h ;Подфункция прерывания

1 365 036D CD 2D int 2Dh

1 366 036F BB 0415r lea BX,MesUnloaded

1 367 0372 E8 FEFB call PrintStr

1 368 ;Первая копия программы выгружена. Завершим и эту.

1 369 0375 B8 4C00 mov ax,4c00h ;Завешим программу обычным образом

1 370 0378 CD 21 int 21h ;код завершения = 0

1 371 037A NOT_I:

1 372 037A C3 ret

1 373 037B CmdLine endp

1 374

1 375 037B scanUnload proc

1 376 ;Процедура сканирования хвоста на пробелы

1 377 037B FC cld ;Вперед

1 378 037C BF 0081 mov DI,81h ;ES:DI->хвост в PSP

1 379 037F F3> AE repe scasb

1 380 0381 4F dec DI ;DI->на первый символ после пробелов

1 381 0382 B9 0002 mov CX,2 ;Ожидаемая длина праметра

1 382 0385 F3> A6 repe cmpsb ;Сравниваем введенный текст с ожидаемым

1 383 0387 75 04 jne GoExitUnload ;Введена неизвестная комманда

1 384 0389 FE 06 03AEr inc UnloadFlag ;Установим флаг на выгрузку

1 385 038D GoExitUnload:

1 386 038D C3 ret

1 387 038E scanUnload endp

1 388

1 389 038E scanHelp proc

1 390 ;Процедура сканирования хвоста на пробелы

1 391 038E FC cld ;Вперед

1 392 038F BF 0081 mov DI,81h ;ES:DI->хвост в PSP

1 393 0392 F3> AE repe scasb

1 394 0394 4F dec DI ;DI->на первый символ после пробелов

1 395 0395 B9 0002 mov CX,2 ;Ожидаемая длина праметра

1 396 0398 F3> A6 repe cmpsb ;Сравнивае введенный текст с ожидаемым

1 397 039A 75 03 jne GoExitHelp ;Введена неизвестная комманда

1 398 039C E8 0001 call Help ;Вывод справки

1 399 039F GoExitHelp:

_Turbo Assembler Version 3.1 21/12/02 20:12:37 Page 8

log.asm

1 400 039F C3 ret

1 401 03A0 scanHelp endp

1 402

1 403 03A0 Help proc ;Процедура вызова справки и

1 404 ;завершение программы

1 405 03A0 BB 0471r lea BX, MesHelp

1 406 03A3 E8 FECA call Printstr

1 407 03A6 B8 4C02 mov AX,4c02h ;Завешим программу обычным образом

1 408 03A9 CD 21 int 21h ;код завершения = 1

1 409 03AB C3 ret

1 410 03AC Help endp

1 411

1 412 ;Поля для транзитной части программы

1 413

1 414 03AC 2F 3F tailHelp db '/?'

1 415 03AE 00 UnloadFlag db 0 ;Флаг требования выгрузки

1 416 03AF 00000000 temp_2Dh dd 0

1 417 03B3 00000000 temp_21h dd 0

1 418 03B7 8F E0 AE A3 E0 A0 AC+ MesLoaded db 'Программа ',22h,'Регистратор событий',22h,' успешно загружена +

419 AC A0 20 22 90 A5 A3+ в память.',10,13,0

420 A8 E1 E2 E0 A0 E2 AE+

421 E0 20 E1 AE A1 EB E2+

422 A8 A9 22 20 E3 E1 AF+

423 A5 E8 AD AE 20 A7 A0+

424 A3 E0 E3 A6 A5 AD A0+

425 20 A2 20 AF A0 AC EF+

426 E2 EC 2E 0A 0D 00

1 427 03F5 8F AE A2 E2 AE E0 AD+ db 'Повторная загрузка запрещена.',10,13,0

428 A0 EF 20 A7 A0 A3 E0+

429 E3 A7 AA A0 20 A7 A0+

430 AF E0 A5 E9 A5 AD A0+

431 2E 0A 0D 00

1 432 0415 8F E0 AE A3 E0 A0 AC+ MesUnloaded db 'Программа ',22h,'Регистратор событий',22h,' успешно выгружена из +

433 AC A0 20 22 90 A5 A3+ памяти.',10,13,0

434 A8 E1 E2 E0 A0 E2 AE+

435 E0 20 E1 AE A1 EB E2+

436 A8 A9 22 20 E3 E1 AF+

437 A5 E8 AD AE 20 A2 EB+

438 A3 E0 E3 A6 A5 AD A0+

439 20 A8 A7 20 AF A0 AC+

440 EF E2 A8 2E 0A 0D 00

1 441 0454 8D A5 A2 A5 E0 AD EB+ MesWrongParam db 'Неверный вызов прогаммы.',10,13,10,13,0

442 A9 20 A2 EB A7 AE A2+

443 20 AF E0 AE A3 A0 AC+

444 AC EB 2E 0A 0D 0A 0D+

445 00

1 446 0471 91 A8 AD E2 A0 AA E1+ MesHelp db 'Синтаксис вызова прогаммы ',22h,'Регистратор событий',22h,': LOG.COM +

447 A8 E1 20 A2 EB A7 AE+ [/?]',10,13

448 A2 A0 20 AF E0 AE A3+

449 A0 AC AC EB 20 22 90+

450 A5 A3 A8 E1 E2 E0 A0+

451 E2 AE E0 20 E1 AE A1+

452 EB E2 A8 A9 22 3A 20+

453 4C 4F 47 2E 43 4F 4D+

454 20 5B 2F 3F 5D 0A 0D

1 455 04B0 84 AB EF 20 A7 A0 A3+ db 'Для загрузки в память: LOG.COM',10,13

456 E0 E3 A7 AA A8 20 A2+

_Turbo Assembler Version 3.1 21/12/02 20:12:37 Page 9

log.asm

457 20 AF A0 AC EF E2 EC+

458 3A 20 4C 4F 47 2E 43+

459 4F 4D 0A 0D

1 460 04D0 84 AB EF 20 A2 EB A3+ db 'Для выгрузки из памяти: LOG.COM',10,13

461 E0 E3 A7 AA A8 20 A8+

462 A7 20 AF A0 AC EF E2+

463 A8 3A 20 4C 4F 47 2E+

464 43 4F 4D 0A 0D

1 465 04F1 84 AB EF 20 A2 EB A2+ db 'Для вывода справки: LOG.COM /?',10,13,0

466 AE A4 A0 20 E1 AF E0+

467 A0 A2 AA A8 3A 20 4C+

468 4F 47 2E 43 4F 4D 20+

469 2F 3F 0A 0D 00

1 470 0512 8D A5 A2 AE A7 AC AE+ MesOtherLoaded db 'Невозможно выгрузить программу ',22h,'Регистратор событий',22h,' из +

471 A6 AD AE 20 A2 EB A3+ памяти.',10,13

472 E0 E3 A7 A8 E2 EC 20+

473 AF E0 AE A3 E0 A0 AC+

474 AC E3 20 22 90 A5 A3+

475 A8 E1 E2 E0 A0 E2 AE+

476 E0 20 E1 AE A1 EB E2+

477 A8 A9 22 20 A8 A7 20+

478 AF A0 AC EF E2 A8 2E+

479 0A 0D

1 480 0553 82 AE A7 AC AE A6 AD+ db 'Возможно для векторов 2Dh, 21h были установлены новые обработчики +

481 AE 20 A4 AB EF 20 A2+ прерываний',10,13,0

482 A5 AA E2 AE E0 AE A2+

483 20 32 44 68 2C 20 32+

484 31 68 20 A1 EB AB A8+

485 20 E3 E1 E2 A0 AD AE+

486 A2 AB A5 AD EB 20 AD+

487 AE A2 EB A5 20 AE A1+

488 E0 A0 A1 AE E2 E7 A8+

489 AA A8 20 AF E0 A5 E0+

490 EB A2 A0 AD A8 A9 0A+

491 0D 00

1 492

493 05A2 text ends

494 end main

12


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

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

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

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