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


Жоспар

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

BIOS видеодрайверінің графикалық мүмкіндіктері

Графикалық режимдегі програмалау есептері

EGA адаптері және оның бір бағыттағы басқару програмасы

Графикалық режимдегі EGA адаптерін тікелей програмалау есептері

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

1. 1. BIOS видеодрайверінің графикалық мүмкіндіктері

EGA графикалық адаптер бұл екі графикалық беттің рұқсат етілген 640x350 түсті пикселді сақтаумен және бейнелеумен қамтамасыз етеді. Адаптер 64 түспен қамтамасыз етілген, бірақ экран бетіндегі бейнелер 16 түсті құрайды және олар оңай өзгереді. Машина іске қосылғанда стандартты палитра құрылады.

Барлық экрандағы фонды түс әртүрлі 16 түсті қабылдай береді және екі жақтағы беттің фоны бір уақытта өзгеріп отырады. Фонды түсті өзгертуге болады және ол экран бетіне шығарылған бейнені қозғамайды.

Еркін бейнелерден басқа, экран бетіне графикалық режимдегі мәтіндік ақпаратты әртүрлі DOS және BIOS функцияларын пайдаланып, экранға жолды символдарды шығаруға болады. Мысалы: INT 21h функциясы 40h немесе 09h функциялары арқылы, INT 10 функциясы 09h немесе 0Ah функцилары арқылы шығарады және т. б. функциялары арқылы шығарылады. Экрандағы жолды позициялау үшін BIOS драйверінің 02h функциясын пайдаланылады. Ол курсордың мәтіндік координаттарының орын орнатады және графикалық режимде шығарылмайды. Сондай-ақ экран бетіне шығарылған символдар графикалық және мәтіндік режим дәл сол орынға түседі. Мәтіндік жолға графикалық координаттың белгісімен шығаруға және бағыттарын өзгертуге болмайды. Символдардың кескін үйлесімі (конфигурация) кодты кестеден алынады. Басқа символдардың өлшемін немесе кескін бейнесін шығару үшін кодты кестені сәйкестендіріп дайындау керек немесе символды қолмен салу қажет. Кең көлемдегі белгіленген көптеген қолдаңбалы програмалардың

(TURBO PASCAL-дің графикалық жүйелері және PAINT BRUSH графикалық редакторы ) осындай тәсілдері бар.

Графикалық бейнелерді програмалау кезінде BIOS видеодрайверінің функциясын пайдалануға болады. Олар төмендегідей:

00h- видеорежимді орнату;

05h- видеопарақтарды орнату;

0ch- пикселді шығару;

0fh- видеорежимді алу;

10h, функция асты 00h- реңдік регистрді орнату;

10h, функция асты 01h- экрандағы шеткі түсті орнату;

10h, функция асты 02h- түрлі түсті регистрдің палитрасын орнату;

11h, функция асты 21h- графикалық режимде пайдаланушының кесте шрифтімен толтыру. Осы аталғандардан басқа көптеген шектеулі функциялар пайдаланылады. (мысалы графикалық позициядағы пикселді оқу)

00h функциясы видеожүие режиміне ауысып, қосуға рұқсат береді. Көлемі 256кб видеобуферлі EGA адаптерінін мәтіндік режимдегі коды- 03, ал графикалық режимдегі коды-10h.

Екі режимді де тұрақты пайдаланушы 0Fh функциясы ағымдағы арқылы видеорежимді (және де ағымдағы видеопарақты) анықтау керек және алынған нәтижеге байланысты ауыстырып қосу режимін немесе парақтарды бағалау қажет.

05h функциясы видеопарақты қосады. Парақтың нөмірі AL регистіріне кіргізіледі. 10h режимінде (EGA) 0-ші және 1-ші парақтарды пайдалануға болады. Сол басқа бейне белсенді парақты ауыстырып қосу кезінде жоғалып кетпейді, өйткені видеоадаптерде әрбір параққа арналған бөлек блокты жадылар бар. Сурет салу үшін жалғыз 0Ch- пикселді шығару функциясы қарастырылған. (еске түсірейік, DOS-та графиканы қолдайтын функция мүлдем жоқ ) . AL регистріне пиксел түсінің мәні, BH регистріне беттің нөмірі, CX және DX- X және Y регистрлеріне пиксел координаттарына лайықты жіберіледі. X-тің координатасы 0 ден 639 дейін, ал Y- тің координатасы 0 ден 349 дейін өзгереді. (0, 0) нүктесіндегі координатасы экранның сол жақтағы жоғарғы бұрышына сәйкес келеді.

