DevioLab CRYPTO TRADING AUTOMATION
LIVE
AUTOMATED CRYPTO TRADING • BINANCE
Автоматизуйте свій криптопортфель
Торгові боти DevioLab аналізують крипторинок, автоматично відкривають і закривають позиції та керують вашим портфелем на Binance 24/7.
CRYPTO 80 Bots
BINANCE Spot Trading
TRADING 24 / 7
Спробувати DevioLab
deviolab.com

Управлiння вiдеосистемою IBM PC

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

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

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

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

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

Міністерство освіти і науки України Національний університет „Львівська політехніка” Кафедра електронних обчислювальних машин Звіт про виконання лабораторної роботи № 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горович mAx40v4ki34 ]═╝ Висновок: Виконуючи дану лабораторну роботу, я вивчив органiзацiю вiдеосистеми IBM PC, оволодiв навичками роботи з екранними операцiями – основними та розширеними властивостивостями, кольором та графiкою.
Антиботан аватар за замовчуванням

31.03.2013 15:10

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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