دستورات زبان ماشین برای صفحه کلید

xml:namespace prefix = o />

الف : سرویسهای دستور INT21 برای خواندن ازصفحه کلید

v      سرویس 01H

v      سرویس 06H

v      سرویس 07H

v       سرویس 08H

v      سرویس 0AH

v      سرویس 0BH

v      سرویس 0CH

v      ب: سرویسهای دستورINT16H برای خواندن ازصفحه کلید

v       سرویس00H

v       سرویس 01H

v       سرویس 02H

v       سرویس 10H

v       سرویس 11H

v      صفحه کلیدهای امروزی دارای 101یا104کلید میباشندواین کلیدها به چهاردسته تقسیم میشوند:

v      - کلیدهای حروف استاندارد

v      - کلیدهای توابع شامل کلیدهای F1تاF12 به همراه یکی ازکلیدهای ALT,CTRL,SHIFT و...

v      - کلیدهای عملیاتی صفحه کلیدشامل ENTER,ESC,BACKSPACE

v      کلیدهای کنترلی شامل کلیدهای CTRL,ALT,SHIFT که همراه باکلیدهای دیگرکارمیکنند ولی خودشان کدهای اسکی ندارند.

 -سرویسهای دستورINT21H برای خواندن ازصفحه کلید:

v      برای اینکارشماره سرویس رادرثباتAH قرارمیدهیم ودستور INT21H رااجرامیکنیم. البته تمام سرویسهابه جرسرویس0AHفقط یک حرف ازصفحه کلید قبول میکنند که برای گرفتن یک رشته اطلاعات ، باید برنامه ای نوشت ،که ازحلقه ای برای این منظوراسنفاده کندوباکلید ENTERیاESC پایان پذیرد.

     سرویس 01H دستورINT21H: خواندن یک حرف ازصفحه کلید ونمایش آن برمانیتور

v      باقراردادن مقدار01Hدرثبات AHواجرای دستورINT21H،سیستم کداسکی سک حرف راازصفحه کلید میگیرد ودرثبات ALقرارمیدهد. ولی اگردربافرمذکوراطلاعاتی نباشد ، منتظرصفحه کلید میماندتاکلیدی فشارداده شود.

     به عنوان مثال دردستورات :

 MOV AH,0h

INT 21H

   بعدازاجرای دستورINT21H سیستم منتظرمیماند که کلیدی فشارداده شود که به محض     فشاردادن یک کلید کداسکی آن درثبات ALقرارمیگیرد  ، درضمن حرف مربوطه روی مانیتور نشان داده میشود.

سرویس 06H دستورINT21H:تشخیص فشاردادن کلید صفحه کلید

v      این سرویس هم برای وروداطلاعات هم جهت خروج اطلاعات به کارمیرود . اگربخواهیم ازآن برای وروداطلاعات استفاده کنیم مقدارثبات DLرابرابرFFHقرار میدهیم ، دراینصورت اگرحرفی دربافرنباشد، بیت پرچم ZFرایک میکندAL=0 می گردد ومنتظرفشارکلیدصفحه کلید نمیشود .درصورتی که حرفی دربافرصفحه کلید باشد ،کداسکی آن رادرثبات AL  قرار می دهدوبیت پرچم ZFراصفرمیکند.این سرویس حروف مربوطه را روی مانیتور نشان نمی دهد . درصورتی که بخواهیم ازاین سرویس به عنوان خروجی استفاده کنیم کافیست کداسکی حرف رادرثبات DLقراردهیم .

سرویس H07: خواندن یک حرف ازصفحه کلید بدون نمایش آن روی مانیتور

v      این سرویس کداسکی کلیدراازبافرصفحه کلید می گیرد واگرکدی درآن نباشد کامپیوتر منتظر می ماند که کلیدی فشارداده شود،آنوقت کداسکی کلیدفشارداده شده رادرثبات AL قرارمی دهد ولی برروی مانیتور حرف مربوطه رانشان نمی دهد .

   MOV AH,07H

   INT 21H

     سرویس H08: خواندن یک حرف ازصفحه کلید بدون نمایش آن روی مانیتور(حساس به صفحه کلید CTRL+BREAK )

     این سرویس مانند سرویس 01H دستورINT21H است ولی اطلاعات روی مانیتورنشان داده نمی شود.

     نکته : بافشاردادن کلیدی از صفحه کلید ، بادستور INT21H وسرویسهای ذیل کداسکی حروف مذکور درثبات AL قرار میگیرد ، درصوریتیکه :

v      الف :از سرویس 07H استفاده شود ، حرف مذکور روی مانیتور نشان داده نمی شود.

