Listing (КП - резидентный загрузчик), страница 3

2017-12-28СтудИзба

Описание файла

Файл "Listing" внутри архива находится в следующих папках: КП - резидентный загрузчик, Резидентный загрузчик. Текстовый-файл из архива "КП - резидентный загрузчик", который расположен в категории "". Всё это находится в предмете "системное программирование" из 5 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "системное программирование" в общих файлах.

Просмотр 3 страницы текстового-файла онлайн

407 ;нужночтобы этот флагбыл сброшен

408

409 0293 A9 0000 test ax,0

410 0296 0F 850140 jnz exit_28h_handler

411

412 029A FA cli

413 029B 33 C0 xor ax,ax

414 029D 2E: 38 06 0560r cmp byte ptr cs:is_haveto_work,al;проверканеобходимос ти вызова+

415 функции загрузки

416 02A2 0F 840134 je exit_28h_handler

417 02A6 FB sti

418

419 prep_state ;проверка +

420 возможности и подготовка к загрузке

1 421 02A7 FA cli

1 422 02A8 2E: 80 3E 055Fr 01 cmp byte ptr cs:is_app_working,1;проверка работаетли уже +

423 приложение

1 424 02AE 74 BB je exit_09h_handler ;если да, то нельзя снова +

425 запускать процесс

1 426 02B0 B0 01 mov al,01h

1 427 02B2 2E: A2 055Fr mov byte ptr cs:is_app_working,al;указывает, что уже работает

1 428 02B6 8C D0 mov ax,ss ;сохраняет адреса +

429 стека прерванной программы

1 430 02B8 2E: A3 0567r mov word ptr cs:app_ss,ax

1 431 02BC 8B C4 mov ax,sp

1 432 02BE 2E: A3 0569r mov word ptr cs:app_sp,ax

1 433 02C2 8C C8 mov ax,cs ;переключает стек и+

434 все сегментныйрегистры

1 435 02C4 8E D8 mov ds,ax ;на резидент

1 436 02C6 8E C0 mov es,ax

1 437 02C8 8E D0 mov ss,ax

1 438 02CA BC 056Br lea sp,pr_stack

1 439 02CD 81 C40480 add sp,480h

1 440 02D1 FB sti

441

442 02D2 33 C0 xor ax,ax

443 02D4 2E: 3B 06 0561r cmp ax,word ptr cs:which_app ;анализ: какойфайл нужно +

444 загружать

445 02D9 75 7490 90 jne load_2

446

447 load_file exe1prog ;загрузка файла +

448 exe1.exe

1 449 02DD E8 FE48 call setEPB ;заполняет EPB

1 450 read_header exe1prog

2 451 02E0 B8 3D02 mov ax,3D02h ;открывает файл

2 452 02E3 BA 052Br lea dx,exe1prog

2 453 02E6 CD 21 int 21h

2 454 02E8 0F 82FE17 jc Error_IO

2 455 02EC A3 053Dr mov handle,ax

2 456 02EF 33 C0 xor ax,ax

Turbo Assembler Version 3.1 26/12/02 04:09:58 Page 9

loader.ASM

2 457 02F1 B4 3F mov ah,3Fh ;читает из файла

2 458 02F3 8B 1E053Dr mov bx,handle

2 459 02F7 B9 0020 mov cx,32 ;первые 32 байта

2 460 02FA BA 053Fr lea dx,header

2 461 02FD CD 21 int 21h

2 462 02FF 0F 82FE00 jc Error_IO

2 463 0303 B4 3E mov ah,3Eh ;закрывает файл

2 464 0305 8B 1E053Dr mov bx,handle

2 465 0309 CD 21 int 21h

2 466 030B 0F 82FDF4 jc Error_IO

1 467 030F B8 4B01 mov ax,4B01h ;загружает в память +

468 программу, указанную

1 469 0312 BB 04F3r lea bx,EPB ;в переменной exe1prog

1 470 0315 BA 052Br lea dx,exe1prog

1 471 0318 CD 21 int 21h

1 472 031A 0F 82FDE5 jc Error_IO

1 473 031E B4 62 mov ah,62h ;получает PSP прерванного процесса

1 474 0320 CD 21 int 21h

1 475 0322 83 C310 add bx,10h ;настраивает SS:SP на стек +

476 загруженной

1 477 0325 8B 26054Fr mov sp,word ptr header.10h

1 478 0329 8B C3 mov ax,bx ;программы

1 479 032B 03 06054Dr add ax,word ptr header.0Eh

1 480 032F 8E D0 mov ss,ax

1 481 0331 8B C3 mov ax,bx

1 482 0333 03 060555r add ax,word ptr header.16h

1 483 0337 50 push ax ;устанавливаетточку входа в