Экрандағы пикселдердің түстері және фонның түстері регистрдің түстерінің ішіндегісімен беріледі және олар видеорежимінің палитрасымен анықталады. EGA адаптерінде 17 түсті регистрлер бар, олардың әрбіреуі 0 ден 63дейінгі 64 түсті кодты құра алады. 0 ден 15-ке дейінгі регистр пикселдің мүмкін болатын түстерін анықтаса, ал экрандағы рамка түсінің бүкіл жұмыс бөлігінің айналасын 16-шы регистрді анықтайды, бірақ бұл рама көрінбейді, өйткені, оған фонға сәйкес келетін түсті меншіктейді. Берілген програмадағы кодтың түсін (мысалы, 0Ch функциясы AL регистріне арналған) түс емес, экранға шығару кезіндегі берілген пикселдің пайдаланушы жүйесінің регистр түсінің нөмірі анықтайды.

Әрбір реңдік регистр 6 разрядтан тұрады және олар интенсивті қызыл, жасыл және көк түстерді араластырғанда керек түсті беріп, анықтайды. 2/3максимады интенсивті қызыл, жасыл және көк түстер 0-шы, 1-ші және 2-ші разрядқа, ал 1/3 интенсивті со түстер 3-ші, 4-ші және 5-ші разрядқа бекітілген.

Разрядтың нөмірі: Разрядтың нөмірі
5: 5
4: 4
3: 3
2: 2
1: 1
0: 0
Разрядтың нөмірі: разрядтың салмағы
5: 32
4: 16
3: 8
2: 4
1: 2
0: 1
Разрядтың нөмірі: Түсі
5: қ
4: Ж
3: к
2: Қ
1: Ж
0: К

Солайша, регистрде жазылған 1(К) -саны көк түсті, 2(Ж) -саны жасыл түсті, Ж(Ж+C) -көк-жасыл түсті, 9(к+К) -ашық-көк түсті, 7(Қ+К+Ж) -ақты, 63саны (қ+к+ж+Қ+К+Ж) -ашық ақ түстрді анықтайды.

Инициализацияау кезінде келесі сандар қатары енгізіледі:

регистрлер: регистрлер
0: 0
1: 1
2: 2
3: 3
4: 4
5: 5
6: 6
7: 7
8: 8
9: 9
10: 10
11: 11
12: 12
13: 13
14: 14
15: 15
16: 16
регистрлер: құрамы
0: 0
1: 1
2: 2
3: 3
4: 4
5: 5
6: 20
7: 7
8: 56
9: 57
10: 58
11: 59
12: 60
13: 61
14: 62
15: 63
16: 0

Бұл тізім түрлі түсті стандартты палитраны құрайды. Програмадағы 6-шы түсті код экранға коңыр түсті бейнені шығарады. 6-шы регистрде 20 саны жазылғандықтан, ол қоңыр (қызыл мен жасыл араласқан) түсті анықтайды. Егерде 6-шы реңдік (цветовой) регистрге, мысалы, 40-ты жазып қойсақ, онда барлық 6-шы түсті кодқа ашық қызыл бейне шығарылады. 6-шы регистрдегі 12-ші сан жазуы экранға барлық қоңыр түсті нүктелерді малина(қызыл мен көк араласқан) түсіне ауыстырады.

Солайша, реңдік регистрлердің өзгеруі экрандағы түстердің бейнелерін тез арада ауыстыруға рұқсат береді. Мысалы: бейнені салқын көк-жасыл гаммаға немесе жылы қызыл сарыға ауыстыруға мүмкіндік береді. Стандартты палитраны қайта келтіру күйін автаматтандырылған проектеу жүйесінде және ғылыми-техникалық қосымшаларындағы географикалық картаны немесе көлемді бейнелерді кейде экранға шығару кезінде пайдаланылады. Реңдік палитраның өзгеру мүмкіндігі нортындық утилит пакетінде қарастырылған.