v      ب :از سرویس 01H استفاده شود ، حرف مذکور روی مانیتور نشان داده می شود. 

     سرویس 0AH دستورINT21H: خواندن یک رشته اطلاعات ازصفحه کلید ، قراردادن آن درمحلی دربافرحافظه ونشان دادن آنهاروی مانیتور

v      بااین سرویس بافشاردادن کلیدهای صفحه کلید ، کدهای اسکی آنهادرمحلی ازحافظه که درسگمنت داده تعریف می شودقرارمی گیرند ،وحرفهای نظیرکلیدهای فشارداده شده نیز ، برروی مانیتورنشان داده می شوند ،وبه ازای هرحرف مکان نما یک محل به جلو می رود.

v      مثال : درسگمنت داده ناحیه ای برای رشته اطلاعات ورودی از صفحه کلید به طریق زیر تعریف می شود

PALARST LABEL BYTE

MAXLENLEN DB 20

ACTELN DB?

KBDATA  DB  20 DUP(‘’)

باتعریف KBDATA درسگمنت داده ، 20محل حافظه برای حروف رشته ورودی رزرو می شود . برای گرفتن اطلاعات ازصفحه کلید، کافیست ثبات Ahرا برابر 0AH قرار بدهیم وافست آدرس بافر حافظه درسگمنت داده رادرثبات DXبگذاریم ودستور INT21Hرااجرانماییم مانند :

MOV AH,0AH

LEA DX,PARALST

INT 21H   

دراین صورت کامپیوترمنتظرفشاردادن کلیدهای صفحه کلید می شود ،و موقعیکه کاربر دکمه های صفحه کلیدرافشارمی دهد، آنهاراروی مانیتورنشان می دهد و مکان نمارابه اندازه یک حرف جلو می برد،و همچنین حروف تایپ شده را درمحل حافظه PARALST مطابق زیرذخیره می کند:

سرویس 0BH:تست بافرصفحه کلید

باقراردادن AH=0BH واجرای دستورINT21H بررسی می شود ، که آیا حرفی دربافرصفحه کلیدوجوددارد (اگرAL=0FFH باشد)ویاوجودندارد (اگر AL=0 باشد). البته این سرویس منتظرفشارکلیدی ازصفحه کلید نمی شود،فقط بافررابررسی می کند .

     سرویس 0CH دستورINT21H: پاک کردن بافر صفحه کلید وفراخوانی یک سرویس صفحه کلید

این سرویس همراه باسرویسهای 0AH,08H,07H,06H,01H دستورINT21H استفاده می شود . برای این کار ثبات AHرابرابرCH وثبات Alرا مساوی شماره سرویس مربوطه قرار می دهیم ، ودرثبات DX آفست آدرس بافرورودی راقرار می دهیم .

 پس ازاجرای دستور INT21H بافرصفحه کلیدپاک می شودو سرویس وقفه ای که شماره آن درALقرارداده شده اجرا می گردد، که دراین صورت باتوجه به شماره سرویس درAL سیستم منتظرفشردن دکمه صفحه کلید می شود.

 سرویسهای دستورINT16H (BIOS)برای خواندن ازصفحه کلید:

1.سرویس 00 دستورINT16H: خواندن یک حرف ازصفحه کلید وبدون نمایش روی مانیتور (حساس به صفحه کلید CTRL+BREAK )

برای استفاده ازاین سرویس مقدارAH=00 قرارداده می شودودستورINT16Hاجرا می گردد.بعدازاجرای دستورمذکورکامپیوتر بافر صفحه کلید رابازبینی می کند اگر خالی بودکامپیوتر آنقدر منتظر می ماند تا دکمه ای فشارداده شود.

یکی ازکاربردهای آن موقعی است که کامپیوترباید منتظر بماندتاکاربر یک کلیدرا فشاردهد، که به محض فشار هرکلیدی ،کداسکی آن درثبات AL قرار می گیرد وکارسرویس پایان می یابد.

مثال: بررسی کنیدآیا کلیدفشارداده شده حرف Aاست یا نه؟

MOV AH,0      

INT 16H         

CMP AL,41H  

JE SERV         

…..                  

……                 

2.سرویس 01H  دستورINT 16H: بررسی فشاردادن کلید صفحه کلید

MOV AH,01H

INT 16H

بررسی می کند کلیدی فشارداده شد است یا نه . اگرکلیدی فشارداده شده باشد بیت پرچم ZF=0 ودر غیراینصورت ZF=1می گردد.

