Ескерту: берілген сөзді әртүрлі түстермен және параметрлермен экранға шығарыңыз.
171
Программаның орындалу мысалы
89-сурет. Программаның орындалу нәтижесі
Бақылау сұрақтары:
- ОЖ құралдары арқылы экранға шығару функцияларын атап көрсетіңіз.
- 02h функциясының жұмыс істеу принципі.
- Экранға шығарудың басқарушы символдарын көрсетіңіз.
- Файлға программаны қандай жолмен шығаруға болады?
- 02h және 06h функцияларының өзара айырмашылығы?
- int 29h үзуі және оны пайдалану ерекшеліктері?
- Қандай функциялар арқылы қажетті бейнережимді орнатуға болады?
- super VGA-режимін орнатудың басты кезеңдерін атап көрсетіңіз.
- Курсордың орналасуын басқаратын функцияларды көрсетіңіз.
- BIOS құралдары арқылы экранға символды шығару ерекшеліктері?
- Бейнежадымен тура жұмыс істеу принциптері?
- Бейнежадымен тікелей жұмыс істеу принциптері?
- Бейнеадаптер жадысын ұйымдастыру ерекшеліктері?
- Келесі кестелердегі мәндерді пайдаланып, тапсырмаларды орындаңыз.
№1 тапсырма
№
|
Шығару функциясы (DOS)
|
Шығару функциясы (BIOS)
|
Бейнежады
| |
02h
|
Ah=02h
|
‘Hello’
| |
06h
|
Ah=08h
| | |
09h
|
Ah=09h
| | |
40h
|
Ah=0Ah
| | |
29h
|
Ah=13h
| |
3.11. Ассемблер тілінде массивтермен жұмыс
Жұмыстың мақсаты: ассемблер тілінде массивтерді өңдеу дағдыларын қалыптастыру
Ассемблер тілінде массивтермен жұмыс істеудің арнайы құ-
ралдары жоқ. Массивтер берілген өлшемдегі элементтердің тіз- бегі ретінде сипатталады, олармен жұмыс жанама адрестеу әдіс- терін қолдана отырып, ұйымдастырылады.
Мысалы, массив берілген, оның элементтерінің қосындысын
есептеу керек:
data segment
mas db 12, 2, 7, 3, 2, 0, 21, 9, 0, 16
len dw $-mas data ends code segment start:
assume cs:code, ds: data mov ax, data
mov ds, ax lea bx, mas
mov cx, len
mov cx, len mov cx, len xor ax, ax
cikl: add al, [bx]
inc bx loop cikl
172
2-кесте
№
|
SuperVGA-бейнережимі
|
1
|
108h
|
2
|
109h
|
3
|
10Ah
|
4
|
10Bh
|
5
|
10Ch
|
173
aam
add ax, 3030h add ax, 3030h mov bx, ax mov ah, 02 mov dl, bh int 21h
mov dl, bl int 21h
mov ax, 4c00h int 21h
code ends end start
Байттық емес массивтерді өңдеу барысында элементтердің өлшемін ескеру қажет, жоғарыда келтірілген мысалда массивтің өлшемі байт түрінде көрсетіледі және 13-жолда ол элементтері- нің саны ретінде алынады. Сөздік массивтер үшін бұл мәнді 2-ге бөлу керек. 16-жолда келесі элементке көшу үшін адрестің қара- пайым инкременті қолданылады, яғни сөздік массивтер үшін add bx, 2 түрінде болады.
Достарыңызбен бөлісу: |