0-шы реңдік регистр фонның түсін анықтайды. Фонның түсі графикалық режимінде инициализацилау кезі видеобуфердің ұйымдарына 0 жазылып, экранға толтырылады. Солайша, бастапқы 0-шы код басқа түсті бейне кодымен ауыспай тұрғандағы экранның бөлігін фон деп атайды. Програмадағы көрсетілген 0-шы код түсі басқа элементтің бейнесін шығару кезінде фонның регистрлік жүйесін пайдалануға алып келеді, соның нәтижесінде сол элемент көрінбейтін болып шығады. Түрлі түсті фонға қара бейнені шығару үшін қандайда бір реңдік регистрге 0-ды жазу керек және бейне шығар алдында сол регистрдің нөмірін көрсету қажет. Сол арада түстерді ауыстырып қосу тез арада орындалады. BIOS құралымен пикселдерді шығару, процессордың жай жасау кезінде пикселмен бірнеше жүз микросекунд уақытты қажет етеді. Ал барлық экранды толтыру үшін 1-2 минутты қажет етуі мүмкін. Сондықтанда, графикалық пакеттер негізінде BIOS функциясымен емес, графикалық адаптермен жұмыс жасау тиімді.

1. 2. Графикалық режимдегі програмалау есептері

Есеп 1. 1. Экранға графикалық бейнені шығару. Графикалық режимді орнату және экранның ортасына түрлі түсті тіктөртбұрышты шығару. Програманы түзеткеннен кейін графикалық режимде шығарылған нүктенің жылдамдығын анықтау қажет.

  • Програманың негізгі фрагменттері
  • Draw (подфункция) тіктөртбұрышты қылып шығару
  • Ішкі параметрлері- x, y, xsize, ysize, forcolor
  • xcrnt, ycrnt бағыныңқы програмасын пайдаланып, осы айнымалыларды модифициалайды.
draw: draw
Proc: Proc
AX, y: AX, y
инициализацияау: инициализацияау
draw:
Proc: Mov
AX, y: ycrnt
инициализацияау: ycrnt
draw:
Proc: Mov
AX, y: CX, ysize
инициализацияау: y-б-ша санауыш
draw:
Proc: Mov
AX, y: CX
инициализацияау: стекте сақтау
draw: loopy
Proc: Push
AX, y: AX, x
инициализацияау: инициализацияау
draw:
Proc: Mov
AX, y: xcrnt, AX
инициализацияау: xcrnt
draw:
Proc: Mov
AX, y: CX, xsize
инициализацияау: х-б-ша санауыш
draw:
Proc: Mov
AX, y: CX
инициализацияау: стекте сақтау
draw: loopx
Proc: Push
AX, y: AH, 0Ch
инициализацияау: пикселді шығару функциясы
draw:
Proc: Mov
AX, y: AL, forcolor
инициализацияау: пикселдің түсі
draw:
Proc: Mov
AX, y: BH, 0
инициализацияау: 0-шы парақ
draw:
Proc: Mov
AX, y: CX, xcrnt
инициализацияау: ағымдағы графикалық бағана
draw:
Proc: Mov
AX, y: DX, ycrnt
инициализацияау: ағымдағы графикалық жол
draw:
Proc: Int
AX, y: 10h
инициализацияау:
draw:
Proc: Inc
AX, y: xcrnt
инициализацияау: оңға жылжу
draw:
Proc: Pop
AX, y: CX
инициализацияау: х-б-ша санауышты қалпына келтіру
draw:
Proc: Loop
AX, y: loopx
инициализацияау:
draw:
Proc: Inc
AX, y: ycrnt
инициализацияау: солға жылжу
draw:
Proc: Pop
AX, y: CX
инициализацияау: у-б-ша санауышты қалпына келтіру
draw:
Proc: Loop
AX, y: loopy
инициализацияау:
draw:
Proc: Ret
AX, y:
инициализацияау: програмшадан шығу
draw: draw
Proc: Endp
AX, y:
инициализацияау:
  • Негізгі програманың басы

. . .

  • Графикалық режимді орнату
mov: mov
AH, 0: AH, 0
режимді орнату функциясы: режимді орнату функциясы
mov: mov
AH, 0: AL, 10h
режимді орнату функциясы: 10h режимі графикаға тең
mov: int
AH, 0: 10h
режимді орнату функциясы:
  • Тіктөртбұрышты пикселмен салу

. . .

  • Call draw
  • Прграманы тоқтау

. . .

  • Мәліметтер алаңы
