Графикалық ақпаратты экран терминалына шығару

Графикалық ақпаратты экран терминалына шығару
BIOS видеодрайверінің графикалық мүмкіндіктері
Графикалық режимдегі програмалау есептері
EGA адаптері және оның бір бағыттағы басқару програмасы
Графикалық режимдегі EGA адаптерін тікелей програмалау есептері
        
        Жоспар
Графикалық ақпаратты экран терминалына шығару
BIOS видеодрайверінің графикалық мүмкіндіктері
Графикалық режимдегі програмалау ... ... және оның бір ... басқару програмасы
Графикалық режимдегі EGA адаптерін тікелей програмалау есептері
1.Графикалық ақпаратты ... ... ... ... ... мүмкіндіктері
EGA графикалық адаптер бұл екі графикалық беттің рұқсат ... ... ... ... және ... ... ... Адаптер 64
түспен қамтамасыз етілген, бірақ экран ... ... 16 ... ... олар оңай ... ... іске ... стандартты палитра
құрылады.
Барлық экрандағы фонды түс ... 16 ... ... ... және ... ... фоны бір уақытта өзгеріп отырады. ... ... ... және ол ... ... ... ... қозғамайды.
Еркін бейнелерден басқа, экран бетіне графикалық режимдегі мәтіндік
ақпаратты әртүрлі DOS және BIOS ... ... ... ... ... болады. Мысалы: INT 21h функциясы 40h немесе 09h
функциялары арқылы, INT 10 ... 09h ... 0Ah ... ... және т.б. ... ... шығарылады. Экрандағы жолды
позициялау үшін BIOS драйверінің 02h функциясын пайдаланылады. Ол курсордың
мәтіндік ... орын ... және ... ... ... ... ... шығарылған символдар графикалық және
мәтіндік режим дәл сол ... ... ... жолға графикалық
координаттың белгісімен шығаруға және бағыттарын өзгертуге ... ... ... ... ... ... ... Басқа
символдардың өлшемін немесе кескін ... ... үшін ... ... ... ... ... символды қолмен салу қажет. Кең
көлемдегі белгіленген көптеген қолдаңбалы програмалардың
(TURBO PASCAL-дің графикалық жүйелері және PAINT BRUSH ... ... ... ... бар.
Графикалық бейнелерді програмалау кезінде BIOS видеодрайверінің
функциясын пайдалануға болады. Олар ... ... ... ... ... пикселді шығару;
0fh- видеорежимді алу;
10h, функция асты 00h- реңдік регистрді орнату;
10h, функция асты 01h- экрандағы шеткі түсті ... ... асты 02h- ... ... регистрдің палитрасын орнату;
11h, функция асты 21h- графикалық режимде пайдаланушының ... ... Осы ... ... ... ... функциялар
пайдаланылады.(мысалы графикалық позициядағы пикселді оқу)
00h функциясы видеожүие режиміне ауысып, қосуға ... ... ... ... EGA ... ... ... коды- 03, ал
графикалық режимдегі коды-10h.
Екі ... де ... ... 0Fh ... ... ... (және де ағымдағы видеопарақты) анықтау керек және алынған
нәтижеге байланысты ауыстырып қосу режимін ... ... ... ... ... ... қосады. Парақтың нөмірі AL регистіріне
кіргізіледі. 10h режимінде (EGA) 0-ші және 1-ші ... ... Сол ... ... ... ... ауыстырып қосу кезінде ... ... ... ... параққа арналған бөлек блокты
жадылар бар. Сурет салу үшін ... 0Ch- ... ... ... ... DOS-та ... қолдайтын функция мүлдем
жоқ ) . AL регистріне пиксел түсінің мәні, BH ... ... ... ... DX- X және Y ... ... координаттарына лайықты жіберіледі.
X-тің координатасы 0 ден 639 дейін, ал Y- тің координатасы 0  ден ... ... (0,0) ... ... экранның сол жақтағы
жоғарғы ... ... ... ... ... және фонның түстері регистрдің түстерінің
ішіндегісімен беріледі және олар видеорежимінің ... ... ... 17 ... ... бар, олардың әрбіреуі 0 ден 63дейінгі
64 түсті кодты құра алады. 0 ден 15-ке ... ... ... мүмкін
болатын түстерін анықтаса, ал экрандағы рамка түсінің бүкіл жұмыс бөлігінің
айналасын 16-шы регистрді анықтайды, ... бұл рама ... ... фонға сәйкес келетін түсті меншіктейді. Берілген програмадағы кодтың
түсін (мысалы, 0Ch функциясы AL регистріне арналған) түс ... ... ... берілген пикселдің пайдаланушы жүйесінің регистр түсінің
нөмірі анықтайды.
Әрбір реңдік регистр 6 разрядтан тұрады және олар ... ... ... көк ... араластырғанда керек түсті беріп, анықтайды. 2/3максимады
интенсивті қызыл, жасыл және көк түстер 0-шы,1-ші және 2-ші ... ... ... со ... 3-ші, 4-ші және 5-ші ... ... |5 |4 |3 |2 |1 |0 ... | | | | | | ... |32 |16 |8 |4 |2 |1 ... | | | | | | ... |қ |Ж |к |Қ |Ж |К ... ... ... 1(К)-саны көк түсті, 2(Ж)-саны жасыл түсті,
Ж(Ж+C)-көк-жасыл түсті, 9(к+К)-ашық-көк ... ... ... ақ түстрді анықтайды.
Инициализацияау кезінде келесі сандар қатары енгізіледі:
|регист|0 |1 |2 ... | | | |
| |Mov |ycrnt |ycrnt |
| |Mov ... ... ... |
| |Mov |CX ... ... ... |Push |AX,x |инициализацияау |
| |Mov ... |xcrnt |
| |Mov ... ... санауыш |
| |Mov |CX ... ... ... |Push |AH,0Ch ... шығару |
| | | ... |
| |Mov ... түсі |
| |Mov |BH,0 |0-шы ... |
| |Mov ... ... ... |
| | | ... |
| |Mov ... ... ... жол|
| |Int |10h | |
| |Inc |xcrnt ... ... |
| |Pop |CX ... санауышты |
| | | ... ... |
| |Loop |loopx | |
| |Inc |ycrnt ... ... |
| |Pop |CX ... ... |
| | | ... ... |
| |Loop |loopy | |
| |Ret | ... шығу ... |Endp | | ... Негізгі програманың басы
...
• Графикалық режимді орнату
|mov |AH,0 |режимді орнату |
| | ... ... |AL,10h |10h ... |
| | ... тең ... |10h | ... ... пикселмен салу
...
• Call draw
• Прграманы тоқтау
...
• Мәліметтер алаңы
|x |dw |200 ... басы |
|y |dw |100 ... басы ... |dw |0 ... ... |dw |0 ... У-координатасы|
|xsize |dw |200 |Х-б-ша тіктөртбұрыштың |
| | | ... ... |dw |100 ... ... |
| | | ... ... |14 |сары түс ... 1.2. ... ... оқу. ... 16 ... ... мүмкін
болатын түстердің (төртбұрышты 0-шы реңдік регистр анықтайды және ол
көрінбейді ) ... ... ... ішіне түсі әртүрлі ұзын ... ... және ... ... ... ... дейін көрсетілуі керек.
Сонымен қатар, циклға 0,1,2,…63 дейінгі регистр сандарын кіргізіп, жоғарда
айтылған сызықтың түсін өзгертіп ... ... ... ... болу ... ... ... програмасына күту пернесін басып қосу қажет, ал
екіншіден, әрбір түстңі ауыстырар ... ... ... ... ... ... ... қажет. Програманы отладка жасап болғаннан
кейін түстердің ... ... ... ... ... ... ... қажет.
• Програманың негізгі фрагменттері
• Draw ... ... ... ... програмасы
...
• Draw ... ... ... ... ... ... орнату
• Тіктөртбұрышты пикселмен салу
| |mov |CX,16 |түстердің санауышы |
|rect:|push |CX ... ... |
| |call |draw ... ... |inc ... түс |
| |add |X,40 ... басы |
| |pop |CX ... ... |
| | | ... |
| |loop |rect | ... Ұзын ... ... Бұл үшін пайдаланып отырған draw бағыныңқы
програмасының параметрлер ... ... |mov |X,0 | ... |y,60 | |
| |mov ... |
| |mov ... | |
| |mov ... ... |
| | |4 ... ... Сызықты салу
• Call ... ... ... |AH,0Ch |күту функциясын |
| | ... ... |AL,08h ... ... | ... ... |21h | ... ... 4-ші ... 0 ден 63 ... түсті ауыстыру
| |mov |CX,64 ... ... ... |CX |оны ... |
| |mov |AH,0h |10h ... |
| |mov |AL,0 ... ... |
| | | ... |
| |mov |BH,4 |4-ші ... ... |
| | | |түс |
| |mov ... ... |
| |int |10h | ... ... ... шығару үшін:
1. mes деген мәліметті шығару үшін мәтіндік курсорды қалаған жерге
орнату.
|mov |AH,02h ... ... |
| | ... ... |BH,0 |0-шы ... ... |DH,10 |жолдың нөмірі ... |DL,10 ... ... ... |10h | ... ... ... ... ... ... ... |AL,palette |AL-дағы түс нөмірі |
|xor |AH,AH |AH-ты ... ... |AX,AX |AX-ты 2-ге ... ... |SI,AX |индекстік регистрге |
| | ... ... ... ... кіргізу |
| |table | ... ... |AX-қа ... |
| | ... кіргізу |
|mov |number,AX |оны ... |
| | ... |
3. ... ... шығару
|mov |AL,40 |шығару функциясы ... |BX,1 ... ... |
| | ... ... ... ... ... ... ... |жолдың адресі |
| |mes | ... |21h ... ... ... Түсті өзгерту
|Inc |palette|келесі түс ... |Cx ... ... |
| | ... келтіру |
• Програманы тоқтату
...
• Мәліметтер ... |dw |0 ... басы |
|Y |dw |20 ... басы ... |dw |0 ... ... |
|Ycrnt |dw |0 ... ... ... |dw |35 ... ... |
| | | ... ... |dw |40 ... тіктөртбұрыштың |
| | | ... ... |dw |0 ... түсі ... |dw |0 ... түсінің екілік |
| | | ... ... |db ... ... ... 4-ші |
| | ... ... |dw | ... ... |
| | | ... ... ... | | ... ... ... болатын түстер нөмірлерінің кестесі
Көңіл бөліңіздер, төмендегі сандардың барлығы екі байттан орын ... |db |‘0’ |‘1’ ... |push |CX |Оны ... |
| |mov |AH,0 |10h ... |
| |mov | ... ... | |AL,0 ... |
| |mov |BL,0 ... 0-ші |
| | | ... |
| |mov ... |Түстің нөмірі |
| |int |10h | ... ... ... ... ... ... 1.4. ... гамманы өзгерту. Экранға 16 қатарлы тіктөртбұрышты
мүмкін болатын түстерді ... ... 10һ ... ... ... тізбектей 4 әртүрлі палитраны беру қажет. Бір ... көк ... ... ... қызылды, үшіншісі жасылды ... сары ... ... ... ... ... фонның түсі және
экранның шеткі жағындағы түсіті қара қылып ... ... (бұл ... 60 түсті ғана шығаруға болады).
• Тіктөртбұрышты шығару програмшасы
...
• Негізгі програманың басы
...
• Графикалық режимді орнату
...
• Стандартты палитра түстерімен тіктөртбұрышты ... ... ... ES ... ... |AX,seg plt_blue ... |ES,AX ... Реңдік палитраның көк түстерін орнату
|Mov |AH,10h |10h ... ... |AL,2 ... |
| | ... |
| | ... ... ... ... ... |
| ... | ... |10h | ... Програманы тоқтату
...
• Реңдік палитраның қызыл түстерін орнату
...
• Програманы тоқтату
...
• Реңдік палитраның сары ... ... ... ... ... ... Мәліметтер алаңы
...
• Көк гамма
|Plt_blue |db ... |
| |db ... | |0 ... ... ... |db ... |
| |db |37,40,44,45,52,53,60,61,0|
| | |0 ... ... ... |db ... |
| |db ... | |0 ... Сары ... |db |00,14,22,06,23,24,30,38 |
| |Db ... | |0 ... 1.5. ... ... ... ... ... режимді және
фонның түсін орнату қажет. Әртүрлі ... ... ... ... ... ... ... фрагменттері
• Графикалық режимді орнату
...
• Фонның түсін орнату (мысалы, көк)
|mov |AH,10h |10h ... ... |AL,0 ... ... |
| | ... ... |BL,0 |Фонның регистрі |
|mov |BH,1 ... түсі ... |10h | ... ... курсорды орнату
|mov |AH,02h |Курсорды орнату |
| | ... ... |BH,0 |0-шы ... ... |DH,5 ... ... ... |
|mov |DL,20 |Бағана мәтінің нөмірі ... |10h | ... ... ... string ... ... Мәтіндік курсорды екі жолға төмен орнату
...
• BIOS құралы арқылы символды шығару
|Mov |AH,09h ... ... ... ... |AL,23 ... ... коды |
|Mov |BH,0 |0-шы ... ... |BL,0 ... түс ... |CX,4 ... ... ... |10h | ... ... ... ... ... ... алаңы
|String |db |Dos құралы ... ... ... |equ |$-string ... 1.6. BIOS ... ... графикалық режимде пайдаланушы шрифтін
орнату. ... ... ... ... емес ... екі ... ... керек. Графикалық режимге өту арқылы
қайта анықтайтын символды кодтан тұратын қандайда болсын ... ... ... Компьютер бастапқы жағдайда болса, онда олардың ... ... ... Егер ... ... іс әрекет жағдайда болса, онда
онда ол ... ... ... ... ... жүйелік кодтың
парағын, пайдаланушының парағына ауыстыру қажет. Ол үшін ... ... ... ... келетін BIOS функиясын 43h-ші векторға жүктеу
қажет және сол жолды шығару қажет.
Програманы аяқтағаннан кейін, DOS ... ... ... ... ... шығаруды ұйымдастыру қажет. Соңғы тапсырманы орындау
үшін келесі іс ... ... ... ... ... DOS Norton
Commander қоршамын жүктеу қажет және автоматты түрде кодты ... ... ... Програманың негізгі фрагменттері
• Графикалық режимді орнату(0h)
• Фонның түсін орнату
|Mov |AH,10h |10h функциясы ... |AL,0 ... ... ... ... ... |BL,0 |Фонның ... ... |BH,1 ... фоны ... |10h | ... Символдардың түсін орнату(мысалы,сары)
|Mov |AH,10h |10h функциясы ... |AL,0 ... ... ... ... |
|Mov |BL,07h |Ақ түсті регистр ... |BH,14 ... түс ... ... |10h | ... ... ... қандайда болсын бір жерге мәтіндік курсорды
орнату
....
• 21h үзілісті 09h функциясы арқылы str жолды шығару

