Ознайомлення з послідовністю дій при завантажені ОС. Анализ коду завантаження, що знаходиться в BIOS, в головному секторі завантаження та в секторі завантаження розділу

Страницы работы

Содержание работы

Мета роботи:

Ознайомлення з послідовністю дій при завантажені ОС. Анализ коду завантаження, що знаходиться в BIOS, в головному секторі завантаження

(MBR) та в секторі завантаження розділу (BOOT).

Хід роботи:

BIOS:

-u f000:f5be f5d9

F000:F5BE B80102        MOV   AX,0201                           

F000:F5C1 B90100        MOV   CX,0001                           

F000:F5C4 CD13          INT   13                                

F000:F5C6 7243          JB    F60B                              

F000:F5C8 F6C280        TEST  DL,80                             

F000:F5CB 740B          JZ    F5D8                              

F000:F5CD 26            ES:                                     

F000:F5CE 81BFFE0155AA  CMP   WORD PTR [BX+01FE],AA55           

F000:F5D4 7418          JZ    F5EE                              

F000:F5D6 EB62          JMP   F63A                              

F000:F5D8 26            ES:                                     

F000:F5D9 8B07          MOV   AX,[BX]                           

MBR:

-a 7000:0

7000:0000  int 13

7000:0002

-r ax

AX 0000

:0201

-r cx

CX 0000

:1

-r dx

DX 0000

:0080

-r es

ES 1F5A

:6000

-g=7000:0 7000:2

AX=0000  BX=0000  CX=0002  DX=0080  SP=FFEE  BP=0000  SI=0000  DI=0000 

DS=1F5A  ES=6000  SS=1F5A  CS=7000  IP=0002   NV UP DI PL ZR NA PE NC

7000:0002 CD21          INT   21                                

-u 6000:0 0086

6000:0000 FA            CLI                                     

6000:0001 33C0          XOR   AX,AX    - обнуляем

6000:0003 8ED0          MOV   SS,AX    - в ss 0

6000:0005 BC007C        MOV   SP,7C00  - настройка смещения ист

6000:0008 8BF4          MOV   SI,SP    - передача смещения

6000:000A 50            PUSH  AX       - в стек 0

6000:000B 07            POP   ES       - настройка сегмента прием

6000:000C 50            PUSH  AX       - в стек 0

6000:000D 1F            POP   DS       - настройка сегмента ист

6000:000E FB            STI                                     

6000:000F FC            CLD            - режим передачи

6000:0010 BF0006        MOV   DI,0600  - настройка смещения прием

6000:0013 B90001        MOV   CX,0100  - 256

6000:0016 F2            REPNZ          - пока не равно 0

6000:0017 A5            MOVSW          - пересылаем 512 байт

6000:0018 EA1D060000    JMP   0000:061D                         

6000:001D BEBE07        MOV   SI,07BE - на-ка на 1 б табл. раздел

6000:0020 B304          MOV   BL,04    - кол-во разделов         

6000:0022 803C80        CMP   BYTE PTR [SI],80                  

6000:0025 740E          JZ    0035                              

6000:0027 803C00        CMP   BYTE PTR [SI],00                  

6000:002A 751C          JNZ   0048                              

6000:002C 83C610        ADD   SI,+10   - следующая таблица

6000:002F FECB          DEC   BL       - в bl 3, 2

6000:0031 75EF          JNZ   0022     - зацикливаем 

6000:0033 CD18          INT   18       - стандартн. загрузчик

6000:0035 8B14          MOV   DX,[SI]                           

6000:0037 8B4C02        MOV   CX,[SI+02]                        

6000:003A 8BEE          MOV   BP,SI                              

6000:003C 83C610        ADD   SI,+10    - следующая таблица

6000:003F FECB          DEC   BL        - в bl 1, 0

6000:0041 741A          JZ    005D      - когда в bl 0 - прыжок

6000:0043 803C00        CMP   BYTE PTR [SI],00                  

6000:0046 74F4          JZ    003C      - зацикливаем

6000:0048 BE8B06        MOV   SI,068B   - на-ка смещения ист.

6000:004B AC            LODSB           - загрузить байт в al

6000:004C 3C00          CMP   AL,00     - сравнение с 0

6000:004E 740B          JZ    005B      - если там 0 - прыжок

6000:0050 56            PUSH  SI        - SI в стек

6000:0051 BB0700        MOV   BX,0007                           

6000:0054 B40E          MOV   AH,0E                             

6000:0056 CD10          INT   10          

6000:0058 5E            POP   SI          - SI из стека

6000:0059 EBF0          JMP   004B                              

6000:005B EBFE          JMP   005B        - задержка

6000:005D BF0500        MOV   DI,0005                           

6000:0060 BB007C        MOV   BX,7C00     - смещение источника

6000:0063 B80102        MOV   AX,0201     -2 функ. 1 сектор

6000:0066 57            PUSH  DI          - DI в стек 

6000:0067 CD13          INT   13                                

6000:0069 5F            POP   DI          - DI из стека

6000:006A 730C          JNB   0078                              

Похожие материалы

Информация о работе