تارا فایل

بررسی توابع BIOS


بسمه تعالی
در لیست جامع توابع BIOS, DOS که در زیرآمده است ، تمامی اعداد به صورت هگزا دسیمال می باشند .ستونهای مربوط به BIOS, DOS مشخص می کند که تابع به کدام دسته تعلق دارد و اینکه آن تابع در کدام قسمت توضیح داده شده است . توابعی که با X علامت خورده اند در کتاب آمده اما توابعی که با # مشخص شده اند در کتاب
نیامده اند.
مرجع توابع BIOS
توابع BIOS (Basic Input / Output System ) بنیادی ترین سطح هر کامپیوتر شخصی و کامپیوتر های مشابه می باشد . توابع BIOS عملیات اصلی لازم برای استفاده مفید از سخت افزار دستگاه را ممکن می سازد .
جداول و فضاهای داده شده ای مشترک
این بخش جداول توصیفی برای فضاهای داده ای و دیگر اطلاعاتی که مرجع توابع BIOS می باشند ، را در بر می گیرد .
جدول 1 : حالتهای صفحه نمایش
حالت
نوع
برد طبق دهنده
دقت
عرض و طول
تعداد کاراکتر
رنگ
00H
متن
CGA[3]
200×320
8×8
25×40
16

EGA[2,3]
350×320
14×8
25×40
16

MCGA
400×320
16×8
25×40
16

VGA[1]
400×360
16×9
25×40
16
01H
متن
CGA
200×320
8×8
25×40
16
حالت
نوع
برد طبق دهنده
دقت
عرض و طول
تعداد کاراکتر
رنگ

EGA[2]
350×320
14×8
25×40
16

MCGA
400×320
16×8
25×40
16

VGA[1]
400×360
16×9
25×40
16
02H
متن
CGA[3]
200×640
8×8
25×80
16

EGA[2,3]
350×640
14×8
25×80
16

MCGA
400×640
16×8
25×80
16

VGA[1]
200×720
16×9
25×80
16
03H
متن
CGA
200×640
8×8
25×80
16

EGA[2]
350×640
14×8
25×80
16

MCGA
400×640
16×8
25×80
16

VGA[1]
400×720
16×9
25×80
16
04H
گرافیک
CGA/EGA/ MCGA/VGA
200×320
8×8
25×40
4
05H
گرافیک
CGA/EGA[3]/ MCGA/VGA
200×320
8×8
25×40
4
06H
گرافیک
CGA/EGA/ MCGA/VGA
200×640
8×8
25×80
2
07H
متن
MDA/EGA
350×720
14×9
25×80
تکرنگ

VGA[1]
400×720
16×9
25×80
تکرنگ
08H
گرافیک
Pcjr
200×160
8×8
25×20
16
09H
گرافیک
Pcjr
200×320
8×8
25×40
16
0AH
گرافیک
Pcjr
200×640
8×8
25×80
4
حالت
نوع
برد طبق دهنده
دقت
عرض و طول
تعداد کاراکتر
رنگ
0BH

رزرو

0CH

رزرو

0DH
گرافیک
EGA/VGA
200×320
8×8
25×40
16
0EH
گرافیک
EGA/VGA
200×640
8×8
25×80
16
0FH
گرافیک
EGA/VGA
350×640
14×8
25×80
تک رنگ
10H
گرافیک
EGA/VGA
350×640
14×8
25×80
16
11H
گرافیک
MCG/VGA
480×640
16×8
25×80
2
12H
گرافیک
VGA
480×640
16×8
25×80
16
13H
گرافیک
MCG/VGA
200×320
8×8
25×40
256
[1] حالت VGA گسترده ؛ در غیر این صورت VGA می تواند مشخصه های CGA یا EGA را برای این حالت شبیه سازی نماید .
[2] حالت EGA وقتی به صفحه نمایش رنگی توسعه یافته متصل شود ؛ در غیر این صورت مشخصه های CGA را در این حالت شبیه سازی می کند .
[3] سایه های خاکستری را مشخص می کند .

جدول 2 : کلمه وضعیت دستگاه
بیت
معنی
0
دیسک گردان نصب شده است =1
1
کمک پردازنده نصب شده است=1
بیت
معنی
2-3
حافظهRAM برد اصلی سیتسم

00 = 16 کیلو بایت

01 = 32 کیلو بایت

10 = 48 کیلو بایت

11 = 64 کیلو بایت
2
ابزار اشاره کننده نصب شده است= (PC/2)1
3
بدون استفاده(PC/2 )
4-5
حالت ویدئو آغازین

01 = 25×40 رنگی

10 = 25×80 رنگی

11 = 25×80 تک رنگ
6-7
تعداد دیسک گردانها( اگر بیت صفر مساوی یک باشد)
=00
یک دیسک گردان وصل شده است
=01
دو دیسک گردان وصل شده است
=10
سه دیسک گردان وصل شده است
=11
چهار دیسک گردان وصل شده است

8
بدون استفاده

9-11
تعداد بوردهای پورت سریال وصل شده

12
تطبیق دهنده بازی نصب شده است = 1

12
بدون استفاده (PC/2)
بیت
معنی
13
بدون استفاده
13
مودم درونی نصب شده است = 1
14-15
تعداد چاپگرهای وصل شده

جدول شماره 3 : بیت های وضعیت کنترل کننده دیسک
76543210
معنی
…….1
فرمان غیر مجاز به دیسک گردان
……1.
علامت آدرس پیدا نشده ( سکتور بد )
……11
دیسکی که قابل نوشتن نیست (WRITE – PROTECT )
…..1..
سکتور درخواست شده پیدا نشد
…..11.
خط تعویض دیسک فعال
….1…
DMA overrun
….1..1
قصد DMA برای دستیابی به بالای مرز 64 کیلو بایت
….11..
غیر مجاز
…1….
خطای CRC در زمان خواندن دیسک
..1…..
خطای کنترل کننده
.1……
عدم موفقیت جستجو
1…….
وقفه دیسک

جدول شماره 4 : بیت های وضعیت پورت
…….1
داده ای آماده
……1.
خطای Overrun
…..1..
خطای Parity
….1…
خطای Framing
…1….
توقف دریافت شد
..1…..
ثبات نگهدارند فرستنده ( THR ) خالی
.1……
ثبات انتقال فرستنده (TSR ) خالی
1…….
وقفه

جدول 5 : بیت های وضعیت مودم
76543210
معنی
…….1
تغییر در وضعیت خط (CTS) Clear TO Send
……1.
تغییردر وضعیت خط (DSR) Data Set Redy
…..1..
دنباله لبه مشخص کننده زنگ
….1…
تغیر در سیگنال خط دریافت
…1….
(CTS) Clear TO Send
..1…..
(DSR) Data Set Redy
.1……
مشخص کننده زنگ
1…….
سیگنال خط دریافت تشخیص داده شده

جدول 6 : کدهای بازگشتی از سرویسهای دستگاه کاست
کد
معنی
00h
دستور غیر مجاز
01h
خطای CRC
02h
از رفتن داده انتقالی
03h
هیچ داده ای در روی نوار قرار نگرفت
04h
داده پیدا نشد
86h
هیچ پورت کاست در دسترس نیست

جدول 7 : جدول توصیف همگانی
آفست
توضیح
00h
ساختگی ( با مقدار اولیه صفر )
08h
موقعیت سگمنت داده GDT ( با مقدار اولیه صفر )
10h
اشاره گر منبع GDT
18h
اشاره گر مقصد GDT
20h
اشاره گر به سگمنت BIOS ، با صفر پر می شود. BIOS از این منطقه برای ایجاد سگمنت کد حالت حفاظت شده استفاده می کند .
28h
اشاره گر به سگمنت پشته BIOS با صفر پر می شود .BIOS از این منطقه برای ایجاد سگمنت پشته حالت حفاظت شده استفاده می کند.

منبع و مقصد طرح GDT

آفست
توضیح
00h
محدودیت سگمنت
02h
آدرس فیزیکی 24 بیتی سگمنت
05h
حق دستیابی به داده سگمنت ( تنظیم به 93h )
06h
کلمه رزرو شده ( بایدصفر باشد )

جدول 8 : بیت های وضعیت چاپ
76543210
معنی
…….1
وقفه
…..XX.
بدون استفاده
….1…
خطای ورودی / خروجی (I/O )
…1….
چاپگر انتخاب شده
..1…..
کاغذ تمام شده
.1……
تایید شده
1…….
چاپگر اشغال نیست

توابع BIOS
Int 10/00
حالت تنظیم ویدئو
حالت صفحه نمایش که بوسیله برد تطبیق دهنده ویدئو مورد استفاده قرار می گیرد را تنظیم می کند .

برای صدا زدن
AH 00h
AL حالت صفحه نمایش ( جدول 1 )

بر می گرداند
هیچ چیز را

توضیحات
حالت ویدئو را تنظیم می کند ، صفحه را پاک می کند ( و در صورتی که بیش از یک برد تطبیق دهنده موجود باشد ) تطبیق دهنده را انتخاب می کند . برای آنکه در روی سیستمهای VGA, MCGA, EGA مانع پاک کردن صفحه نمایش شوید ، بیت 7 ثبات AL را مساوی یک قرار دهید .

Int 10/01
تنظیم حالت مکان نما
برای تنظیم ارتفاع مکان نما مورد استفاده قرار می گیرد .

برای صدا زدن
AH 01h
CH خط مرور شروع در بیت های 0-4
CL خط مرور خاتمه در بیت های 0-4
باز می گرداند
هیچ چیز را

توضیحات
نوع مکان نما در حالت متن را با تعیین خطوط شروع و خاتمه مرور تعین
می کند. در حالت تک رنگ خط مرور شروع پیش فرض 0Bh و خط مرور خاتمه 0Ch می باشد . در حالت های رنگی خطوط مرور شروع پیش فرض 06h و خط مرور خاتمه 07h است .
Int/10/02
تنظیم محل مکان نما
برای صدا زدن
AH 02h
BH شماره صفحه ( صفر برای حالتهای گرافیکی )
DH ردیف
DL ستون

بر می گرداند
هیچ چیز را

توضیحات
برای قرار دادن مکان نما در یک محل خاص مورد استفاده قرار می گیرد . وقتی صفحه در حالت متن است ، موقعیت مکان نما نسبت به گوشه سمت چپ بالای صفحه ( موقعیت 0,0) تعیین می گردد . گوشه سمت راست پایین صفحه در حالت متن 25×80 ( 24و 79) و در حالتهای 25×40 ( 24و39) می باشد .

صفحه حالت تطبیق دهنده
0-7 00h , 01h VGA , MCGA , EGA , CGA
0-3 02h , 03h CGA
0-7 02h , 03h VGA , MCGA , EGA
0 07h MDA
0-07 07h VGA , EGA
Int/10/03
خواندن محل و پیکر بندی مکان نما

برای صدا زدن
AH 03h
BH شماره صفحه

برمی گرداند
BH شماره صفحه ویدئو
CH خط مرورشروع مکان نما
CL خط مرور خاتمه مکان نما
DH ردیف
DL ستون

توضیحات
خط مرور شروع و خاتمه مکان نما و موقعیت جاری مکان نما را می خواند. همان مقادیری که بوسیله ان ، موقعیت مکان نما ، تنظیم شده بود (Int/10/02 ) را بر می گرداند .

Int/10/04
خواندن محل قلم نوری

برای صدا زدن
AH 04h