... ... ... |AH,11h ... ... ... |
| | ... ... |AL,21h |40h ... ... ... |BL,2 ... 25 жол ... |CX,14 ... 14 сызық |
|Lea |BP,newchar |Кесте адресінің сипаттамасы ... |DS ... ... |ES ... ... ... |10h | ... Мәтіндік курсорды экранның басқа жеріне орнату
• Символдар өзгергеннен кейін сол жолды шығару
• Програманы тоқтату
...
• Програманы аяқтау
...
• Мәліметтер алаңы
|Str |db ... бос ... ... | |0 | |
| |db ... | |
| | ... | ... ... кодты кестесі (1-ші бөлік, 0-шы кодты өткізіп,
1-ші кодқа ауыстырамыз )
|newchar |db |14 dup (0) |Код ASCII |
| | | |0 |
| |db ... |Код ASCII |
| | | |1 |
| |db ... | |
| |db ... | |
| |db ... | |
| |db ... | |
| |db ... | |
| |db ... | |
| |db ... | |
| |db ... | |
| |db ... | |
| |db ... | |
| |db ... | |
| |db ... | |
| |db ... | ... ... бөліктегі кестенің қалдығын әртүрлі жай суреттермен
толтырып, орнына бос орын қалдыру.
|db |30 dup (5 dup(0),4 dup (07Eh), 5 dup ... |14 dup ... бос орын ... ... |95 dup (5 dup (0), 4 dup (07Eh), 5 dup |
| |(0)) ... Пайдаланушының кодтық кестесінің 2- щі бөлігі ... ... ... тез ... ... ... |Код ASCII 128 ... |10011001B | ... ... | ... ... | ... ... | ... |10100101B | |
|db ... | ... ... | ... ... | ... |10100101B | ... ... | ... ... | ... ... | ... |11111111B | ... ... ... басқа жай суреттермен толтыру
|db |127 dup (4 dup (0), 6 dup (018h), |
| |4dup (0)) ... EGA ... және оның бір ... ... програмасы
EGA графикалық адаптері графикалық контролерді және бейнені сақтау үшін
арналған буферді енгізеді. EGA-ны бір ... ... үшін ... ... ... және сол ... арқылы контролердің регистріне
жету жүзеге асырылады. EGA-ның програмалық ... ... ... ол адаптердің платасында орналасқан видеобуфердің
көлемімен және пайдаланып отырған монитордың сипаттамасымен анықталады.
Экранның әрбір түсінің нүктесі 16 мәнге дейін қабылдай ... және ... 4 ... талап етеді. Соларды сақтау үшін барлық видеобуфер төрт
биттік жазықтыққа бөлінеді (сурет 1.1 ... ... AFFFFh ... ... 0-ші ... парақтың адресі басталса, ал А8000h-тан
1-ші графикалық парақтың адресі басталады) компьютердің кеңістік ауданының
адресінде ... ... ... ... ... 28000 ... дейін
пайдаланылады (640*350:8).
Пикселдер
0-7 ... |0 |1 | ... |
| | | | ... | |
|2 |0 |1 | ... |
| | | | ... | |
|1 |0 |1 | ... |
| | | | ... | |
|0 |0 |1 |2 ... |
| | | | ... | |
| |80 |81 |82 ... |
| | | | ... | |
| |160 |161 |162 ... |
| | | | ... | ... 1.1. ... ... бір ... адрес жазықтығы экрандағы бір ... ... ... ... ... адрестелген байтты бейнесін құрастырады, ал
биттің үлкені байт сол ... ... ... оң ... 7.2-ші ... Бір ... ... көлденең жатқан сегіз көрші нүктелердің
бейнесін қалыптастырады.
7 6 5 4 3 2
1 0
| | | | | | | | ... ... жақ ... жақ ... ең сол жақтағы нүктенің жануы
С0h- екі сол жақтағы нүктенің жануы
01h- ең оң жақтағы нүктенің жануы
FFh- барлық 8 ... ... 1.2. ... ... жазықтықтардың құрамына операциялар тікелей видеожадыда емес, төрт
сегіз разрядтық регистр-бекіткіштерден қалыптасатын аралық буферде ... ... ... бір ... ... ... ... байтты
оқу биттен жазықтықтықтағы барлық төрт ... ... ... ... ауысуына әкеледі. Бұл мәліметтер бекіткіштерде
сақталады және өзгермейтін түрде ... ... ... ... бейне
байтын жазу процесінде видеобуферге кері ... ... ... ... ... ... ... едәуір күрделі түрде төрт
объектінің құрамына ... ... ... ... ... ... түс ... регистріжәне бит қалқасының бетпердесі.
Мәліметтердің минималды жіберілетін бөлігі байт ... ... ... ... ... ... ... жүзеге асырылады. Әрине,
байттың бөлек беттерін қалқалау және экран нүктелерінің аз санына, соның
ішінде біреуіне әсер етуі ... ... ... бұл ... видеобуферден бүтін байтты оны келесіде сол орынға ... ... ... ... ... жазуды үш режиммен қамтамасыз етеді. Режим
нөмірі режим регистрінде орнатылады, оған жету 3СFh ... ... ... ... осы ... 0 ден 8 дейінгі 9 басқарушы регистрлер
адрестеледі; режим ... ... ... 5-те ... | | | | |х |х |х |
| | | |1 |1 |0 |х |х |
| | | |1 |1 |0 |х |х |
| | | |0 |1 |0 |х |х ... | | |0 |0 |0 |1 |1 ... ... | | |* |* |* |0 |1 |

Пән: Информатика
Жұмыс түрі: Курстық жұмыс
Көлемі: 23 бет
Бұл жұмыстың бағасы: 500 теңге









Ұқсас жұмыстар
Тақырыб Бет саны
Мәліметтер визуализациясы4 бет
Microsoft Power-Point4 бет
Turbo pascal6 бет
Turbo Pascal бағдарламасындағы графикалық режим9 бет
Turbo Pascal жүйесіндегі графиканы ұйымдастыру технологиясы21 бет
Turbo pascal программалау тілі туралы8 бет
Windows операциялық жүйесі жайлы5 бет
Графиктік режимге көшу адаптері25 бет
Паскаль жүйесіндегі графика24 бет
С++ тілі туралы жалпы мағлұматтар11 бет


Исходниктер
Пәндер
Көмек / Помощь
Арайлым
Біз міндетті түрде жауап береміз!
Мы обязательно ответим!
Жіберу / Отправить


Зарабатывайте вместе с нами

Рахмет!
Хабарлама жіберілді. / Сообщение отправлено.

Сіз үшін аптасына 5 күн жұмыс істейміз.
Жұмыс уақыты 09:00 - 18:00

Мы работаем для Вас 5 дней в неделю.
Время работы 09:00 - 18:00

Email: info@stud.kz

Phone: 777 614 50 20
Жабу / Закрыть

Көмек / Помощь