3. سرویس 02H دستورINT 16H : برای گزارش وضعیت بعضی کلیدهای صفحه کلید

          بیت 7ثبات AL  اگر یک باشد یعنی کلید Insertفشارداده شده است .

          بیت 6ثبات AL  اگر یک باشد یعنی کلید Caps lockفشارداده شده است .

          بیت5ثبات AL  اگر یک باشد یعنی کلید Num lockفشارداده شده است .

          بیت 4ثبات AL  اگر یک باشد یعنی کلید Scroll lockفشارداده شده است .

          بیت 3ثبات AL  اگر یک باشد یعنی کلید Altفشارداده شده است .

          بیت 2ثبات AL  اگر یک باشد یعنی کلیدCtrl فشارداده شده است .

          بیت 1ثبات AL  اگر یک باشد یعنی کلید Left shiftوبیت 0 یعنی کلید Right shiftفشارداده شده است .

4.سرویس 10H دستورINT 16H:

عینا مانند سرویس 00است برای کلیدهای جدید 104 کلیدی به کارمیرود.

5. سرویس 11H دستور INT 16H:مشخص میکند آیاحروفی دربافرصفحه کلید وجودداردیانه؟

اگر کداسکی حرفی دربافرصفحه کلیدباشد، بیت ZFراصفرمی کند ،وکداسکی حرف مربوطه را واردثباتAL وکداسکن انرا درثبات Ahقرار می دهد.

درصورتی که کدحرفی دربافرصفحه کلید نباشد ،بیت ZFیک می شودو منتظرفشردن کلید نمی ماند.

منابع و ماخذ

زبان ماشین واسمبلی و کاربرد آن در کامپیوترهای شخصی   دکتر حسن سید رضی

برنامه نویسی به زبان اسمبلی   مهندس عین الله جعفر نژاد قمی

  مترجم:حسن زکی پورAssembly

Hpkclasses.com

 


مطالب مشابه :


ساختارهای سیستم عامل

در این حال ماشین از مد کاربر (user mode) به مد هسته (kernel mode) تغییر حالت می‌دهد ... قلب سیستم که به مانیتور ماشین مجازی (Virual Machine Monitor) معروف است،




گالری ماشینهای شارژی 2014 و 2015

فروشگاه ماشین شارژی و لوازم کودک - گالری ماشینهای شارژی 2014 و 2015 ... ماشین شارژی طرح آئودی برقی مدل : 988 ... مانیتور لمسی صوتی و تصویری با رم میکرو.




دستورات زبان ماشین برای صفحه کلید

mahdie tahmasbi - دستورات زبان ماشین برای صفحه کلید - تنهایی برایم غم تازه ای نیست ... سرویس H07: خواندن یک حرف ازصفحه کلید بدون نمایش آن روی مانیتور.




راهكارها وتجربيات ماشين شويي

8 آوريل 2013 ... قبل از هرچه باید بدونید که روی بدنه خودروی ماشین الان گرد و خاک و گل و .... اسپری جلو داشبورد رو روی صفحه کیلومتر یا مانیتور ماشین و کلا دکمه ها و




گالري عكس

مکانیک - گالري عكس - مطالب اموزنده از دنیای خودرو. ... نمای این خودرو به نام Fun-Vii به مانند یک مانیتور عمل می کند. اتومبیلی که مانیتور می شود ! + عکس www.taknaz.ir.




انواع سیستم عامل از نظر ساختار

مانيتور ماشين مجازي وظيفه چند برنامگي را بر عهده داردو لايه‌ بالاي آن وظيفه ايجاد واسطه کاربر با سخت افزار را بر عهده دارد. لذا هريک از اين بخشها ساده‌تر شده و از قابليت




مانیتور سامسونگ ال ای دی اس 19 آر 315 ان پلاس

سایز صفحه نمایش: 18.5 اینچ کنتراست : Mega ∞ DCR (استاتیک 1000:1) زمان پاسخگویی به تصویر: 5 میلی ثانیه وضوح تصویر : 768 × 1366 قابلیات کاهش




آموزش نصب مانیتور فابریک پژو 206 مدل اتومکس ( فیلم کوتاه نصب ضبط 206 )

DVD فابریک پژو 206/207 با GPS - آموزش نصب مانیتور فابریک پژو 206 مدل اتومکس ( فیلم ... اولین فروشگاه اینترنتی لوازم جانبی خودرو دارای نماد اطمینان در ایران.




عکس گرفتن از هر جای از صفحه مانیتور

منظور از کلید میانبر دسترسی سریع به یک نرم افزار خاص است فرض کنید شما از ماشین حساب زیاد استفاده می کنید و هر دفعه ان را از مسیر استارت باز می کنید راه




آینه عقب دیجیتالی خودرو با GPS

اینکه آینه ی عقب ماشین به جای یک آینه ی مقعر معمولی یک مانیتور LCD باشد که تصاویر را از طریق یک دوربین نشان میدهد به اندازه ی کافی جالب هست. اما وقتی که به




برچسب :