برمی گرداند
AH 0 ، قلم نوری روی کار نیست / تحریک نشده است .
1 ، قلم نوری روی روی کار است / تحریک شده است .
BX ستون نقطه( صفر تا 319 یا صفر تا 639 بسته به حالت )
CH ردیف نقطه ( صفر تا 199 )
CL ستون نقطه ( صفر تا nnn ، بسته به حالت )
DH ردیف کاراکتر ( صفر تا 24 )
DL ستون کاراکتر ( صفر تا 79 یا صفر تا 39 بسته به حالت )

توضیحات
وضعیت و موقعیت قلم نوری را می خواند . فقط در حالتی اطلاعات با ارزش برمی گرداند که قلم نوری تحریک شده باشد ( AH=1 ) . قلم نوری موقعیت عمودی را تنها با دقت دو خط بر می گرداند . دقت افقی بهتر از دو سیستمهای PC/2 ( MCGA یا VGA ) قلم نوری را پشتیبانی نمی کند .( AH همیشه مقدار 00h را بر می گرداند )
Int/10/05
انتخاب صفحه جاری فعال
برای صدا زدن
AH 05H
AL شماره صفحه انتخاب شده ( جدول موجود در توضیحات )

بر می گرداند
هیچ چیز را

توضیحات
صفحه ویدئوی فعال را انتخاب می نماید . این تابع با بردهای VGA, EGA, MCGA, CGA کار می کند ، اما قارد نیست با بر د تکرنگ که فقط دارای حافظه برای یک صفحه ویدئو می باشد ، کار کند . شماره های مجزای ویدئو عبارتند از :
صفحه حالت برد تطبیق دهنده
0-7 00,01h CGA,EGA, MCGA,VGA
0-3 02h,03h CGA
0-7 02h, 03h VGA,MCGA,EGA
0-7 07h,0dh VGA,EGA
0-3 0Eh EGA,VGA
0-1 0Fh , 10h VGA,EGA
Int/10/06
حرکت دادن پنجره به طرف بالا
برای صدا زدن
AH 06h
AL تعداد خطوطی که باید حرکت داده شوند.
BH مشخصه برای فضای خالی ایجاد شده
CH ردیف، گوشه سمت چپ بالای صفحه
CL ستون ، گوشه سمت چپ بالای صفحه
DH ردیف ، گوشه سمت راست پایین صفحه
DL ستون، گوشه سمت راست پایین صفحه
برمی گرداند
هیچ چیز را

توضیحات
یک پنجره را با مشخصه معین شده پاک می کند ، یا پنجره را به تعداد خطوط معین شده به طرف بالا حرکت می دهد . تمام خطوط به طرف بالا حرکت داده می شوند و خطوط خالی از پایین اضافه می گردند . برای پاک کردن پنجره ثبات AL را با عدد صفر و یا با عددی بزرگتر از تعداد خطوط پنجره پر کنید .
Int/10/07
حرکت دادن پنجره به طرف پایین
برای صدا زدن
AH 07h
AL تعداد خطوطی که باید حرکت داده شوند .
BH مشخصه برای فضای خالی ایجاد شده
CH ردیف، گوشه سمت چپ بالای صفحه
CL ستون ، گوشه سمت چپ بالای صفحه
DH ردیف ، گوشه سمت راست پایین صفحه
DL ستون ، گوشه سمت راست پایین صفحه
باز می گرداند
هیچ چیز را

توضیحات
این تابع دقیقاً همانند تابع 06 در اینتراپت 10h عمل می کند ، اما با این تفاوت که خطوط پنجره بطرف پایین حرکت داده می شوند .
Int/10/08
خواندن کاراکتر و مشخصه آن
برای صدا زدن
AH 08h
BH شماره صفحه

باز می گرداند
AH بایت مشخصه
AL کاراکتر ASCII

توضیحات
یک کاراکتر و بایت مشخصه را ( در صفحه معین شده ) از محل فعلی مکان نما
می خواند.
Int/10/09
نوشتن کاراکتر و مشخصه آن
برای صدا زدن
AH 09h
AL کاراکتر ASCII
BH شماره صفحه
BL بایت مشخصه کاراکتر موجود در AL
CX تعداد کاراکترهایی که باید نوشته شود.

باز می گرداند
هیچ چیز را

توضیحات
کاراکتر ASCII و بایت مشخصه آنرا در محل مکان نما در صفحه معینش ده می نویسد . این تابع محل مکان نما را تغیر نمی دهد .
در حالت متن می تواند تا 536/65 کاراکتر را بنویسد . چنانچه در حین نوشتن خطی پرشود ، به طور خودکار مکان نما به خط بعدی انتقال پیدا می کند . در حالت گرافیک ، تابع فقط به انتهای خط می رود و بایت مشخصه ویدئو در ثبات BL رنگ کاراکترهای نوشته شده را تعیین می کند. چنانچه بیت هفتم یک شود ، در زمان نمایش کاراکتر ها ، مقدار ثبات BL با رنگ پس زمینه XOR می شود.
Int/10/0A
نوشتن کاراکتر در محل مکان نما

برای صدا زدن
AH 0Ah
AL کاراکتر ASCII
BH شماره صفحه
BL رنگ کاراکتر موجود در ثبات AL
CX تعداد کاراکترهایی که باید نوشته شوند .

باز می گرداند
هیچ چیز را

توضیحات
دقیقاً همانند تابع 09 در اینتراپت 10h عمل می کند ، با این تفاوت که مشخصه نمایش در حالت متن تغییر داده نمی شود .
Int/10/0B
تنظیم پالت رنگ
برای صدا زدن
AH 0BH
BH کد تشخیص پالت رنگ یک شده است .
0 ثبات BL رنگ پس زمینه و مرز را در بر می گیرد .
1 ثبات BL پالت رنگ را در بر می گیرد .
BL مقدار رنگ که باید برای مشخصه رنگ استفا ه شو د.
باز می گرداند
هیچ چیز را

توضیحات
این تابع محتوای پالت رنگ را انتخاب یا تنظیم می کند و فقط برای نمایشگرهای گرافیکی با دقت – متوسط عمل می کند . این تابع هیچ اثر مستقیمی بر روی حافظه ندارد. این تابع بر روی روش تفسیر کنترل کننده CRT ، 6845 بر روی حافظه ویدئو اثر می گذارد. در حالت متن ، این عبارت رنگ مرز را تعیین می کند ، پالت های رنگ مجاز برای این تابع عبارتند از :
پالت نقطه رنگ
0 0 همانند پس زمینه
1 سبز
2 قرمز
3 قهوه ای
1 0 همانند پس زمینه
1 آبی فیروزه ای
2 صورتی – بنفش
3 سفید
Int/10/0C
نوشتن نقاط گرافیکی – یک نقطه تکی را در مختصات تعیین شده در روی صفحه نمایش می نویسد .
برای صدا زدن
AH 0Ch
AL مقدار رنگ
BH شماره صفحه
CX شماره ستون نقطه
DX شماره ردیف نقطه

برمی گرداند
هیچ چیز را

توضیحات
در حالت بادقت متوسط ، اثر این تابع به پالت مورد استفاده بستگی دارد. چنانچه بیت هفتم ثبات AL مساوی یک باشد ، رنگ جدید با رنگ نقطه جاری XOR می شود . برای جزئیات درمورد محدودیت صفحه در حالتهای مختلف به جدول یک مراجعه شود .
Int/10/0D
خواندن نقاط گرافیکی
برای صدا زدن
AH 0Dh
BH شماره صفحه
CX شماره ستون نقطه
DX شماره ردیف نقطه
بازمی گرداند
AL شماره رنگ

توضیحات
این تابع مقدار نقطه را در مختصات گرافیکی معین شده ، می خواند . برای اطلاع از جزئیات در مورد محدودیتهای آدرس در حالتهای مختلف ویدئو به جدول شماره یک مراجع کنید . برای دانستن شماره صفحه های مجاز که می تواند در ثبات BH قرار گیرد به Int10/0C مراجعه کنید .
Int/10/05
نوشتن در حالت تله تایپ
برای صدا زدن
AH 0Eh
AL کاراکتر ASCII
BH شماره صفحه ( حالت نوشتاری )
BL رنگ پیش زمینه

باز می گرداند
هیچ چیز را

توضیحات
این تابع متن را با پردازش کاراکتری محدود بر روی صفحه نمایش می نویسد و توانایی تشخیص کدهای ASCII زنگ( 07h) ، پسرو ( 08H ) ، ابتدای خط ( 0Dh ) و خط بعد (0Ah) بوسیله این تابع وجود دارد . بعد از انجام عمل نوشتن مکان نما به موقعیت بعدی می رود . برای کار با ROM Bios سیستمهای دارای تاریخ 4/24/81 و 10/19/81 ، ثبات BH بایدبه صفحه نمایش جاری اشاره کند .
Int/10/0F
بدست آوردن حالت جاری صفحه نمایش
برای صدا زدن
AH 0FH

باز می گرداند
AH تعداد ستونهای روی صفحه نمایش
AL حالت صفحه نمایش ( جدول یک را ببینید )
BH صفحه نمایش فعال

توضیحات
حالت نمایش کنترل کننده ویدئو را به همراه تعداد ستونها و صفحه جاری به دست
می آورد .
Int/10/0C
تنظیم ثبات پالت -(بسته به شماره تابع فرعی که در AL قرار دارد ).عملیات روی ثباتهای پالت رنگ را در کنترل کننده های ویدئو EGA/VGA کنترل می کند .

برای صدا زدن
AH 10h
AL 00h تنظیم ثبات پالت
BH مقدار رنگ
BL ثبات پالت که باید تنظیم شود
AL 01H تنظیم ثبات رنگ حاشیه
BH مقدار رنگ
AL 02H تنظیم تمام ثباتها و حاشیه
ES:DX اشاره کننده به لیست رنگی 17 بایتی
AL 03h تغیر حالت بین حالات چشمک زن وروشنایی ( فقط در EGA)
BL 00h = شدت روشنایی فعال
01h چشمک زن فعال
AL 07h، خواندن ثبات پالت (PS/2 )
BL ثبات پالت که باید خوانده شود
08h AL خواندن ثبات مرور بیش از حد متعارف ( PS/2 )
09h AL خواندن ثباتها و حاشیه پالت
ES:DX اشاره گر به جدول 17 بایتی برای مقادیر
AL 10h تنظیم ثبات رنگی
BX ثبات رنگی که باید تنظیم شود
CH عدد سبز که باید تنظیم شود
CL عدد آبی که باید تنظیم شود
DH عدد قرمز که باید تنظیم شود

AL 12h تنظیم بلوک ثبات های رنگ
BX اولین ثبات رنگ که باید تنظیم شود
CX تعداد ثباتهای رنگ که بایدتنظیم شود
ES:DX اشاره کننده به اعداد رنگ

AL 13h انتخاب صفحه رنگ
BL 00h انتخاب حالت صفحه بندی
BH حالت صفحه بندی
00h = 4 بلوک ثبات 64 بایتی
01h = 16 بلوک ثبات 16 ثباتی

AL 13h انتخاب صفحه رنگ
BL 01h انتخاب صفحه
BH شماره صفحه
00-30 برای 64 – بلوک ثباتی
00 – 0Fh برای 16 – بلوک ثباتی

AL 15h خواندن بلوک ثباتهای رنگی
BX اولیت ثبات رنگ که باید خوانده شود .

