نوشته شده توسط
Mah-ra
سلام
میخواستم بدونم دستورات in & out در اسمبلی چه کاربردی دارند
اگه بخواهیم با یک سخت افزاری ارتباط مستقیم برقرار کنیم باید به شماره پورت یا پورت هایی که به اون سخت افزار مربوطه داده بفرستیم یا ازش داده بخونیم.
دستورات IN و OUT کارشون دقیقا همینه که از شماره پورت مشخصی داده بخونند یا به اون پورت داده بفرستند.
فرضا صفحه کلید کد کلیدی که فشار داده شده رو در پورت شماره 60h ثبت می کنه و می توانیم بدون اینکه در اجرای برنامه وقفه ای رخ بده و برای فشار کلید منتظر بمونیم چک کنیم که در این لحظه چه کلیدی فشرده شده.
فرضا کد کلید ESC مقدارش 1 ئه :
IN AL, 60h
CMP AL, ESC_key
JE go_exit
یا فرضا CMOS مادربورد از پورت 70h برای مشخص کردن آدرس حافظه و از پورت 71h برای مشخص کردن مقدار حافظه استفاده می کنه.
مثلا وقتی می خواهیم بایت خانه شماره 14 حافظه CMOS رو پاک کنیم (بهش مقدار 0 بفرستیم) همچین کدی خواهیم داشت :
MOV AL, 14
OUT 70h, AL
XOR AL, AL
OUT 71h, AL