mov semaf,1 { якщо да - установка семафора }
@k2:cmp cpu_type,2
je @k3
db 66h
@k3:iret
end;
procedure int_30h;assembler; { Обpобник програмного }
asm { пеpеpивання 30h: }
cmp ah,2 { AH - номер функцiї }
jz @i1 { BL - номер рядка екрана }
cmp ah,3 { BH - номер стовпця екрана }
jz @i2 { AL - значення байта/символу }
cmp ah,4 { DH - вiдеоатpибут символу }
jz @i3 { SI - змiщення рядка символiв }
mov ax,bx { Функцiя 1: установка маркера в задану точку екрана }
xor bh,bh
mov bl,ah
xor ah,ah
mov dl,80
mul dl
add ax,bx
shl ax,1
mov di,ax
jmp @i4
@i1: { Функцiя 2: виведення символу на екран }
mov ah,dh
stosw
jmp @i4
@i2: { Функцiя 3: виведення байта на екран у виглядi 2-х символiв }
mov ch,al
mov bx,offset hex_tabl
mov ah,dh
mov cl,4
shr al,cl
xlat
stosw
mov al,ch
and al,$0f
xlat
stosw
jmp @i4
@i3: { Функцiя 4: виведення рядка символiв на екран }
mov ah,dh
mov bx,si
inc si
mov cl,[bx]
xor ch,ch
@wxy:
lodsb
stosw
loop @wxy
@i4:cmp cpu_type,2
je @i5
db 66h
@i5:iret
end;
end.
4.12. Iндiвiдуальнi завдання
При виконаннi кожного iз нижчеперелiчених iндивiдуальних завдань необхiдно:
a) перевести мiкропроцесор в захищений режим;
b) здiйснити дiї, передбаченi iндивiдуальним завданням;
c) повернутися в pеальний режим.
Перелiк iндивiдуальних завдань.
1. Вивести на екран значення сегментних регiстрiв.
2. Зберегти в областi пам'ятi вище 1 Мбайт поточний змiст вiдеопам'ятi в текстовому режимi з наступним вiдновленням зображення.
3. Створити в пам'ятi вище 1 Мбайта сегмент коду розмiром 512 байт, захищений вiд читання, i перевiрити роботу з ним.
4. Зберегти в областi пам'ятi вище 1 Мбайта поточний змiст вiдеопам'ятi в графiчному режимi з наступним вiдновленням зображення.
5. Створити в пам'ятi вище 4 Мбайт сегмент даних розмiром 4 Мбайти, захищений вiд запису, i перевiрити роботу з ним.
6. Розробити функцiю для виводу на екран значень змiнних типу Byte i Word.
7. Встановити розряднiсть даних за замовчуванням, рiвну 32, i перевiрити роботу з ними.
8. Забезпечити можливiсть модифiкацiї програм в захищеному режимi.
9. Встановити розряднiсть адреси по умовчанню, рiвну 32, i перевiрити роботу з нею.
10. Розробити процедуру читання сектора iз гнучкого магнiтного диска.
11. Розробити процедуру читання сектора iз жорсткого магнiтного диска.
12. Використовуючи процедуру читання сектора, зберегти в пам'ятi змiст дискети.
14. Використовуючи процедуру читання сектора, зберегти в пам'ятi вище 1 Мбайта змiст FAT дискети.
15. Використовуючи процедуру читання сектора, зберегти в пам'ятi вище 1 Мбайта змiст FAT роздiлу жорсткого диска.
16. Використовуючи процедуру читання сектора, зберегти в пам'ятi вище 1 Мбайта змiст кореневого каталога дискети.
17. Використовуючи процедуру читання сектора, зберегти в пам'ятi вище 1 Мбайта змiст кореневого каталога роздiлу жорсткого диска.
18. Виконати тестування пам'ятi вище 1 Мбайта.
19. Органiзувати в областi пам'ятi вище 1 Мбайта зберiгання набору шрифтiв iз можливiстю їхнього завантаження у вiдеопам'ять.
20. Розробити текстовий редактор, що працює з даними в областi пам'ятi вище 1 Мбайта.
21. Визначити розмiр вбудованої кеш-пам'ятi МП i кеш-пам'ятi другого рiвня персонального комп'ютера.
___________
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.