AL 17 h خواندن بلوک ثبات رنگ
BX اولین ثبات رنگ که باید خوانده شود
CX تعداد ثباتهای رنگ که باید خوانده شوند
ES:DX اشاره کننده به بافر که مقادیر ثبات رنگ را در بر می گیرد
AL 1Ah خواندن وضعیت صفحه رنگ

AL 1Bh جمع کردن اعداد رنگ به سایه های خاکستری
BX اولین ثبات رنگ که باید جمع شود
CX تعداد ثباتهای رنگ که باید جمع شوند .

باز می گرداند
توابع فرعی 07h و 08h
BH مقدار خوانده شده

تابع فرعی 09h
ES:DX اشاره کننده به جدول 17 بایتی
تابع فرعی 15h
CH عدد سبز خوانده شده
CL عدد آبی خوانده شده
DH عدد قرمز خوانده شده
تابع فرعی 17h
ES:DX اشاره کننده به جدول رنگ
تابع فرعی 1Ah
BL حالت جاری صفحه بندی
CX صفحه جاری

توضیحات
در سیستمهای pCjr و یا دارای صفحه نمایش VGA , EGA , MCGA این تابع ارتباط رنگ را با نقاط کنترل می کند . این تابع انشعابی برای BIOS است که در سیستمهای دارای نمایشگرEGA/ VGA قابل اعمال می باشد . توضیح کامل این تابع از عهده این مرجع سریع خارج می باشد .
Int/10/0C
تولید کاراکتر – ( بسته به تابع فرعی که در ثبات AL قرار می گیرد ) توابع تولید کننده کاراکترهای گرافیکی را پشتیبانی می کند .

برای صدا زدن
AL
00h فراخوانی alpha کاربر
BH
تعداد بایت در هر کاراکتر
BL
بلوکی که باید فراخوانی شود
CX
تعدادی که باید ذخیره شود
DX
آفست کاراکتر در جدول
ES:BP
اشاره کننده به جدول

AL
01h مجموعه RAM تک رنگ
BL
بلوکی که باید فراخوانی شود

AL
02h ، RAM 8×8 نقطه مضاعف
BL
بلوکی که باید فراخوانی شود

AL
03h تنظیم مشخص کننده بلوک
BL
انتخاب بلوک تولید کننده کاراکتر

AL
10h فراخوانی alpha کاربر
BH
تعداد بایت در هر کاراکتر
BL
بلوکی که باید فراخوانی شود
CX
تعدادی که باید ذخیره شود
DX
آفست کاراکتر در جدول
ES:BP
اشاره کننده به جدول کاربر

AL
11h مجموعه ROM تک رنگ
BL
بلوکی که باید فراخوانی شود

AL
ROM , 12h 8×8 نقطه مضاعف
BL
بلوکی که باید فراخوانی شود

AL
20h اشاره کننده کاراکتر کاربر را در 1Fh قرار بده
ES:BP
اشاره کننده به جدول کاربر

AL
21h اشاره کننده کاراکتر کاربررا در 43h قرار بده
BL
مشخص کننده ردیف
CX
تعداد بایت در هر کاراکتر
ES:BP
اشاره کننده به جدول کاربر

AL
22h مجموعه ROA 8×8
BL
مشخص کننده ردیف

AL
ROM , 23h 8× 8 نقطه مضاعف
BL
مشخص کننده ردیف

AL
30h اطلاعات سیستم
BH
اشاره کننده فونت

توضیحات
این تابع انشعابی برای BIOS می باشد که به سیستمهای دارای نمایشگر EGA/VGA قابل اعمال است . توضیح کامل این تابع از عهده این مرجع سریع خارج است
Int/10/13
نوشتن یک رشته کاراکتر
برای صدا زدن
AH
13h
AL
حالت نوشتن ( جداول را در توضیحات ببینم )
BH
شماره صفحه ویدئو
BL
مشخصه (حالتهای نوشتن صفر ویک )
CX
طول رشته
DH
ردیفی که رشته باید در آنجا نوشته شود
DL
ستونی که رشته باید در آنجا نوشته شود
ES:BP
اشاره کننده به رشته

باز می گرداند
هیچ چیز را

توضیحات
این تابع فقط بر روی PC XT با تاریخ ، 1/10/86 , ROM و یا بعد از آن و PC/AT و PS/2 قابل دسترسی می باشد یک رشته کاراکتر را به صفحه نمایش جاری می نویسد . رشته مشخص شده می تواند دارای بایت مشخصه فراگیر و یا بایت مشخصه برای هر کاراکتر باشد . حالت (AL ) بترتیب زیر معین می گردد :
حالت
توضیحات
0
مشخصه در BL رشته فقط شامل کاراکترمی باشد .محل مکان نما تغییر نمی کند
2
رشته دارای کاراکتروبایت مشخصه بدنبال هرکاراکترمی باشد.محل مکان نماتغییر نمی کند
3
رشته دارای کاراکتر و بایت مشخصه بدنبال هر کاراکتر می باشد . محل مکان نما تغییر می کند .
Int11
بدست آوردن وضعیت دستگاه

برای صدا زدن
هیچ چیز را

باز می گرداند
کلمه وضعیت دستگاه ( جدول 2 )

توضیحات
در زمان روشن شدن سیستم بایت وضعیت سخت افزار به گونه ای به تنظیم می گردد که مشخص کند چه دستگاهی به کامپیوتر وصل شده است . همانطور که در جدول 2 مشخص شده معنی بیت های مختلف بسته به نوع کامپیوتر فرق می کند . برای این که تعیین کنید از چه کامپیوتری استفاده می کنید بایت کامپیوتر را در آدرس FFFF-FFFF بررسی کنید .
Int12
بدست آوردن اندازه حافظه
برای صدا زدن
هیچ چیز را

باز می گرداند
AX تعداد بلوکهای یک کیلوبایتی حافظه

توضیحات
تعداد بلوکهای یک بایتی پشت سر هم ، که در زمان روشن شدن سیستم تست می شود را بر می گرداند .
Int13/00
ریست دیسک نرم سیستم
برای صدا زدن
AH 00h
DL شماره دیسک گردان ( بر مبنای صفر )
چنانچه بیت هفتم صفر باشد منظور فلاپی دیسک گردان است و اگر بیت هفتم یک باشد منظور دیسک سخت است .

باز می گرداند
فلاگ Carry در صورت موفقیت آمیز بودن صفر خواهد بود . چنانچه فلاگ Carry یک باشد .
AH کد برگشت ( به جدول 3 مراجعه کنید )

توضیحات
برای انجام عمل ورودی / خروجی فلاپی دیسک را آماده کار می کند . بدین منظور در فلاگ کنترل کننده دیسک صفر قرار می دهد ، بنابراین باعث می شود که دیسک گردان هدها را به تراک صفر ببرد تا برای عملیات بعدی آماده باشد .
Int13/01
بدست آوردن وضعیت دیسک نرم سیستم
برای صدا زدن
AH 01h
باز می گرداند
AH بایت وضعیت ( جدول 3 را ببینید )

توضیحات
وضعیت برد کنترل کننده بعد از هر عملی که روی دیسک انجام گیرد تنظیم خواهد شد. با این تابع ، برنامه شما می تواند وضعیت دیسک را بعد از آخرین عملی که روی آن انجام شده است بدست آورد .
Int13/02
خواندن دیسک نرم
برای صدا زدن
AH
02h
AL
تعداد سکتورهایی که باید انتقال پیدا کنند ( یک تا نه )
ES:BX
اشاره کننده به بافر دیسک کاربر
CH
شماره تراک ( صفر تا 39 )
CL
شماره سکتور ( یک تا نه )
DH
شماره هد ( صفر تا یک )
DL
شماره دیسک گردان
باز می گرداند
چنانچه عمل موفقیت آمیز باشد ، فلاگ Carry صفر خواهد شد .
AL تعداد سکتورهای انتقال داده شد
چنانچه خطا وجود داشته باشد ، فلاگ Carry یک خواهد شد .
AH بایت وضعیت ( جدول سه را ببینید )

توضیحات
یک یا چند سکتور را از دیسک نرم به حافظه انتقال می دهد . تمام پارامترهای ورودی بایدقبل از صدا زدن اینتراپت بدقت وارسی گردد ؛ ارسال مقادیر غیر مجاز ممکن است به نتایج غیر قابل پیش بینی منجر شود .
Int13/03
نوشتن روی سکتور های دیسک
برای صدا زدن
AH
03h
AL
تعداد سکتورهایی که بایدمنتقل شوند ( یک تا نه )
ES:BX
اشاره کننده به بافر دیسک کاربر
CH
شماره تراک ( صفر تا 39 )
CL
شماره سکتور ( یک تا نه )
DH
شماره هد ( صفر تا یک )
DL
شماره دیسک گردان ( صفر تا سه )
باز می گرداند
چنانچه عمل موفقیت آمیز باشد ، فلاگ Carry صفر خواهد شد .
AL تعداد سکتورهای انتقال داده شد
چنانچه خطا وجود داشته باشد ، فلاگ Carry یک خواهد شد.
AH بایت وضعیت ( جدول سه را ببینید )
توضیحات
یک یا چند سکتور را از حافظه بر روی دیسک نرم می نویسد . به غیر از شماره دیسک گردان هیچکدام از مقادیر وارسی نمی شوند . ارسال یک مقدار غیر مجاز ممکن است به نتایج غیر قابل پیش بینی منجر شود .
Int13/03
بررسی سکتورهای دیسک
برای صدا زدن
AH
04h
AL
تعداد سکتورهایی که باید بررسی شوند ( یک تا نه )
CH
شماره تراک ( صفر تا 39 )
CL
شماره سکتور ( یک تا نه )
DH
شماره هد ( صفر تا یک )
DL
شماره دیسک گردان ( صفر تا سه )
باز می گرداند
چنانچه عمل موفقیت آمیز باشد ، فلاگ Carry صفر خواهد شد .
AL 0
چنانچه خطا وجود داشته باشد ، فلاگ Carry یک خواهد شد .
AH بایت وضعیت ( جدول سه را ببینید )

توضیحات
بررسی دیسک باعث می شود که سیستم اطلاعات سکتور یا سکتورهای معین شده را
بخواند و CRC ( وارسی ادواری ) آن را در مقابله با اطلاعات ذخیره شده بر روی دیسک مقایسه نمایید .
Int13/05
فرمت کردن تراک دیسک
برای صدا زدن
AH
05h
ES:BX
اشاره کننده به لیست آدرس تراک
CH
شماره تراک
DH
شماره هد
DL
شماره دیسک گردان

باز می گرداند
AH کد بازگشت ( جدول سه را ببینید )

توضیحات
با مقدار گذاری اولیه فضای آدرس دیسک و سکتورهای داده ، تراک دیسک را فرمت می کند . عمل فرمت کردن دیسک بوسیله لیست فضای آدرس تراک کنترل می شود (ES:BX ) . جدول به صورت یکسری ورودی های چهار بیتی است ( یک بایت برای هر سکتور در روی تراکها ) ، هر ورودی بصورت زیر می باشد :

