DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

DevioLab підбирає стратегії, відстежує ринки та автоматизує купівлю і продаж активів. Кількість доступних криптовалют, акцій і торгових можливостей зростає щодня.

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

Звіт про виконання лабораторної роботи № 7 з курсу «Системне програмування» на тему: «Управління відеосистемою IBM PC. Екранні операції – основні та розширені властивості, колір та графіка»

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних наук та інформаційних технологій
Факультет:
КН
Кафедра:
Кафедра електронних обчислювальних машин

Інформація про роботу

Рік:
2013
Тип роботи:
Звіт про виконання лабораторної роботи
Предмет:
Системне програмування
Група:
MAX40V4KI34
Коротко про документ

Про що ця робота

Звіт присвячено вивченню організації відеосистеми IBM PC та оволодінню навичками роботи з екранними операціями. У практичній частині розроблено програму на асемблері для визначення типу процесора, ПК та перевірки акумулятора.

У роботі розглядаються

  • Системне програмування
  • Відеосистема IBM PC
  • Екранні операції
  • Переривання BIOS
  • Моделювання вікон на асемблері
  • Визначення типу мікропроцесора

Зміст і розділи

  1. Мета роботи
  2. Короткі теоретичні відомості
  3. Завдання на лабораторну роботу
  4. Вміст .asm-файлу
  5. Результат виконання програми
  6. Висновок
Для кого:Студенти технічних спеціальностей вищих навчальних закладів, які вивчають системне програмування.
Викладачі:Не вказано

Ключові поняття