1 484 0338 A1 0553r mov ax,word ptr header.14h ;программу

1 485 033B 50 push ax

1 486 033C 83 EB10 sub bx,10h

1 487 033F 8E DB mov ds,bx ;настраивает ds и es на новый PSP

1 488 0341 8E C3 mov es,bx

1 489 0343 BA 03C6r lea dx,rest

1 490 0346 BB 000A mov bx,0ah

1 491 0349 89 17 mov [bx],dx ;точкувозврата на rest

1 492 034B CB retf

493 034C EB 7090 jmp after_load

494

495 034F load_2:

496 load_file exe2prog ;загрузка файла +

497 exe2.exe

1 498 034F E8 FDD6 call setEPB ;заполняет EPB

1 499 read_header exe2prog

2 500 0352 B8 3D02 mov ax,3D02h ;открывает файл

2 501 0355 BA 0534r lea dx,exe2prog

2 502 0358 CD 21 int 21h

2 503 035A 0F 82FDA5 jc Error_IO

2 504 035E A3 053Dr mov handle,ax

2 505 0361 33 C0 xor ax,ax

2 506 0363 B4 3F mov ah,3Fh ;читает из файла

2 507 0365 8B 1E053Dr mov bx,handle

2 508 0369 B9 0020 mov cx,32 ;первые 32 байта

2 509 036C BA 053Fr lea dx,header

2 510 036F CD 21 int 21h

2 511 0371 0F 82FD8E jc Error_IO

2 512 0375 B4 3E mov ah,3Eh ;закрывает файл

2 513 0377 8B 1E053Dr mov bx,handle

Turbo Assembler Version 3.1 26/12/02 04:09:58 Page 10

loader.ASM

2 514 037B CD 21 int 21h

2 515 037D 0F 82FD82 jc Error_IO

1 516 0381 B8 4B01 mov ax,4B01h ;загружает в память +

517 программу, указанную

1 518 0384 BB 04F3r lea bx,EPB ;в переменной exe2prog

1 519 0387 BA 0534r lea dx,exe2prog

1 520 038A CD 21 int 21h

1 521 038C 0F 82FD73 jc Error_IO

1 522 0390 B4 62 mov ah,62h ;получает PSP прерванного процесса

1 523 0392 CD 21 int 21h

1 524 0394 83 C310 add bx,10h ;настраивает SS:SP на стек +

525 загруженной

1 526 0397 8B 26054Fr mov sp,word ptr header.10h

1 527 039B 8B C3 mov ax,bx ;программы

1 528 039D 03 06054Dr add ax,word ptr header.0Eh

1 529 03A1 8E D0 mov ss,ax

1 530 03A3 8B C3 mov ax,bx

1 531 03A5 03 060555r add ax,word ptr header.16h

1 532 03A9 50 push ax ;устанавливаетточку входа в

1 533 03AA A1 0553r mov ax,word ptr header.14h ;программу

1 534 03AD 50 push ax

1 535 03AE 83 EB10 sub bx,10h

1 536 03B1 8E DB mov ds,bx ;настраивает ds и es на новый PSP

1 537 03B3 8E C3 mov es,bx

1 538 03B5 BA 03C6r lea dx,rest

1 539 03B8 BB 000A mov bx,0ah

1 540 03BB 89 17 mov [bx],dx ;точкувозврата на rest

1 541 03BD CB retf

542

543 03BE after_load:

544 03BE FA cli

545 03BF 33 C0 xor ax,ax

546 03C1 2E: A2 0560r mov byte ptr cs:is_haveto_work,al;сброс флага необходимости +

547 обработки

548 03C5 FB sti

549

550 03C6 rest:

551 rest_state +

552 ;восстановление после загрузки

1 553 03C6 FA cli

1 554 03C7 33 C0 xor ax,ax

1 555 03C9 2E: A2 055Fr mov byte ptr cs:is_app_working,al;указывает, что приложение +

556 большене работает

1 557 03CD 2E: A1 0567r mov ax, word ptr cs:app_ss ;восстанавливает стек прерванной +

558 программы

1 559 03D1 8E D0 mov ss,ax

1 560 03D3 2E: A1 0569r mov ax, word ptr cs:app_sp

1 561 03D7 8B E0 mov sp,ax

1 562 03D9 FB sti

563 +

564 ;сбросфлага невозможности работы

565

566 03DA exit_28h_handler:

567 03DA FB sti

568 03DB 07 pop es

569 03DC 1F pop ds

570 03DD 61 popa

Turbo Assembler Version 3.1 26/12/02 04:09:58 Page 11

loader.ASM

571

572 03DE CF iret

573 03DF int28h_handler endp

574

575 ;--------------------------------------- --------

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