x: x
dw: dw
200: 200
Х-координатасының басы: Х-координатасының басы
x: y
dw: dw
200: 100
Х-координатасының басы: Y-координатасының басы
x: xcrnt
dw: dw
200: 0
Х-координатасының басы: ағымдағы Х-координатасы
x: ycrnt
dw: dw
200: 0
Х-координатасының басы: ағымдағы У-координатасы
x: xsize
dw: dw
200: 200
Х-координатасының басы: Х-б-ша тіктөртбұрыштың өлшемі
x: ysize
dw: dw
200: 100
Х-координатасының басы: У-б-ша тіктөртбұрыштың өлшемі
x: forcolor
dw: Db
200: 14
Х-координатасының басы: сары түс

Есеп 1. 2. Реңдік палитраны оқу. Экранға 16 қатарлы төртбұрыштан мүмкін болатын түстердің (төртбұрышты 0-шы реңдік регистр анықтайды және ол көрінбейді ) шығару қажет. Төртбұрыштың ішіне түсі әртүрлі ұзын сызықты салу қажет және реңдік регистрдің нөмірі 1ден15 дейін көрсетілуі керек. Сонымен қатар, циклға 0, 1, 2, …63 дейінгі регистр сандарын кіргізіп, жоғарда айтылған сызықтың түсін өзгертіп отыру қажет. Бақылауға ыңғайлы болу үшін, біріншіден, циклды тоқтату програмасына күту пернесін басып қосу қажет, ал екіншіден, әрбір түстңі ауыстырар алдында модификация жасалынған реңдік регистрдің құрамын экранға шығару қажет. Програманы отладка жасап болғаннан кейін түстердің ауысып отыруын бақылап, модификацияланған реңдік регистрдің құрамын талдау қажет.

  • Програманың негізгі фрагменттері
  • Draw proc
  • Тіктөртбұрыштың шығару бағыныңқы програмасы

. . .

  • Draw endp
  • Негізгі програманың басы
  • Графикалық режимді орнату
  • Тіктөртбұрышты пикселмен салу
:
mov: mov
CX, 16: CX, 16
түстердің санауышы: түстердің санауышы
: rect:
mov: push
CX, 16: CX
түстердің санауышы: стекте сақтау
:
mov: call
CX, 16: draw
түстердің санауышы: тіктөртбұрышты салу
:
mov: inc
CX, 16: forcolor
түстердің санауышы: келесі түс
:
mov: add
CX, 16: X, 40
түстердің санауышы: келесінің басы
:
mov: pop
CX, 16: CX
түстердің санауышы: санауышты қалпына келтіру
:
mov: loop
CX, 16: rect
түстердің санауышы:
  • Ұзын сызықты салу. Бұл үшін пайдаланып отырған draw бағыныңқы програмасының параметрлер мәндерін өзгерту.
:
mov: mov
X, 0: X, 0
:
: rect:
mov: mov
X, 0: y, 60
:
:
mov: mov
X, 0: xsize, 635
:
:
mov: mov
X, 0: ysize, 40
:
:
mov: mov
X, 0: forcolor, 4
: 4-ші регистрмен салу
  • Сызықты салу
  • Call draw
  • Програманы тоқтату
mov: mov
AH, 0Ch: AH, 0Ch
күту функциясын енгізу: күту функциясын енгізу
mov: mov
AH, 0Ch: AL, 08h
күту функциясын енгізу: жаңғырықсыз филтрді енгізу
mov: int
AH, 0Ch: 21h
күту функциясын енгізу:
  • Циклдың 4-ші регистріндегі 0 ден 63 дейінгі түсті ауыстыру
:
mov: mov
CX, 64: CX, 64
түстердің санауыштары: түстердің санауыштары
: back:
mov: push
CX, 64: CX
түстердің санауыштары: оны сақту
:
mov: mov
CX, 64: AH, 0h
түстердің санауыштары: 10h функциясы
:
mov: mov
CX, 64: AL, 0
түстердің санауыштары: функцияастының түсін орнату
:
mov: mov
CX, 64: BH, 4
түстердің санауыштары: 4-ші регистрдегі қызыл түс
:
mov: mov
CX, 64: BH, palette
түстердің санауыштары: түстің нөмірі
:
mov: int
CX, 64: 10h
түстердің санауыштары:
  • Түстің нөмірің шығару үшін:

1. mes деген мәліметті шығару үшін мәтіндік курсорды қалаған жерге орнату.