آفست بایت
معنی
00h
شماره تراک
01h
شماره هد
02h
شماره سکتور
03h
کد اندازه
.جدول زیر کدهای اندازه مجاز را نشان می دهد ؛ ورودی ها به ترتیب قرار گرفتن سکتورها بر روی دیسک می آیند . در این ترتیب ورودیها نباید لزوماً بدنبال یکدیگر باشند .
کد اندازه
بایت درهرسکتور
0
128
1
256
2
512
3
1024
فرمت کردن یک تراک فقط قسمتی از فرمت کردن تمام دیسک می باشد . برای اطلاعات بیشتر در این مورد تابع Using Assembly Language را ببینید .
Int13/08
برگرداندن پارامترهای دیسک گردان
برای صدازدن
AH 08h
DL شماره دیسک گردان ( بر مبنای صفر )
برای دیسک نرم بیت هفتم صفر و برای دیسک سخت باید یک باشد .
بر می گرداند
اگر عمل موفقیت آمیز باشد ، فلاگ Carry صفر خواهد بود .
CH
تعداد تراکها در هر طرف
CL
تعداد سکتورها درهر تراک
DH
تعداد طرفین
DL
تعداددیسک گردانهای پیاپی وصل شده
ES:DI
اشاره گر به جدول پارامتر 11 بایتی دیسکت
BL
نوع دیسک گردانهای مجاز از CMOS
=01h دیسک گردان 5.25 اینچ K 360 ، 40 تراک
=02h دیسک گردان 5.25 اینچ،1.2 مگابایت ، K 360 ، 80 تراک
=03h دیسک گردان 3.5 اینچ، 720مگابایت ، K 360 ، 80 تراک
=04h دیسک گردان 3.5 اینچ،1.44 مگابایت ، K 360 ، 80 تراک
چنانچه خطا وجود داشته باشد فلاگ Carry یک خواهد شد .
AH وضعیت خطا ( جدول سه را ببینید )

توضیحات
این تابع فقط در سیستمهای PC/AT ( که در تاریخ BIOS آنها بعد از 1/10/84 می باشد ) و PS/2 وجود دارد ، به شما اجازه می دهد که مشخصات دیسک موجود در دیسک گردان معین شده را وارسی کنید . بعد از بازگشت جدولی موجوددر دیسک گردان معین شده را وارسی می کنید . بعد از بازگشت جدولی که ES:DI به آن اشاره می کند دارای شکل زیر است :
آفست
معنی
00h
اولین بایت مشخص شده
01h
دومین بایت مشخص شده
02h
تعداد چرخه های تایمر قبل از خاموش کردن موتور دیسک گردان
03h
تعداد بایت در هر سکتور
00h = 128
01h = 256
02h = 512
03h = 1024
04h
تعداد سکتور در هر تراک
05h
طول فاصله خالی
06h
طول داده
07h
طول فاصله خالی برای فرمت
08h
بایت پرکننده برای فرمت
09h
زمان سکون هد به میلی ثانیه
0Ah
زمان شروع به کار موتور به صورت ضریبی از یک هشتم ثانیه
Int13/09
مقدار گذاری اولیه جدول دیسک سخت – ( مقادیر پیش فرض ) را در جدول مشخص شده دیسک سخت قرار می دهد .

برای صدا زدن
AH 09h
DL شماره دیسک گردان دیسک سخت

باز می گرداند
اگر عمل موفقیت آمیز باشد ، فلاگ Carry صفر خواهد شد .
AH 0
چنانچه خطا وجود داشته باشد فلاگ Carry یک خواهد شد .

توضیحات
این تابع که فقط درروی سیستمهای PC/AT و PS/2 وجود دارد وفقط در روی دیسک سخت عمل می کند ، برای تنظیم پارامترهای فیزیکی دیسک سخت به کار می رود . شماره دیسک گردان از یکسری اعداد خاص برای دیسک سخت به دست می آید . (80h مشخص کننده اولین دیسک سخت می باشد ، 81h دومین دیسک سخت را مشخص
می کند و به همین ترتیب ) . استفاده از یک عدد خارج از این محدوده به نتایج پیش بینی نشده ای منجر خواهد شد .
اطلاعات شروع به کار برای دیسک گردان از جدول پارامترهای دیسک سخت گرفته
می شود . وکتور اینتراپت 41h به جدول دیسک اول و وکتوراینتراپت 46h به جدول دیسک دوم اشاره می کند . چنانچه به هر دیسک دیگری مراجعه شود ، این تابع ، وضعیت INVALID COMMAND را درثبات AH بر می گرداند .
Int13/0A
خواندن سکتورهای طولانی
برای صدا زدن
AH
0Ah
AL
تعداد سکتورها
ES:BX
اشاره کننده به بافر داده
CH
تراک
CL
سکتور
DH
شماره هد
DL
شماره دیسک دیسک گردان سخت
باز می گرداند
اگر عمل موفقیت آمیز باشد ، فلاگ Carry صفر خواهد شد .
AH 0
چنانچه خطا وجود داشته باد فلاگ Carry یک خواهد شد .
AH بایت وضعیت ( جدول سه را ببینید )

توضیحات
این تابع فقط بر روی سیستمهای PC/AT وجود دارد و فقط بر روی دیسک سخت عمل می کند . این تابع سکتورهای طولانی را می خواند ( سکتورهای استاندارد با چهار بایت کد تصحیح خطا ) . شماره دیسک گردان از یکسری اعداد خاص برای دیسک سخت بدست می آید ( 80h مشخص کننده اولین دیسک سخت و 81h مشخص کننده دومین دیسک ، دیسک سخت می باشد و به همین ترتیب . )
جدول زیر محدوده پارامترهای مجاز برای این تابع را در اختیار می گذارد . قابل توجه است که شماره تراک یک عدد 10 بیتی است که دردو بیت بالا در ثبات CL 8 بیت پایین در ثبات CH قرار ذخیره شده است . شماره سکتور یک عدد 6 بیتی است که دربیتهای صفر ات پنج ثبات CL قرار دارند .
ثبات
پارامتر
محدوده مجاز
AL
تعدادسکتور
1 تا 121
CH/CL
تراک
صفر تا 1023
CL
سکتور
1 تا 17
DH
هد
صفر تا 15
DC
دیسک گردان
80h . 81h و بهمین ترتیب
Int13/0B
نوشتن سکتورهای طولانی
برای صدازدن
AH
0Bh
AL
تعداد سکتورها
ES:BX
اشاره کننده به بافر داده
CH
تراک
CL
سکتور
DH
شماره هد
DL
شماره دیسک دیسک گردان سخت

باز می گرداند
اگر عمل موفقیت آمیز باشد ، فلاگ Carry صفر خواهد شد .
AH 0
چنانچه خطا وجود داشته باد فلاگ Carry یک خواهد شد .
AH بایت وضعیت ( جدول سه را ببینید )

توضیحات
این تابع فقط در روی سیستمهای PC/AT وجود دارد و فقط بر روی دیسک سخت عمل می کند . سکتورهای طولانی همان سکتورهای استاندارد هستند که چهار بایت که تخصص خطا را شامل می شوند . شماره دیسک گردان از یکسری اعداد خاص برای دیسک سخت به دست می آید . ( 80h مشخص کننده اولین دیسک سخت و 81h مشخص کننده دومین می باشدو به همین ترتیب ) . یک عدد خارج از این محدوده و به نتایج غیر قابل پیش بینی منجر خواهد شد .
Int13/0C
جستجو بدنبال سیلندر

برای صدا زدن
AH
0Ch
CH
تراک با ارزش کمتر
CL
تراک با ارزش بیشتر
DH
شماره هد
DL
شماره دیسک سخت
باز می گرداند
اگر عمل موفقیت آمیز باشد ، فلاگ Carry صفر خواهد شد .
AH 0
چنانچه خطا وجود داشته باد فلاگ Carry یک خواهد شد .
AH بایت وضعیت ( جدول سه را ببینید )

توضیحات
این تابع فقط درروی سیستمهای PC/AT وجود دارد وفقط بر روی دیسک سخت عمل می کند . این تابع هد خواندن / نوشتن را به سیلندر معین شده حرکت می دهد . شماره دیسک گردان از یکسری اعداد خاص بریا دیسک سخت بدست می آید ( 80h مشخص کننده اولین دیسک سخت و 81h مشخص کننده دومین می باشدو به همین ترتیب ) استفاده از عددی خارج از این محدوده به نتایج غیر قابل پیش بینی منجر خواهد شد .
Int13/0D
نوع دیگری از ریست دیسک

برای صدا زدن
AH 0Dh
DL شماره دیسک گردان سخت

باز می گرداند
اگر عمل موفقیت آمیز باشد ، فلاگ Carry صفر خاوهد شد .
AH 0
چنانچه خطا وجود داشته باشد ، فلاگ Caary یک خاوهد شد .
AH بایت وضعیت ( جدول شماره سه )

توضیحات
این تابع فقط در روی سیستمهای PC/AT وجود دارد و فقط بر روی دیسک سخت عمل می کند . شماره دیسک گردان از یکسری اعداد خاص برای دیسک سخت بدست
می آید ( 80h مشخص کننده اولین دیسک سخت و 81h مشخص کننده دومین می باشد و به همین ترتیب ) . استفاده از عددی خارج از این محدوده به نتایج غیر قابل پیش بینی منجر خواهد شد . این تابع مشابه INT 13/00 می باشد .
Int13/15
برگرداندن نوع Direct Access storang Device ) DASD ( دستگاه ذخیره سازی جانبی با دستیابی مستقیم ) .

برای صدا زدن
AH 15h
DL شماره دیسک گردان

باز می گرداند
اگر عمل موفقیت آمیز باشدفلاگ Carry یک خواهد شد .
AH نوع ( DASD ) دسک گردان
CX:DX تعداد سکتورهای دیسک سخت
چنانچه خطا وجود داشته باشد فلاگ Carry یک خواهد شد .
AH بایت وضعیت ( جدول شماره سه )

