این ثبات که کار آن تعیین حالت ویدیویی است دارای یک پارامتر می باشد که باید آن را در ثبات al (قسمت پایینی ثبات ax) قرار داد و نوع کار وقفه که تعیین حالت ویدیویی است را در ah (قسمت بالایی ax) قرار می دهیم . قرار دادن 0 در ah به معنی تعیین حالت ویدویی است . و در دستور سوم وقفه 10h را اجرا می کنیم ( توجه کنید ما با قرار دادن 0 در ah نوع کار وقفه 10h را تعیین حالت ویدویی کردیم اما اگر 0 را در ah قرار داده ولی وقفه دیگری مثل 21h را اجرا کنیم نوع کار فرق می کند و دیگر تعیین حالت ویدویی نیست ) .
حالا به معرفی چندین وقفه و کار های آنها خواهیم پرداخت :
-وقفه 10h
تعیین حالت ویدویی :
برای فهماندن کار تعیین حالت ویدویی به وقفه 0 را در ah قرار دهید .
پرارامتر ها :
اگر al را برابر با 00h قرار دهید :
حالت متنی شده . 40x25 کاراکتر می شود . 16 رنگ . 8 صفحه .
اگر al را برابر با 03h قرار دهید :
حالت متنی شده . 80x25 کاراکتر می شود . 16 رنگ . 8 صفحه .
اگر al را برابر با 13h قرار دهید :
مد گرافیکی فعال می شود . 40x25 کاراکتر می شود . 256 رنگ . 1 صفحه .
و وضوح تصویر 320x200 پیکسل می شود .
مثال :
تعیین حالت متنی 40x25 کاراکتر :
mov al, 00h
mov ah, 0
int 10h
تعیین موقعیت مکان نما متن :
Ah را 2 قرار داده .
ورودی ها (پارامتر ها) :
DH : شماره ردیف (Xکاراکتری) .
DL : شماره ستون (Yکاراکتری) .
BH : شماره صفحه (از 0 تا 7) . اگر حالت گرافیکی فعال است شماره صفحه باید همیشه 0 باشد .
مثال :
بردن مکان نما به ردیف 4 و ستون 5 در صفحه 0 :
mov dh, 4
mov dl, 5
mov bh, 0
mov ah, 2
int 10h
تعیین صفحه جاری :
Ah را 05h قرار داده.
ورودی ها :
AL : شماره صفحه (0 تا 7) .
مثال :
انتخاب کردن صفحه 3 :
Mov bh,3
Mov ah,03h
INT 10h
تغییر دادن رنگ یک پیکسل از صفحه :
نکته : برای اجرای این وقفه باید مد گرافیکی فعال باشد .
Ah را 0Ch قرار داده .
ورودی ها :
AL : رنگ پیکسل .
CX : Y
DX : X
سیاه : 0000b : 0h
آبی : 0001b : 1h
سبز : 0010b : 2h
قهوه ای : 0110b : 6h
خاکستری روشن : 0111b : 7h
خاکستری تیره : 1000b : 8h
آبی روشن : 1001b : 9h
سبز روشن : 1010b : Ah
زرد : 1110b : Eh
سفید : 1111b : Fh
قرمز : 0100b : 4h
قرمز روشن : 1100b : Ch
مثال :
تغییر دادن رنگ پیکسل 4,5 به قهوه ای (0110b) :
نکته : اول باید مد گرافیکی را فعال کرد .
;set graphics video mode.
mov al, 13h
mov ah, 0
int 10h ;
;change pixel color
mov al, 0110b
mov cx, 5
mov dx, 4
mov ah, 0ch
int 10h
بدست آوردن رنگ یک پیکسل :
Ah را 0Dh قرار داده .
ورودی :
CX : Y
DX : X
خروجی :
بعد از اجرای این وقفه , مقدار AL برابر با رنگ پیکسل مورد نظر می شود .
مثال :
بدست آوردن رنگ پیکسل 7,8 :
mov cx, 8
mov dx,
int 10h
با اجرای این برنامه مقدار AL برابر با شماره رنگ پیکسل 7,8 می شود .
نکته : شماره رنگ در AL مبنای دو می باشد .
نمایش یک کاراکتر :
AH را 0Eh قرار می دهیم .
ورودی :
AL : کارکتری که می خواهد چاپ شود .
نکته 1 : کاراکتر باید بین دو ' قرار گیرد . به عنوان مثال : 'A'
نکته 2 : این وقفه فقط برای نمایش یک کاراکتر است و نمی تواند رشته(String) چاپ کند .
نکته 3 : در برخی سیستم ها این وقفه در حالت گرافیکی کار نمی کند .
مثال :
چاپ Hello! :
mov al, 'H'
mov ah, 0eh
int 10h
mov al, 'e'
mov ah, 0eh
int 10h
mov al, 'l'
mov ah, 0eh
int 10h
mov al, 'l'
mov ah, 0eh
int 10h
mov al, 'o'
mov ah, 0eh
int 10h
mov al, '!'
mov ah, 0eh
int 10h