mov: mov
AH, 02h: AH, 02h
курсорды орнату функциясы: курсорды орнату функциясы
mov: mov
AH, 02h: BH, 0
курсорды орнату функциясы: 0-шы парақ
mov: mov
AH, 02h: DH, 10
курсорды орнату функциясы: жолдың нөмірі
mov: mov
AH, 02h: DL, 10
курсорды орнату функциясы: бағана нөмірі
mov: Int
AH, 02h: 10h
курсорды орнату функциясы:

2. түс нөмірінің адрес символына қайта құрастырылуы. Table кестесінде көрсетілген.

mov: mov
AL, palette: AL, palette
AL-дағы түс нөмірі: AL-дағы түс нөмірі
mov: xor
AL, palette: AH, AH
AL-дағы түс нөмірі: AH-ты тазалау
mov: add
AL, palette: AX, AX
AL-дағы түс нөмірі: AX-ты 2-ге көбейту
mov: mov
AL, palette: SI, AX
AL-дағы түс нөмірі: индекстік регистрге жөнелту
mov: mov
AL, palette: BX, offset table
AL-дағы түс нөмірі: кестеге кіргізу
mov: mov
AL, palette: AX[BX] [SI]
AL-дағы түс нөмірі: AX-қа кестедегі нөмірді кіргізу
mov: mov
AL, palette: number, AX
AL-дағы түс нөмірі: оны number-ге жөнелту

3. Экранға нөмірді шығару

mov: mov
AL, 40: AL, 40
шығару функциясы: шығару функциясы
mov: mov
AL, 40: BX, 1
шығару функциясы: шығарудың стандартты дискрипторы
mov: mov
AL, 40: CX, meslen
шығару функциясы: мәліметің ұзындығы
mov: mov
AL, 40: DX, offset mes
шығару функциясы: жолдың адресі
mov: Int
AL, 40: 21h
шығару функциясы: кестеге кіргізу
  • Түсті өзгерту
Inc: Inc
palette: palette
келесі түс: келесі түс
Inc: pop
palette: Cx
келесі түс: түстердің санауышын қалпына келтіру
  • Програманы тоқтату

. . .

  • Мәліметтер алаңы
X: X
dw: dw
0: 0
Х-координатасының басы: Х-координатасының басы
X: Y
dw: dw
0: 20
Х-координатасының басы: Y-координатасының басы
X: Xcrnt
dw: dw
0: 0
Х-координатасының басы: ағымдағы Х-координатасы
X: Ycrnt
dw: dw
0: 0
Х-координатасының басы: ағымдағы У-координатасы
X: Xsize
dw: dw
0: 35
Х-координатасының басы: Х-б-ша тітөртртбұрыштың өлшемі
X: Ysize
dw: dw
0: 40
Х-координатасының басы: У-б-ша тіктөртбұрыштың өлшемі
X: forcolor
dw: dw
0: 0
Х-координатасының басы: пикселдің түсі
X: Palette
dw: dw
0: 0
Х-координатасының басы: палитра түсінің екілік нөмірі
X: Mes
dw: db
0: ‘ағымдағы түстің нөмірі 4-ші регистрде:'
X: number
dw: dw
0:
Х-координатасының басы: символдық формадағы түстің нөмірі
X: Meslen=$-mes
dw:
0:

Символдық формада мүмкін болатын түстер нөмірлерінің кестесі

Көңіл бөліңіздер, төмендегі сандардың барлығы екі байттан орын алады.