توضیحات
این تابع فقط بر روی سیستمهای PC XT ( که تاریخ BIOS آنها 1/10/86 و یا بعد از آن است . PS/2,PC/AT, PC XT 286 وجود دارد . این تابع از اعداد BIOS برای دیسک گردان ( 1=B , 0=A و غیره ) یا دسکهای سخت (80h = اولین دیسک گردان و 81h = دیسک گردان دوم و غیره ) استفاده می کند .
این تابع می تواند تعیین نماید که آیا INT 13/16 می تواند برای تست تعویض دیسکها مورد استفاده قرار گیرد . جدول زیر کدهای مجاز بازگشت را تعیین می کند . مقداری که در CX:DX برگردانده می شود ، در حالتی مجاز است که نوع DZASD(AH) 3 باشد .

کد
نوع DASD
0
دیسک گردان تقاضا شده دردسترس نیست
1
دیسک گردان وجود دارد اما نمی تواند تغییر دیسک را حس کند
2
دیسک گردان وجود دارد و می تواند تغییر دیسک را حس کند
3
دیسک سخت
Int13/16
خواند ن وضعیت خط تعویض دیسک
برای صدا زدن
AH 16h
DL شماره دیسک گردان

باز می گرداند
اگر عمل موفقیت آمیز باشد فلاگ Carry صفر خواهد شد .
AH 00 دیسک عوض نشده است .
چنانچه خطا وجود داشته باشد فلاگCarry یک خواهد شد .
AH 00 خطا
06 دیسک عوض شده است .

توضیحات
این تابع فقط در روی سیتمهای PC XT ( که تاریخ BIOS آنها 1/10/86 و یا بعد از آن است ) PS/2 , PC/AT , PC XT 286 وجود دارد. با استفاده از این تابع می توان تعیین نمود که دیسک موجود در دیسک گردان عوض شده است و یا برداشته شده است .این تابع از اعداد استاندارد و دیسک گردان (1=B , A=0 و غیره ) و اعداد مخصوص دیسک سخت ( 80h = اولین دیسک گردان ، 82h = دومین دیسک گردان و غیره ) استفاده می کند .
Int13/17
تعیین نوع DASD برای فرمت دیسک
برای صدا زدن
AH
17h
AL
نوع فرمت DASD
DL
شماره دیسک گردان ( بر مبنای صفر )
باز می گرداند
هیچ چیز را

توضیحات
این تابع فقط در روی سیتمهای PC AT ( که تاریخ BIOS آنها 11/15/86 و یا بعد از آن است ) PS/2 , PC/AT , PC XT 286 وجود داردباید این تابع را قبل از فرمت کردن دیسک صدا نمود.این تابع نوع DASD را برای عملیات فرمت کردن به BIOS اطلاع می دهد . لیست انواع دیسکهایی که می تواند روی سیستمهای PC/AT فرمت شوند به قرار زیر می باشد:
نوع
معنی
1
فرمت کردن دیسکهای 320/360K در دیسک گردانهای 320/360
2
فرمت کردن دیسکهای 320/36K در دیسک گردانهای 1.2 مگا
3
فرمت کردن دیسکهای 1.2 مگا در دیسک گردانهای 1.2 مگا
Int13/18
تنظیم نوع محیط برای فرمت
برای صدا زدن
AH
18h
CH
تعدادتراکها ( بر مبنای صفر )
CL
تعداد سکتوردر هر تراک
DL
شماره دیسک گردان ( بر مبنای صفر ) باید برای دیسک نرم بیت هفتم مساوی صفر باشد و برای دیسک سخت مساوی یک
باز می گرداند
اگر عمل موفقیتامیز باشد فلاگ Carryصفر خواهد شد.
ES:DI اشاره به جدول پارامتر 1 بایتی ( به توضیحات بخش INT/08 مراجعه کنید )
در صورت وجود خطا ، فلاگ Carry یک خواهد شد .
AH کد بازگشت

توضیحات
این تابع فقط در روی سیتمهای PC AT ( که تاریخ BIOS آنها 11/15/86 و یا بعد از آن است ) PS/2 , PC XT 286 وجود دارد. این تابع درزمان فرمت کردن یک تراک یا INT/13/05 نوع محیطی را که انتظار می رود در دیسک گردان موجود باشد ، برای BIOS مشخص
می کند . در زمان استفاده از این تابع توجه داشته باشید که CH و CL اطلاعات مربوط به تراک و سکتوررا شامل می شود. برای اطلاعات بیشتر INT 13/0A را ببینید .

Int14/00
مقدار گذاریاولیه پورت ارتباط سریال
برای صدا زدن
AH
00h
AL
پارامتر مقدار گذاری اولیه
DX
شماره پورت (3=COM4 , 2=COM 3, 1=COM2 , 0=COME1 در PC/AT )

باز می گرداند
AH
وضعیت پورت
AL
وضعیت مودم

توضیحات
این تابع برای مقدار گذاری اولیه پورت سریال (DX ) مورد استفاده قرار می گیرد . با توجه به جدول زیر باید برایتابع مشخص کنید که چگونه مقدار گذاری اولیه صورت گیرد :
بیت های صفر و 1
بیت 2
بیت 3و4
بیتهای 5،6و7
طول کلمه
بیتهای توقف
Parity
سرعت
7=10 بیت
1=0 بیت
=X0 هیچ
=000 110 باد
8=11 بیت
2=1 بیت
=01 فرد
=001 150 باد

=10 فرد
=010 300 باد

=11 زوج
=011 600 باد

=100 1200 باد

=101 2400 باد

=110 4800 باد

=111 9600 باد
Int14/03
درخواست اطلاع از وضعیت پورت ارتباط سریال
برای صدا زدن
AH 03h
DX شماره پورت (3=COM4 , 2=COM 3, 1=COM2 , 0=COME1 در PC/AT )

باز برمی گرداند
AH وضعیت پورت ( جدول چهار را ببینید )
AL وضعیت مودم ( جدول پنج را ببینید )

توضیحات
این تابع که وضعیت پورت معین شده را باز می گرداند هیچ عمل ورودی / خروجی اضافی انجام نمی دهد و به هیچ طریق دیگری روی پورت اثر نمی گذارد .
Int14/04
مقدار گذاری اولیه توسعه یافته ( PS/2 )

برای صدا زدن
AH
04H
AL
قرار دادن BREAK
BH
بیت های توقف
BL
طول داده
CH
سرعت ارسال و دریافت داده ها
CL
سرعت ارسال و دریافت داده ها
DX
شماره پورت (3=COM4 , 2=COM 3, 1=COM2 , 0=COME1 )
باز می گرداند
AH وضعیت پورت ( جدول چهار را ببینید )
AL وضعیت مودم ( جدول پنج را ببینید )

توضیحات
ثبات
معنی
تنظیم
معنی
AL
قطع
00h
01h
بدون قطع
قطع
BH
parity
00h
01h
02h
03h
04h
بدون parity
pariy فرد
parity زوج
استفاده از parity فرد
استفاده از parity زوج
BL
بیت های توقف
00h

01h
یک بیت توقف
ثبات CH یک و نیم
دو بیت توقف ( در صورت صفر بودن بیت
CH
طول داده
00h
01h
02h
03h
طول کلمه پنج بیت
طول کلمه شش بیت
طول کلمه هفت بیت
طول کلمه هشت بایت
CL
تعداد بیت ها
00h
01h
02h
03h
04h
05h
06h
07h
08h
110 بیت در ثانیه
150 بیت در ثانیه
300 بیت در ثانیه
600 بیت در ثانیه
1200 بیت در ثانیه
2400 بیت در ثانیه
4800 بیت در ثانیه
9600 بیت در ثانیه
19200 بیت در ثانیه
Int14/05
کنترل توسعه یافته پورت ارتباط سریال ( PC/2 )

برای صدا زدن
AH
05H
AL
خواندن یا نوشتن ثبات کنترل مودم ( خواندن 00h= نوشتن =01h )
BL
ثبات کنترل مودم ( اگر AL=01h باشد جدول را در قسمت توضیحات ببینید )
DX
شماره پورت ( 3=COM4 , 2=COM3 ,1=COM2 , 0=COM1 )

باز می گرداند
AH
وضعیت پورت ( جدول چهار را ببینید )
AL
وضعیت مودم ( جدول پنج را ببینید )
BL
ثبات کنترل مودم ( جدول را در قسمت توضیحات بینید )

توضیحات
این تابع به شما اجازه می دهد ثبات کنترل مودم را در ارتباط با پورت RS-232 مورد نظر بخوانید و یا روی آن بنویسید . بیت های موجود در BL طبق جدول زیر تعریف شده است.
معنی
76543210
Data Terminal Ready (QRT )
…….1
(RTS = Request To Send ) تقاضای ارسال
……1.
خروجی 1
…..1..
خروجی 2
….1…
تست حلقه برگشتی
…1….
رزرو
111…..
Int14/0F
اینتراپت تناوبی واحد فرمت
برای صدا زدن
AH
0Fh
AL
کد فاز
00h ، رزرو
01h ، تجزیه سطح
02h ، فرمت کردن
باز می گرداند
فلاگ Carry یک – پایان فرمت یا مرور
فلاگ Carry صفر – فرمت کردن یا مرور را ادامه بده

توضیحات
این تابع فقط روی سیستمهای PS/2 وجود دارد . از این تابع زمانی استفاده می شود که بخواهیم بعد از فرمت کردن یا مرور هر سیلندرکنترل را بدست آوریم . در این زمان روتین فرمت این اینتراپت را صدا خواهیم نمود .
اگر این تابع در هر سیستم دیگری به غیر از PS/2 صدا شود ، در زمان بازگشت فلاگ Carry یک خواهد بود و ثبات AH مقدار 80h ( در PC یا PCjr ) 86h ( تمام سیستمهای دیگر) را در بر خواهد داشت .
Int15/21
متن خطای مربوطه به خود آزمایی زمان روشن شدن (POST )
( توجه کلمه POST مخفف کلمات Power on Self – Test است که به معنی خود آزمایی زمان روشن شدن می باشد .)

برای صدا زدن
AH
21h
AL
00h خواندن متن خطای POST
01h نوشتن کد خطا در متن خطای POST
BX
کد خطای POST اگر محتوای ثبات AL مساوی 01h باشد
BH
کد دستگاه
BL
خطای دستگاه

باز می گرداند
اگر از POST error log خوانده باشد ( AL = 0 )
اگر عمل موفقیت آمیز باشد فلاگ Carry صفر خواهد شد .
AH
00h
BX
تعدادPOST error code های ذخیره شده
ES:DI
اشاره گر به POST error log
چنانچه خطا وجود داشته باشد فلاگ Carry یک خواهد شد .
AH
( PC , PCjr ) 80h
AH
86h ( تمام سیستمهای دیگر )

اگر کد خطا روی POST error log نوشته شود ( AL = 1 )
اگر عمل موفیت آمیزباشد فلاگ Carry صفر خواهد شد
AH 00h
چنانچه خطا وجود داشته باشد فلاگ Carry یک خواهد شد .
AH
POST error log , 01h پر
AH
( PC , PCjr ) , 80h
AH
86h ، ( تمام سیتمهای دیگر از جمله PS/2 مدل 30)

توضیحات
این تابع در روی ماشینهای PS/2 ( به غیر از مدل 30 ) بوسیله POST برای نوشتن اطلاعات بر روی error log درونی یا بوسیله روتین های اشکال یاب برای بدست آوردن اطلاعات درمورد خطاهای پیدا شده در حین POST مورد استفاده قرار می گیرد . تشریح استفاده از این خطا ماورای کار این مرجع سریع می باشد .
Int15/4F
رهزنی صفحه کلید
برای صدا زدن
AH 4Fh
فلاگ Carry یک
AL کد مرور صفحه کلید

باز می گرداند
فلاگ Carry یک AH = 80 h
در BIOS سیستم PC XT با تاریخ 11/08/82 و در BIOS سیستم PC/AT با تاریخ 1/10/84 فلاگ Carry یک ، AH = 86h
تمام سیستمهای دیگر :
فلاگ Carry یک
AL کد مرور اولیه

فلاگ Carry صفر
AL کد مرور اصلی

توضیحات
این تابع فقط بر روی سیستم PC/AT ( که در تاریخ BIOS آن بعد از 1/10/84 است ) PC XT (که تاریخ BIOS آن بعد از 11/8/82 است ) PC XT 286 و PC/2 وجود دارد .این روتین بوسیله اینتراپت 09 صدا می شود ؛ این تابع معمولاً کد مرور را در ثبات AL و فلاگ Carry یک را بر می گرداند . کار این روتین آن است که کد مرور را برای اینتراپت صفحه کلید ترجمه نماید . اگر این تابع فلاگ Carry را صفر برگرداند اینتراپت 09 از کاراکتر صرفنظر
می کند.
Int15/80
دستگاه باز
برای صدا زدن
AH
80H
BX
کد شناسایی دستگاه
CX
کد شناسایی پردازش

باز می گرداند
در صورت وجود خطا فلاگ Carry D;
AH
( PCjr , PC ) 80h
AH
86h ( PC XT با BIOS دارای تاریخ 11/8/82

توضیحات
این تابع فقط بر روی سیستمهای PC XT , PC/AT ( با تاریخ BIOS بعد از 11/8/82 ) PS/2; PC XT 286 وجود دارد . این تابع برای استفاده در خرده کاریهای عملیات چند برنامه ای در نظر گرفته شده است . تشریح این تابع ماورای کار این مرجع جیبی می باشد .
Int15/81
دستگاه بسته
برای صدا زدن
AH
81h
BX
هویت دستگاه
CX
هویت پردازش

باز می گرداند
چنانچه خطا رخ دهد فلاگ Carry یک خواهد شد .

AH
80 ( PCjr , PC )

86h (سیستم PC XT با تاریخ BIOS بعد از تاریخ 11/8/82

توضیحات
این تابع فقط در روی سیستمهای PC XT , PC/AT ( که در تاریخ BIOS آنها بعد از 11/8/82 می باشد ) PS/2 , PC XT 286 وجود دارد . ان تابع برای استفاده در عملیات اولیه چند
برنامه ای در نظر گرفته شده است و بحث در مورد آن از حوصله این مرجع خارج است .
Int15/82
قطع برنامه – برای قطع یک پردازش مورد استفاده قرار می گیرد .
برای صدا زدن
AH
82h
BX
هویت دستگاه

باز می گرداند
چنانچه خطا رخ دهد فلاگ Carry یک خواهد شد .
AH
80h ( سیستمهای PC, PCjr )
AH
80h ( سیستم PC XT با تاریخ BIOS FUN HC 11/8/82 )

توضیحات
این تابع فقط در روی سیستمهای PC/AT , PC XT ( که تاریخ BIOS آنها بعد از تاریخ 11/8/82 می باشد ) PS/2 , PC XT 286 وجود دارد . این تابع برای استفاده درعملیات اولیه چند برنامه ای در نظر گرفته شده است و بحث در مورد آن از این مرجع سریع خارج است )
Int15/83
توقف حادثه ای
برای صدا زدن
AH
83h
AL
00h ، تنظیم فاصله زمانی
CX:DX
تعداد میکرو ثانیه ها تا توقف
ES:DX
اشاره کننده به بایتی که بیت MSB آن بلافاصله بعد از خاتمه فاصله زمانی یک خواهد شد .
AL
01H ، القای تنظیم فاصله زمانی (PS/2 )

باز می گرداند
در صورت موفقیت آمیز بودن فلاگ Carry یک خواهد شد .
در صورت موفقیت آمیز نبودن فلاگ Carry صفر خواهد شد .
AH ( PC ) 80h
AH ( PC /AT , PC XT ) 86h

توضیحات
این تابع فقط در روی سیستمهای PC / AT ( که در تاریخ BIOS انها بعد از تاریخ 1/10/84 می باشد ) و PC/2 وجود دارد – البته با سیستم PS/2 مدل 30 کار نمی کند . این تابع برای استفاده در عملیات اولیه چند برنامه ای در نظر گرفته شده است و بحث در مورد آن از حوصله این مرجع سریع خارج است .
Int15/84
پشتی بانی دسته بازی
برای صدا زدن
AH
84H
DX
00h خواندن وضعیت سوییچها
01h خواندن موقعیت دسته بازی

باز می گرداند
در سیستم های PC و PCjr
فلاگ Carry یک و AH = 80h
در سیستم PC XT با تاریخ 11/08/82 , BIOS
فلاگ Carry یک و AH = 86h
در تمام سیستمهای دیگر
DX
00h ( در حین صدا زدن )
=AL تنظیم سوئیچها ( بیتهای 4 تا 7 )
در صورت وجود خطا فلاگ Carry یک خواهد بود
DX
01h ( در حین صدا زدن )
=AX مقدار A(X)
=BX مقدار A(Y)
=CX مقدار B(X)
=DX مقدار B(Y)
توضیحات
عملیات دسته بازی را در تمام سیستمها به غیر از PC XT, PCjr , PC اولیه ( با BIOS که تاریخ آن 11/08/82 ) کنترل می کند . چنانچه این تابه درروی این سیتمها صدا شود ، فلاگ Carry یک خواهد شد و ثبات AH کد خطا را باز خواهد گردانید . ( 80h یا 86h در سیستم PC XT )
Int15/85
فشرده شدن کلید System Request
برای صدا زدن
AH 85h

باز می گرداند
در سیستمهای PCjr , PC
فلاگ Carry یک AH= 80H
در سیستم PC XT با تاریخ 11/08/82 , BIOS
فلاگ Carry یک و AH = 86h

در تمام سیستمهای دیگر
AL 00h کلید فشار داده شده است .
01h کلید رها شده است .
توضیحات
هر زمانی که کلید System Request ( Alt – Print Screen ) فشرده شود ، BIOS این تابع را صدا می کند . فقط در اکثر نگارشهای اخیر BIOS این تابع وجود دارد . این تابع فقط بوسیله کلید System Request در روی صفحه کلید قابل دسترسی می باشد .
چنانچه BIOS سیستمی این تابع را در بر نگیرد و در زمان بازگشت فلاگ Carry یک خواهد شد و ثبات AH مقدار 80h یا 86h ( در سیستم PC XT اولیه ) را در بر خواهد داشت .
Int15/86
انتظار
برای صدا زدن
CXDX مقدار تاخیر به میکرو ثانیه ( تا دقت 976 میکرو ثانیه )

باز می گرداند
در سیستمهای :PC , PCjr
فلاگ Carry یک و AH = 80h

در سیستم :PC XT
فلاگ Carry یک و AH=80

در تمام سیستمهای دیگر :
فلاگ Carry یک ( وقفه در حال تداوم )
فلاگ Carry صفر ( تاخیر موفقیت آمیز )

توضیحات
فقط در روی سیستمهای PC/2, PC/AT کار می کند . این تابع برای ایجاد انتظار در نرم افزار سیستم عامل طراحی شده است و برای استفاده بوسیله برنامه های کاربردی در نظر گرفته نشده است .
Int15/87
انتقال بلوک
برای صدا زدن
AH
87h
CX
تعداد کلماتی که باید حرکت داده شوند .
ES:SI
اشاره کننده به جدول توصیفی کلی
باز می گرداند
در سیستمهای :PC , PCjr
فلاگ Carry یک و AH = 80h

در سیستم :PC Xو PS/2 مدل 80 :
فلاگ Carry یک و AH=86

در تمام سیستمهای دیگر :
فلاگ Carry صفر و فلاگ Zero یک
AH 00h ، عمل موفقیت آمیز بود .
فلاگ Carry یک و فلاگ Zero صفر
عمل موفقیت آمیز نبود .
AH 01h خطای Parity حافظه RAM
02h مورد استثنایی دیگری اتفاق افتاده است
03h گیت خطا آدرس 20h کار نکرد .

توضیحات
در سیستمهای 80286/80386 بوسیله این تابع می توان بلوکی از حافظه ( حداکثر 64کیلو) به و یا از حافه افزوده شده (extended ) انتقال داد . عمل انتقال بدون قطع عملیات در حالت حفاظت شده انجام می گیرد .
جدول توصیفی کلی ES:SI در جدول هفت نشان داده شده است .

Int15/88
بدست اوردن اندازه حافظه افزوده شده

برای صدا زدن
AH 88h

باز می گرداند
در سیستمهای PCjr , PC
فلاگ Carry یک و AH = 80h

در سیستمهای PS/2 , PCXT مدل 30 :
فلاگ Carry یک و AH = 86h

در سیستمهای د یگر :
AX بلوکهای یک کیلو بایتی مجاز حافظه که از آدرس 100000h شروع می شوند

توضیحات
مقدار حافظه قابل دسترس بوسله وارسی POST که بالای آدرس 100000h قرار دارد را بر
می گرداند . توجه داشته باشید که این تابع فقط در سیستمهایی قابل دسترس هستند که از ریزپردازنده های 80286 یا 80386 استفاده می کنند .
Int15/89
قرار دادن پردازنده در حالت حفاظت شده

برای صدا زدن
AH
89h
BL
آفست ویکتور اینتراپت IR00
BH
آفست ویکتور اینتراپت IRQ8
ES:DI
اشاره کننده به جدول توصیفی کلی ( GDT )
CX
میزان آفست از مقدار پایه CS حالت حفاظت شده که بایستی به آن پرید .
باز می گرداند
در صورت موفقیت آمیز بودن فلاگ Carry صفر خواهد بود .
در صورت وجود خطا فلاگ Carry یک خواهد بود .

توضیحات
پردازنده را در حالت protected قرار می دهد تا اینکه بتواند به حافظه اضافه شده دسترسی داشته باشدو از دستورالعملهای حالت فوق استفاده کند . از این تابع جدول توصیفی کلی را تنظیم کنید . ( به جدول هفت مراجعه کنید) . وقتی این تابع صدا شود توایع معمولی BIOS قابل استفاده نیستند .
Int15/90
دستگاه مشغول
برای صدا زدن
AH
90h
AL
کد نوع دستگاه
SE:BX
اشاره کننده به بلوک کنترل شبکه اگر منتظر شبکه است.

بازمی گرداند
در سیستمهای PCjr , PC
فلاگ Carry یک AH = 80h

در سیستم PC XT ( که دارای تاریخ 11/08/82 در BIOS می باشند . ):
فلاگCarry یک ، AH = 86h
در تمام سیستمهای دیگر :
فلاگ Carry یک ( حداقل تاخیر کفایت می کند )
فلاگ Carry صفر ( وقفه تایید نشده است )

توضیحات
این تابع برای آن مورد استفاده قرار می گیرد که برای سیستم عامل مشخص کند که برنامه منتظر دستگاهی باشد . به طور مثال در طراحی و توسعه نرم افزارهای چند برنامه ای مورد استفاده قرار می گیرد . این تابع برای استاده برنامه نویسهای برنامه های کاربردی نیست .
در جدول زیر لیست انواع کدهایی که در ثبات AL برای این تابع فرستاده می شوند ، آورده شده است .
AL
کد نوع
00h
وقفه دیسک
01h
وقفه دیسک نرم
02h
صفحه کلید ( بدون وقفه )
03h
ابزار اشاره کننده ( وقفه )
80h
شبکه ( بدون وقفه )
FcH
ریست دیسک سخت ( PS/2 )
FDh
شروع بکار موتور دیسک گردان
FEh
چاپگر ( وقفه )
Int15/91
اینتراپت تمام
برای صدا زدن
AH 91h

باز می گرداند
در سیستمهای PCjr , PC
فلاگ Carry یک AH = 80h

در سیستم PC XT ( دارای BIOS با تاریخ 11/08/82 )
فلاگ Carry یک : AH = 86h
در تمام سیستمهای دیگر
AL کد نوع

توضیحات
این تابع برای استفاده برنامه های کاربردی نمی باشد ، بلکه برای استفاده های داخلی سیستم یا برای توسعه سیستم عامل یا برای توسعه سیستمهای چند برنامه ای در نظر گرفته شده است . BIOS از این تابع برای گزارش اینکه اینتراپت دستگاه کامل شده است ، استفاده می کند . لیست کدهای این تابع همانند لیست کدهای INT 15/90 می باشد که در قسمت توضیحات آورده شده است .
Int15/C0
بازگرداندن پارامترهای پیکربندی سیستم
باز می گرداند
در سیستمهای PCjr , PC
فلاگ Carry یک و AH = 80h

در سیتم PC XT ( با BIOS دارای تاریخ 11/08/82 ) و سیستم PC/AT ( با BIOS دارای تاریخ 1/10/86h )
فلاگ Carry یک و AH = 86 h

و در تمام سیستمهای دیگر :
ES: BX اشاره کننده به جدول توصیفی سیستم که در ROM قرار دارد .

توضیحات
جدول توصیفی سیستم اطلاعات مفیدی درباره سیستم در اختیار می گذارد . جدول زیر معنی ورودیهای مختلف را نشان می دهد :
آفست
معنی
00h
تعداد بایتهای داده که می آیند ( حداقل 8 )
02h
بایت مدل
03h
بایت مدل فرعی
04h
سطح بازنگری BIOS ( =00 اولین انتشار )
05h
اطلاعات مشخصات ( جدول بعدی را ببینید )
06-09h
رزور

76543210
معنی
…….X
رزرو
……0.
کانال I/0 باس PC
……1.
ساختار Microchannel
…..1..
EBDA اختصاص داده شده
….1…
انتظار برای واقعه خارجی وجود دارد
…1….
رهزنی صفحه کلید بوسیله INT 09 صدا می شود
..1…..
ساعت وجود دارد
.1……
آی سی دومی برای اینتراپت وجود دارد
1…….
کانال DMA بوسیله BIOS دیسک سخت مورد استفاده قرار می گیرد.
بایت دوم که در آفست دوم جدول توصیفی سیستم وجود دارد باید دقیقاً همانند بایت هویت دوم سیستم ( که آدرس FFFF:FFFE ذخیره شده است ) باشد. بایت مدل فرعی ( آفست سوم ) می تواند برای مشخصه های اضافی سیستم مورد استفاده قرار گیرد.

Int15/C1
بازگرداندن آدرس سگمنت EBDA
برای صدا زدن
AH C1h

باز می گرداند
در سیستمهای PCjr , PC
فلاگCarry یک و AH=80h

در سیستمهای PC/AT , PC XT
فلاگ Carry یک و AH=86h

در سیستم PS/2
فلاگ Carry یک ( ناموفق )

فلاگ Carry صفر ( موفقیت آمیز )
ES آدرس سگمنت های فضای داده توسعه یافته BIOS

توضیحات
از این تابع برای آدرس سگمنت فضای داده توسعه یافته BIOS (EBDA ) استفاده
می گردد. در سیستمهای PS/2 از EBDA به طور داخلی استفاده می گردد . این فضا بوسیله روتین POST اختصاص داده می شود و محل آن بالای فضای حافظه کاربر می باشد .
Int15/C2

AH
C2h
AL
00h ، ابزار اشاره فعال / غیر فعال
BH
00h ، فعال
01h ، غیر فعال
AL
01h ، ریست ابزار اشاره کننده
AL
02h ، تنظیم سرعت نمونه برداری
AL
03h ،تنظیم دقت
AL
04h ، خواندن نوع ابزار
AL
05h ، مقدرا گذاری اولیه واسط ابزار اشاره کننده
AL
00h ، فرمانهای توسعه یافته
AL
07h ، مقدار گذاری اولیه ساب روتین دور مربوط به دستگاه اشاره کننده

باز می گرداند
در سیستمهای PCjr , PC
فلاگ Carry یک ، AH = 80 h

در سیستمهای PC/AT , PC XT
فلاگ Carry یک AH = 86h

در سیستمهای PS/2
در صورت موفقیت آمیز بودن فلاگ Carry صفر
ثبات های دیگر بسته به نوع تابع فرعی متفاوت می باشند . ( فرمانها را ببینید )

در صورت وجود خطا فلاگ Carry یک
AH
01h صدای زدن غیر مجاز
02h ورودی غیر مجاز
03h خطای واسطه
04h ارسال مجدد
05h صدا زدن برون سگمنتی نصب نشده است

توضیحات
این تابع فقط در روی سیستمهای PS/2 کار می کند . این تابع برای کار ابزار اشاره کننده (همانند ماوس یا دیجیتایزر ) با DOS طراحی شده است . بحث در مورد این تابع خارج از حوصله این مرجع جیبی می باشد .
Int15/C3
فعال / غیر فعال کردن تایمر نگهبان
برای صدا زدن
AH
C3h
AL
00h ،وقفه Watchdog غیر فعال
01h ، وقفه Watchdog فعال
BX
شماره تایمر Watchdog ( یک تا 255 )

باز می گرداند
در سیستمهای PCjr , PC
فلاگ Carry یک AH = 80h

در سیستمهایPC/AT , PCXT مدل 30
فلاگ Carry یک AH = 86h
در سیستمهای PS/2
در صورت موفقیت آمیز بودن فلاگ Carry صفر
در صورت وجود خطا فلاگ Carry یک
توضیحات
این تابع برای فعال یا غیر فعال کردن تایمر Watchdog که در سیستمهای PS/2 که از 80286 یا80386 استفاده می کنند ، بکار می رود . تایمر فوق از کانال تایمر 3 استفاده می کند و به خط IRQ0 وصل شده است . وقتی IRQ0 برای مدت بیش از یک سیگنال کانال تایمر صفر (تایم اصلی سیستم ) فعال باشد، تایمر فوق کاهش می یابد . وقتی تایمر فوق به صفر برسد، اینتراپت non – maskable (NMI ) تولید می گردد .
Int15/C4
انتخاب بردهای اضافی قابل برنامه ریزی – بوسیله این تابع می توان به ثباتهای قابل برنامه ریزی سیستم PS/2 در روی بردهای اضافی دسترسی پیدا نمود .

برای صدا زدن
AH
C4h
AL
00h آدرس پایه ثبات واسطه POS را به دست آور
01h فعال کردن شیار برای تنظیم
02h واسطه فعال
باز می گرداند
در سیستمهای PCjr , PC
فلاگ Carry یک AH = 80h

در سیستمهایPC/AT , PCXT مدل 30
فلاگ Carry یک AH = 86h
در سیستمهای PS/2
در صورت موفقیت آمیز بودن فلاگ Carry صفر
DL آدرس ثبات واسط POS ( تابع صفر )
BL شماره شیار ( تابع یک )
در صورت وجود خطا ، فلاگ Carry یک
توضیحات
انتخاب موارد انتخابی قابل برنامه ریزی ( POS ) که در روی سیستمهای PS/2 که از 89386 , 80286 استفاده می کنند وجود دارد، نیاز به سوئیچ در روی واسط یا برد سیستم را برطرف می کند . سوئیچها با ثباتهای قابل برنامه ریزی که از طریق این تابع قابل دسترسی
می باشند جایگزین می گردد .
Int16/00
خواندن کاراکتر از صفحه کلید
برای صدا زدن
AH 00h

باز می گرداند
AH کد مرور صفحه کلید
AL کد ASCII کاراکتر

توضیحات
این تابع منتظر می ماند تا یک کاراکتر فشرده شود ، سپس آنرا از بافر صفحه کلید خوانده وکد ASCII و کد مرورآنرا در اختیار قرار می دهد . بافر صفحه کلید معمولاًدر 0040:001A قرار دارد .
Int16/01
خواندن وضعیت صفحه کلید
برای صدا زدن
AH 01h

باز می گرداند
فلاگ zero صفر ( کلیدی فشرده نشده است )
AH کد مرور
AL کاراکتر ASCII
فلاگ Zero یک ( کلیدی فشرده نشده است )

توضیحات
چنانچه کلیدی فشرده شده باشد ، این تابع فلاگ Zero را صفر کرده و کد ASCII و کد مرور آن کلید را در اختیار قرار می دهد . چنانچه کلیدی فشرده نشده باشد، تابع فلاگ Zero را یک می کند .
Int16/02
بازگرداندن فلاگهای صفحه کلید
برای صدا زدن
AH 02h

باز می گرداند
AL بایت فلاگهای صفحه کلید ROM BIOS

توضیحات
وضعیت کلیدهای Caps Lock , Non Lock , Scroll Lock , Alt , Control , Shift از ثبات وضعیت BIOS که در آدرس 0000:0417 نگهداری می شود ، در اختیار می دهد . جدول زیر مفهوم هر بیت موجود در ثبات AL را در زمان بازگشت از این تابع در اختیار قرار می دهد .
76543210
معنی
…….1
کلید شیفت سمت راست فشرده شده است
……1.
کلید شیفت سمت چپ فشرده شده است
…..1..
کلید کنترل فشرده شده است
….1…
کلید ALT فشرده شده است
…1….
Scroll Lock فعال است .
..1…..
Nun Lock فعال است .
.1……
Caps Lock فعال است
1…….
;GDN Insert تغییر وضعیت داده است
Int16/05
نوشتن در بافر صفحه کلید
برای صدا زدن
AH
05h
CH
کد مرور
CL
کاراکتر
باز می گرداند
AL 01h اگر بافر پر باشد.

توضیحات
فقط در روی سیتمهای PC/AT و PS/2 با صفحه کلید توسعه یافته کار می کند . یک کاراکتر را در بافر صفحه کلید توسعه یافته ذخیره می کند .
Int16/10
خواندن کد کلید فشرده شده
برای صدا زدن
10h AH

باز می گرداند
AH کد مرور
ALکاراکتر

توضیحات
این تابع فقط در روی سیستمهای PC/AT و PS/2 با صفحه کلید توسعه یافته کار می کند. بوسیله این تابع می توان کلیدهای مشابه را خواند (Int 16/12 را برای جدول کد شناسایی کلیدهای اضافی بخوانید )
Int16/11
وارسی صفحه کلید

برای صدا زدن
AH 11h

باز می گرداند
اگر کلیدی فشرده شده باشد فلاگZero صفر خواهد بود .
AH کد مرور
AL کاراکتر
اگر کلیدی فشرده نشده باشد فلاگ Zero صفر خواهد بود .

توضیحات
این تابع فقط در سیستمهای PC/AT و PS/2 با صفحه کلید توسعه یافته کار می کند . چنانچه کلیدی در روی صفحه کلید فشرده شده باشد این تابع کد مرور و کد ASCII آنرا باز
می گرداند و در غیر این صورت فلاگ Zero را یک می کند .
Int16/12
خواندن فلاگ های وضعیت صفحه کلید
برای صدا زدن
12h AH

باز می گرداند
AL فلاگ وضعیت یک
AH فلاگ وضعیت دو

توضیحات
این تابع که فقط با سیستمهای PS/2 , PC/AT با صفحه کلید توسعه یافته کار می کند مشابه تابع INT 16/02 می باشدولی با این تفاوت که دراین حالت اطلاعات توسعه یافته برگردانده می شود . برای آگاهی از معانی فلاگهای وضعیت جدول های 9 و 10 را ببینید .
جدول 9 – فلاگ وضعیت شماره یک صفحه کلید BIOS
76543210
معنی
…….1
کلید شیفت سمت راست فشرده شده است
……1.
کلید شیفت سمت چپ فشرده شده است
…..1..
یکی ازکلیدهای کنترل فشرده شده است
….1…
یکی از کلیدهای ALT فشرده شده است
…1….
Scroll Lock فعال است .
..1…..
Nun Lock فعال است .
.1……
Caps Lock فعال است
1…….
وضعیت کلید Insert تغییر کرده است .

جدول 10 – فلاگ وضعیت شماره 2 صفحه کلید BIOS
76543210
معنی
…….1
کلید کنترل سمت چپ فشرده شده است
……1.
کلید ALT سمت چپ فشرده شده است
…..1..
کلید کنترل سمت راست فشرده شده است
….1…
کلید ALT سمت راست فشرده شده است
…1….
Scroll Lock فشرده شده است .
..1…..
Nun Lock فشرده شده است .
.1……
Caps Lock فشرده شده است
1…….
کلید Sys Req فشرده شده است .

Int17/00
نوشتن یک کاراکتر روی چاپگر
برای صدا زدن
AH
00h
AL
کاراکتر
DX
شماره چاپگر

باز می گرداند
وضعیت چاپگر ( جدول هشت را ببینید )

توضیحات
این تابع کاراکتر مشخص شده را برای پورت چاپگر می فرستد و وضعیت جاری چاپگر را بر طبق جدول هشت باز می گرداند .
Int17/01
مقدار گذاری پورت اولیه چاپگر
برای صدا زدن
AH 01h
DX شماره چاپگر

باز می گرداند
AH وضعیت چاپگر ( جدول هشت را ببینید )

توضیحات
این تبع پورت چاپگر موازی را آماده به کار کرده و وضعیت پورت را باز می گرداند . این تابع رشته 08h 0Ch را به پورت چاپگر می فرستد . چاپگرهای EPSON , IBM بدین ترتیب ریست می شوند .چاپگر های دیگر ممکن است عکس العمل مناسب نشان ندهند و یا اثر نامطلوبی را از خود بروز دهند .
Int17/02
خواندن وضعیت پورت چاپگر
برای صدا زدن
AH 02h
DX شماره چاپگر

باز می گرداند
AH وضعیت چاپگر

توضیحات
این تابع وضعیت پورت چاپگر موازی مشخص شده را باز می گرداند ( جدول هشت را ببینید ) . چنانچه از PS/2 , PC/XT 286 , PC/AT استفاده می کنید و BIOS می گوید که چاپگر مشغول است . ( بیت هفتم جدول هشت را ببینید ) ، INT 15/90 BIOS را احجرا خواهد کرد.
Int19
بوت گرم سیستم
برای صدا زدن
هیچ چیز را

باز می گرداند
هیچ چیز را

توضیحات
مشابه CTRL , ALT , DEL می باشد . این تابع یک بوت گرم را بدون تغییر وضعیت جاری حافظه اجرا می کند .
Int1A/00
خواندن شمارنده ساعت
برای صدا زدن
00h AH

باز می گرداند
AL فلاگ نیمه شب
CX:DX شمارش ساعت

توضیحات
شمارنده ساعت سیستم را که در هر ثانیه 2065/18 بار می زند را بدست می آورد .صفر معادل نیمه شب است .
Int1A/01
تنظیم شمارنده ساعت

برای صدا زدن
01h AH
CX:DX شمارش ساعت
باز می گرداند
هیچ چیز را

توضیحات
برای تنظیم ساعت به یک ساعت مشخص ، تعدا ضربانهای لازم را محاسبه کنید . برای انجام این کار تعداد ثانیه هایی را که از نیمه شب گذشته است در عدد 2056/18 ضرب کنید .
Int1A/02
خواندن زمان واقعی
برای صدا زدن
02h AH

باز می گرداند
اگر موفقیت آمیز باشد فلاگ Carry صفر خواهد شد.
CH
ساعت ( BCD )
AL
دقیقه (CBD )
DH
ثانیه (BCD )
DL
فلاگ زمان ذخیره نور روز
در صورت وجود خطا ، فلاگ Carry یک خواهد شد .

توضیحات
این تابع که فقط در روی سیستمهای PS/2 , PC/AT , PC XT 286 وجود دارد ) مقدار ساعت را به صورت BCD ( عدد باینری که به صورت دسیمال است ) باز می گرداند . برای سیستم PC/AT که تاریخ BIOS آن قبل از 6/10/85 می باشدDL مقداری نخواهد داشت . اگر فلاگ Carry یک باشد ساعت کار نمی کند .
Int1A/03
تنظیم ساعت واقعی
برای صدا زدن
AH
03h
CH
ساعت (BCD )
CL
دقیقه (BCD )
DH
ثانیه (BCD )
DL
زمان ذخیره نور روز
باز می گرداند
هیچ چیز را

توضیحات
این تابع فقط در روی سیستمهای PS/2 , PC/AT , PC XT 286 وجود دارد . ساعت باید به صورت BCD ( عدد باینری بصورت دسیمال ) باشد . ثبات DL مشخص کننده آن است که ساعت ، نگه داشتن وقت استاندارد (DL=0 ) را نشان می دهد یا وقت موسوم به صرفه جویی در نور روز . (DL=1 )
Int1A/04
خواندن تاریخ از ساعت واقعی
برای صدا زدن
04h AH

باز می گرداند
در صورت موفقیت آمیز بودن فلاگ Carry صفر خواهد بود .
CH
قرن (BCD )
CL
سال (BCD )
DH
ماه (BCD )
DL
روز (BCD )
در صورت وجود خطا ، فلاگ Carry یک خواهد بود .

توضیحات
این تابع که در روی سیستمهای PS/2 , PC /AT , PC XT 286 وجود دارد مقدار ساعت را به صورت BCD ( عدد باینری که به صورت دسیمال است ) باز می گرداند . اگر فلاگ Carry یک باشد ، ساعت کار نمی کند .
Int1A/05
تنظیم تاریخ ساعت واقعی

برای صدا زدن
AH
5h
CH
قرن (BCD )(19 Or 20 )
CL
سال (BCD )
DH
روز (BCD )
باز می گرداند
هیچ چیز را

توضیحات
این تابع فقط در روی سیستمهای PS/2 , PC/AT , PC XT 286 وجود دارد . مقادیر باید به صورت BCD ( عدد باینری که به صورت دسیمال است ) باشند .
Int1A/06
تنظیم آلارم سیستم تایمر زنگ سیستم را به گونه ای تنظیم می کند که بعداً اینتراپت تولید نماید .

برای صدا زدن
AH
06h
CH
ساعت (BCD )
CL
دقیقه (BCD )
DH
ثانیه (BCD )

باز می گرداند
در صورت موفقیت آمیز بودن فلاگ Carry صفر خواهد بود .
در صورت خطا فلاگ Carry یک خواهد بود .

توضیحات
این تابع فقط در سیستمهای PS/2 , PC/AT , PC XT 286 وجود دارد . عدم تنظیم زنگ باید به صورت BCD 0 عدد باینری که به صورت دسیمال است ) باشد .
تنظیم آلارم از رمان حاظر بصورت نسبی انجام می شود . وقتی زمان خاتمه یابد سیستم
Int 04 ( سر ریز ریاضی ) را تحریک می کند .قبل از ریست آلارم ، باید آنرا بوسیله
Int 1A/07 غیر فعال کنید و برای کار با زنگ ، اینتراپت آن را تنظیم کنید .
Int1A/07
غیر فعال کردن آلارم ساعت واقعی
برای صدا زدن
07h AH

باز می گرداند
هیچ چیز را

توضیحات
این تابع که در سیستمهای PS/2 , PC/AT , PC XT 286 وجود دارد زنگ ساعت Real – Time را غیر فعال می کند . چنانچه قبلاً زنگ را تنظیم کرده باشید ، این تاعب باید قبل از ریست کردن آن صدا شود .
Int1B
آدرس عمل کننده Ctrl – Break
برای صدا زدن
هیچ چیز

باز می گرداند
هیچ چیز را

توضیحات
بردار اینتراپت 1Bh ، آدرس عمل کننده اینتراپت Ctrl – Break را در بر می گیرد . زمانی که اجرای برنامه ای بوسیله کلیدهای فوق قطع می گردد ، کنترل به این آدرس انتقال داده
می شود .
Int1C
اینتراپت ضربان تایمر

برای صدا زدن
هیچ چیز

باز می گرداند
هیچ چیز را

توضیحات
بردار 1Ch مربوط به اینتراپت ضربان تایمر که بوسیله Int 08 صدا می شود ، بگونه ای مقدار گذاری اولیه می گردد که به یک دستورالعمل IRET اشاره می کند . یک برنامه مقیم در حافظه لازم است در هر ضربان تایمر تحریک شود می تواند این بردار را ریست کند که به روتین اینتراپت دلخواه اشاره نماید .
Int1D
جدول پارامترهای مقدار گذاری اولیه ویدئو
برای صدا زدن
هیچ چیز

باز می گرداند
هیچ چیز را

توضیحات
اینتراپت 1Dh ( که یک اینتراپت واقعی نیست ) به جدولی از پارامترهای مقدار گذاری اولیه برای کنترل کننده ویدئو اشاره می کند . از آنجاییکه اینتراپت 1Dh یک کد اجرایی نیست نمی تواند بوسیله یک برنامه صدا شود .
Int1E
جدول پارامترهای مقدار گذاری اولیه دیسک
برای صدا زدن
هیچ چیز

باز می گرداند
هیچ چیز را

توضیحات
اینرتاپت 1E ( که یک اینتراپت واقعی نیست ) به جدول مبنای دیسک نرم اشاره می کند که یک جدول پارامترهای مقدار گذاری اولیه برای کنترل کننده دیسک است . از آنجاییکه اینتراپت 1Eh یک کد اجرایی نیست ، نباید بوسیله هیچ برنامه ای صدا شود .
Int1F
جدول نقشه بیتی نمایش گرافیکی کاراکترها
برای صدا زدن
هیچ چیز

باز می گرداند
هیچ چیز را

توضیحات
اینتراپت 1F ( که یک اینتراپت واقعی نیست )به جدولی اشاره می کند که در آن ساختار بیتهای هر کاراکتر برای حالت گرافیکی جهت نمایش کدهای ASCII ، 128 تا 255 قرار گرفته اند . با ریست کردن این وکتور ، می توانید کاراکترهای موردنظر خود را در حالتهای گرافیکی CGA ایجاد کنید . این چنین عملیاتی خارج از بحث این مرجع سریع
می باشد .
Int70
اینتراپت ساعت واقعی ـ در هر ثانیه 1024بار صدا می شود تا توابع تناوبی و زنگ را کنترل نماید .
برای صدا زدن
هیچ چیز

باز می گرداند
هیچ چیز را

توضیحات
این تابع فقط در روی سیستمهای PS/2 , PC /AT , PC XT 286 عمل می کند ( تابع تناوبی در کامپیوتر در PS/2 مدل 30 وجود ندارد )
وقتی اینتراپت صدا می شود یک شمارنده چهار بایتی بمقدار 976 میکرو ثانیه ( 2024/1 ثانیه )کاهش پیدا می کند . مقدار اولیه این شمارنده بوسیله صدا زدن Int 15/83 یا 15/86 تنظیم می گردد . وقتی شمارنده مساوی یا کمتر از صفر می شود بیت هفتم فلاگ انتظار مشخص شده یک می شود . برای Int 15/83 فلاگ انتظار بوسیله ES:BX معین می گردد . برای Int 15/86 در 0040:00A0h قرار دارد .
چنانچه سرعت واقعی بع عنوان تابع زنگ به وسیله صدا زدن INT 1A/06 فعال شود ، آنگاه زمانی که زمان خاتمه یابد برای فعال کردن عمل کننده زنگ Int 70 به وسیله Int 4A صدا خواهد شد. ( عمل کننده زنگ باید قبل از صدا زدن INT 1A تنظیم شده باشد . ).

1

5


تعداد صفحات : 127 | فرمت فایل : word

بلافاصله بعد از پرداخت لینک دانلود فعال می شود