відеорежимбайт атрибутівпереривання int 10hекранні операціїBIOSстекдата сегмент

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти і науки України Національний університет „Львівська політехніка” Кафедра електронних обчислювальних машин Звіт про виконання лабораторної роботи № 7 з курсу „ Системне програмування ” Тема: Управлiння вiдеосистемою IBM PC. Екраннi операцiї – основнi та розширенi властивостi, колiр та графiка. Львів – 2004 Мета роботи: Вивчення органiзацiї вiдеосистеми IBM PC. Оволодiння навичками роботи з екранними операцiями – основними та розширеними властивостивостями, кольором та графiкою. Короткі теоретичні відомості Відеорежим визначає, чи на екран виводиться текст чи графіка, в кольорі чи в монохромному режимі і з якою кількістю кольорів. Текстовий режим використовується для виводу символів таблиці ASCII. В текстовому режимі байт атрибутів визначає властивості кожного символу, що виводиться. Коли програма встановлює атрибут, він залишається у встановленому стані до наступної явної зміни атрибутів. Тому всі подальші символи після того, для якого встановлений атрибут, будуть мати такі ж атрибути. Байт атрибутів має наступну структуру: Фон Символ  BL(блимання) R G B I(інтенсивність) R G B  7 6 5 4 3 2 1 0  Блимання та інтенсивність (яскравість) відносяться тільки до символу. Обробник переривання INT 10H виконує багато функцій, що застосовуються для роботи з дисплеєм: установка відео режиму (00Н), установка положення курсору (02Н), прокрутка екрану вверх (06Н), прокрутка екрану вниз (07Н), вивід символу в положення курсору (0АН), отримати поточний відео режим (0FН), вивід рядка символів (13Н), намалювати піксель (0CН). Завдання на лабораторну роботу Створити програму, що реалiзує вказаний викладачем варiант завдання. В якостi генератора вихiдних даних необхiдно використати програму, що була написана в ходi виконання лабораторної роботи №4. Варіант 9. Визначити тип мікропроцесора і тип ПЕОМ; перевірити, чи акумулятор функціонує нормально. Оформити програму у вигляді “вікна”.  Вміст .asm-файлу DOSSEG .MODEL SMALL .STACK 100h .DATA ProcMsg db 10,13,10,13,10,13,10,13,' ║ Type of microprocessor: $' P1Msg db '8086.$' P2Msg db '80286.$' P3Msg db '80386 or later.$' PCMsg db 10,13,10,13,' ║ Type of computer: $' ATMsg db 'AT.',10,13,10,13,'$' nonATMsg db 'non - AT.',10,13,10,13,'$' AcumOKMsg db ' ║ Acumulator is charged and working properly.$' AcumBadMsg db ' ║ Acumulator is not working properly!$' Header db '╔═════════════════════════════════════════════════════════╗',13,10 Middle db '║ ║',13,10 Footer db '╚.═.[. .в.и.к.о.н.а.в. . .С+о/р/о/к/е/в/и/ч/ /М+а/к/с/и/м/ /' db 'I+г/о/р/о/в/и/ч/ . . . . .m*A*x*4.0.v.4.k*i*3*4* . . .].═.╝.' LineFeed db 13,10,13,10,13,10,13,10,'$' .CODE begin: push ds sub ax,ax push ax mov ax,@data mov ds,ax mov ah,0 ;═╗ mov al,3 ; ║Set video mode int 10h ;═╝ ;************************************************************ Print window header mov bp,OFFSET Header mov ax,SEG Header mov es,ax mov ch,16 mov al,02h ;background mul ch mov bl,al add bl,0eh ;foreground(symbols) mov bh,0 mov dh,2 ;row mov dl,10 ;column mov cx,62 mov al,0 mov ah,13h ;BIOS write string function int 10h ;print window header ;************************************************************ Print window middle mov dh,2 ;row mov bh,0 mov dl,10 ;column mov cx,62 mov bp,OFFSET Middle mov al,0 mov ah,13h ;BIOS write string function win: inc dh int 10h ;print window middle cmp dh,9 ; is row 9 (last) printed ? jl win mov dh,5 ;row int 10h ;print window middle ;************************************************************ Print window footer mov bh,0 mov dh,10 ;row mov dl,10 ;column mov cx,62 mov bp,OFFSET Footer mov al,2 mov ah,13h ;BIOS write string function int 10h ;print window footer ;-----Detection of microprocessor type mov dx,OFFSET ProcMsg mov ah,09 int 21h mov ax,0000 push ax popf pushf mov ax,0000 pop ax CMP ax,0F000h JZ i8086 JMP else1 i8086: mov dx,OFFSET P1Msg else1: mov ax,0F000h push ax popf pushf mov ax,0000 pop ax CMP ax,0000 JZ i80286 mov dx,OFFSET P3Msg JMP print1 i80286: mov dx,OFFSET P2Msg print1: mov ah,09 int 21h ;-----Detection of PC type mov dx,OFFSET PCMsg mov ah,09 int 21h MOV ax,0F000h MOV ds,ax MOV bx,0FFFEh MOV dl,[bx] mov ax,@data mov ds,ax CMP dl,0FCh JZ isAT mov dx,OFFSET nonATMsg JMP print2 isAT: mov dx,OFFSET ATMsg print2: mov ah,09 int 21h ;-----Acumulator check mov al,0Eh OUT 70h,al nop IN al,71h nop AND al,80h CMP al,80h JZ Bad mov dx,OFFSET AcumOKMsg JMP print3 Bad: mov dx,OFFSET AcumBadMsg print3: mov ah,09 int 21h ;-----EXIT mov dx,OFFSET LineFeed mov ah,09 int 21h mov ah,4Ch int 21h END begin Результат виконання програми ╔══════════════════════════════════════════════════════════╗ ║ ║ ║ Type of microprocessor: 80386 or later. ║ ║ ║ ║ Type of computer: AT. ║ ║ ║ ║ Acumulator is charged and working properly. ║ ║ ║ Висновок: Виконуючи дану лабораторну роботу, я вивчив органiзацiю вiдеосистеми IBM PC, оволодiв навичками роботи з екранними операцiями – основними та розширеними властивостивостями, кольором та графiкою.
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!