table: table
db: db
‘0’: ‘0’
‘1’: ‘1’
‘2’: ‘2’
‘3’: ‘3’
‘4’: ‘4’
‘5’: ‘5’
‘6’: ‘6’
‘7’: ‘7’
‘8’: ‘8’
‘9’: ‘9’
table:
db: db
‘0’: ‘10’
‘1’: ‘11’
‘2’: ‘12’
‘3’: ‘13’
‘4’: ‘14’
‘5’: ‘15’
‘6’: ‘16’
‘7’: ‘17’
‘8’: ‘18’
‘9’: ‘19’
table:
db: db
‘0’: ‘20’
‘1’: ‘21’
‘2’: ‘22’
‘3’: ‘23’
‘4’: ‘24’
‘5’: ‘25’
‘6’: ‘26’
‘7’: ‘27’
‘8’: ‘28’
‘9’: ‘29’
table:
db: db
‘0’: ‘30’
‘1’: ‘31’
‘2’: ‘32’
‘3’: ‘33’
‘4’: ‘34’
‘5’: ‘35’
‘6’: ‘36’
‘7’: ‘37’
‘8’: ‘38’
‘9’: ‘39’
table:
db: db
‘0’: ‘40’
‘1’: ‘41’
‘2’: ‘42’
‘3’: ‘43’
‘4’: ‘44’
‘5’: ‘45’
‘6’: ‘46’
‘7’: ‘47’
‘8’: ‘48’
‘9’: ‘49’
table:
db: db
‘0’: ‘50’
‘1’: ‘51’
‘2’: ‘52’
‘3’: ‘53’
‘4’: ‘54’
‘5’: ‘55’
‘6’: ‘56’
‘7’: ‘57’
‘8’: ‘58’
‘9’: ‘59’
table:
db: db
‘0’: ‘60’
‘1’: ‘61’
‘2’: ‘62’
‘3’: ‘63’
‘4’:
‘5’:
‘6’:
‘7’:
‘8’:
‘9’:

Есеп 1. 3. Фонның түсін өзгерту. Экранға 16 қатарлы төртбұрыштан мүмкін болатын түстерді шығару. Циклға 0-ші регистрдегі 0, 1, 2, . . 63-ке дейінгі сандарды кіргізіп, фонның түсін өзгерту қажет. Мына бір нәрсеге мән беру қажет. Пикселмен салынған тіктөртбұрышты бейнелердің түсін, фонның түсімен салыстыру қажет. Мына бір нәрсеге мән беру қажет: ең сол жақтағы төртбұрыштың түсі О-ші регистрде берілгендіктен, ол фонның түсі қандай болсада ол көрінбейтін қалыпта қала береді.

  • Программаның негізгі фрагменттері
  • Тіктөртбұрыштың шығару бағыныңқы програмасы
  • Негізгі програманың басы
  • Графикалық режимді орнату
  • Тіктөртбұрышты салу
  • Програманы тоқтату
  • Циклдағы фонның түсін 0-ден 63 дейін өзгерту.
:
mov: mov
CX, 64: CX, 64
Түстердің санауышы: Түстердің санауышы
: back:
mov: push
CX, 64: CX
Түстердің санауышы: Оны сақтау
:
mov: mov
CX, 64: AH, 0
Түстердің санауышы: 10h функциясы
:
mov: mov
CX, 64: AL, 0
Түстердің санауышы: Түстің функцияастын орнату
:
mov: mov
CX, 64: BL, 0
Түстердің санауышы: Фонның 0-ші регистрі
:
mov: mov
CX, 64: BH, palette
Түстердің санауышы: Түстің нөмірі
:
mov: int
CX, 64: 10h
Түстердің санауышы:
  • Түстің нөмірін шығару

. . .

  • Програманы аяқтау

. . .

Есеп 1. 4. Реңдік гамманы өзгерту. Экранға 16 қатарлы тіктөртбұрышты мүмкін болатын түстерді шығару қажет. 10һ функциясы арқылы 02һ функцияастына тізбектей 4 әртүрлі палитраны беру қажет. Бір палитра, мысалы, көк гамманы құраса, келесісі қызылды, үшіншісі жасылды және төртіншісі сары гамманы құрай алады. әрбір палитрадағы фонның түсі және экранның шеткі жағындағы түсіті қара қылып өзгертуге болады (бұл жағдайда тек 60 түсті ғана шығаруға болады) .

  • Тіктөртбұрышты шығару програмшасы

. . .

  • Негізгі програманың басы

. . .

  • Графикалық режимді орнату

. . .

  • Стандартты палитра түстерімен тіктөртбұрышты салу

. . .

  • Програманы тоқтату
  • ES регистрін дайындау
mov: mov
AX, seg plt_blue: AX, seg plt_blue
mov: mov
AX, seg plt_blue: ES, AX
  • Реңдік палитраның көк түстерін орнату
Mov: Mov
AH, 10h: AH, 10h
10h функциясы: 10h функциясы
Mov: Mov
AH, 10h: AL, 2
10h функциясы: Палитраның функцияастын орнату
Mov: Mov
AH, 10h: DX, offset plt_blue
10h функциясы: Палитраның адресі
Mov: Int
AH, 10h: 10h
10h функциясы:
  • Програманы тоқтату

. . .

  • Реңдік палитраның қызыл түстерін орнату

. . .

  • Програманы тоқтату

. . .

  • Реңдік палитраның сары түстерін орнату

. . .

  • Програманы тоқтату

. . .

  • Програманы аяқтау

. . .

  • Мәліметтер алаңы

. . .

  • Көк гамма
Plt_blue: Plt_blue
db: db
00, 01, 03, 08, 09, 13, 17, 25: 00, 01, 03, 08, 09, 13, 17, 25
Plt_blue:
db: db
00, 01, 03, 08, 09, 13, 17, 25: 29, 31, 33, 41, 43, 49, 57, 59, 00
  • Қызыл гамма
plt_red: plt_red
db: db
00, 04, 05, 12, 20, 28, 32, 36: 00, 04, 05, 12, 20, 28, 32, 36
plt_red:
db: db
00, 04, 05, 12, 20, 28, 32, 36: 37, 40, 44, 45, 52, 53, 60, 61, 00
  • Жасыл гамма
Plt_grn: Plt_grn
db: db
00, 02, 07, 10, 11, 16, 18, 19: 00, 02, 07, 10, 11, 16, 18, 19
Plt_grn:
db: db
00, 02, 07, 10, 11, 16, 18, 19: 26, 27, 34, 35, 42, 48, 51, 58, 00
  • Сары гамма
plt_yel: plt_yel
db: db
00, 14, 22, 06, 23, 24, 30, 38: 00, 14, 22, 06, 23, 24, 30, 38
plt_yel:
db: Db
00, 14, 22, 06, 23, 24, 30, 38: 39, 46, 47, 54, 55, 56, 6263, 00

Есеп 1. 5. Графикалық режимде мәтінді шығару. Графикалық режимді және фонның түсін орнату қажет. Әртүрлі функциялар арқылы экранға мәтіндік жолдарды шығару.

  • Програманың негізгі фрагменттері
  • Графикалық режимді орнату

. . .

  • Фонның түсін орнату (мысалы, көк)
mov: mov
AH, 10h: AH, 10h
10h функциясы: 10h функциясы
mov: mov
AH, 10h: AL, 0
10h функциясы: Реңдік регистрді орнату
mov: mov
AH, 10h: BL, 0
10h функциясы: Фонның регистрі
mov: mov
AH, 10h: BH, 1
10h функциясы: Фонның түсі
mov: int
AH, 10h: 10h
10h функциясы:
  • Мәтіндік курсорды орнату
mov: mov
AH, 02h: AH, 02h
Курсорды орнату функциясы: Курсорды орнату функциясы
mov: mov
AH, 02h: BH, 0
Курсорды орнату функциясы: 0-шы парақ
mov: mov
AH, 02h: DH, 5
Курсорды орнату функциясы: Жолды мәтінің нөмірі
mov: mov
AH, 02h: DL, 20
Курсорды орнату функциясы: Бағана мәтінің нөмірі
mov: Int
AH, 02h: 10h
Курсорды орнату функциясы:
  • Дескриптор арқылы string жолды шығару

  • Мәтіндік курсорды екі жолға төмен орнату

. . .

  • BIOS құралы арқылы символды шығару
... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Төлем-ақы терминалы
Теміржол көлігінің жұмысын автоматтандыру
Термин және терминал
Геркон технологиясының бес артықшылығы
Ақпараттық технологияларды ақпараттандыру
ВАЗ 2110 көліктерінің техникалық сипаттамасы
Ақпараттық қауіпсіздік туралы
Айнымалылар, файлдар атауларын таңдау және оларға берілетін түсініктеме. Программалау стилі, деректерді енгізу және шығару
Төлем карточкаларының есебі
Пойыздарды тарату процестерін автоматтандыру үшін микропроцессорлық жүйелерді қолданудың негізгі аспектілері
Пәндер



Реферат Курстық жұмыс Диплом Материал Диссертация Практика Презентация Сабақ жоспары Мақал-мәтелдер 1‑10 бет 11‑20 бет 21‑30 бет 31‑60 бет 61+ бет Негізгі Бет саны Қосымша Іздеу Ештеңе табылмады :( Соңғы қаралған жұмыстар Қаралған жұмыстар табылмады Тапсырыс Антиплагиат Қаралған жұмыстар kz