كیف یعمل البیوس ؟
بعد أن یجهز المعالج المسجلات یقوم بتسلیم القیادة أو التحكم للنظام بیوس
یبدأ التنفیذ في البیوس عند السطر ٤٣٠ ( في معالجات إنتل ) یقوم البیوس بعدد من المهام الأساسیة
أول مهمة للبیوس هي فحصقطع الجهاز:
لا تعتقد أن طریقة فحصالأجهزة أمر معقد ... بكل بساطة یقوم البیوس بإرسال إشارة لمنفذ الجهاز
IN وبعد ذلك یقوم بإستقبال أي إشارة من الجهاز عن طریق الأمر out عن طریق الأمر
إذا وصلت أي إشارة من الجهاز معنى ذلك أنة شغال ... وإذا لم تصل أي إشارة معناة خطأ في الجهاز
وهكذا مع كل أجهزة الكمبیوتر.
في نقطة مهمة في الفحص.. أول مایقوم بة البیوس فحصكرت الشاشة + منفذ الشاشة
إذا وجد أي خطأ فیة ( بمعنى أن الشاشة لا تعمل ولایمكن رؤیة أي ملاحظة یكتبها البیوس على الشاشة)
یقوم البیوس في هذة الحال بإستخدام طریقة الأصوات أو الصافرة لعرضأي خطأ في عملیة الفحص
أمثلة لأهل الصیانة
قمت بتشغیل الجهاز .. لم یعمل الجهاز .. لم یصدر البیوس أي صوت ( على طول الخطأ في البور سبلاي)
لأنة كما ذكرنا. یقوم البیوس بإصدار صوت إذا وجد خطأ. وإذا لم یصدر أي صوت معنى ذلك أن التنفیذ
لم یصل إلى البیوس .. لاحظ معنى الأصوات في البیوس
صافرة واحدة قصیرة = لا توجد أخطاء في عملیة الفحص
صافرتین قصیرة = خطأ في كرت الشاشة أو طریقة توصیل الشاشة
وهكذا مع كل الأخطاء
والنقطة الثانیة ... إذا كانت الشاشة شغالة ( یتم عرضالأخطاء بطریقة الأرقام)
أخطاء البیوس في كلى الحالتین تجدها هنا:
http://www.pchell.com/hardware/beepcodes.shtml
-----------------------------------
بعد أن یقوم البیوس بفحصالأجهزة یقوم بإنشاء جدولین
وهما جدول مقاطعات البیوس – و جدول معلومات البیوس
: BIOS الأول : جدول مقاطعات
عند العنوان ٠٠٠٠:٠٠٠٠ ( العنوان صفر ) یبدأ بكتابة عنواین المقاطعات .كل مقاطعة
تأخذ لها ٤ بایت .. لتدل على عنوان بدایة تنفیذ المقاطعة ، بهذا الشكل
عنوانها ٠٠٠٠:٠٠٠٠ ( هذا العنوا یحتوي على عنوان التنفیذ ) INT المقاطعة صفر 0
عنوانها ٠٠٠٠:٠٠٠٤ ، المقاطعة ٢ عنوانها 0000:0008 INT المقاطعة واحد 1
هذا الجدول الأول ( جدول المقاطعات )
ملاحظات (Hex) مجال العنونة (Hex) رقم المقاطعة
0000:0000 مقاطعة لرایة الفیضفي القسمة h INT 00 h
0000:0004 مقاطعة عمل المعالج خطوة ..خطوة h INT 01 h
NMI 0000:0008 مقاطعة الأجهزة الخارجیة لمایعرف بدبوس h INT 02 h
0000:000 مقاطعة لكتابة نقطة توقف للبرنامج Ch INT 03 h
0000:0010 مقاطعة رایة الفیضفي مسجل الحالة h INT 04 h
0000:0014 طباعة الشاشة h INT 05 h
0000:0018 مقاطعة لإختبار تنفیذ تعلیمة غیر مصرح لها h INT 06 h
0000:001 مقاطعة ضغط وتشفیر التعلیمات Ch INT 07 h
0000:0020 خدمات المؤقت h INT 08 h
0000:0024 خدمات الجهاز المشغل للوحة المفاتیح h INT 09 h
0000:0028 مقاطعة تستخدم في التبدیل بین المهام h INT 0A h
com 0000:002 خدمة المنفذ التسلسلي 2 Ch INT 0B h
com 0000:0030 خدمة المنفذ 1 h INT 0C h
LPT 0000:0034 خدمة المنفذ المتوازي 2 h INT 0D h
0000:0038 خدمات القرصالمرن ( الفلوبي) h INT 0E h
LPT 0000:003 خدمة المنفذ المتوازي 1 Ch INT 0F h
0000:0040 خدمات شاشة العرض h INT 10 h
0000:0044 مقاطعة تعید الأجهزة المتصلة بالكمبیوتر h INT 11 h
0000:0048 مقاطعة حجم الذاكرة h INT 12 h
0000:004 خدمات القرصالصلب Ch INT 13 h
0000:0050 خدمات منافذ لإتصالات h INT 14 h
0000:0054 خدمات النظام h INT 15 h
0000:0058 خدمات لوحة المفاتیح h INT 16 h
0000:005 خدمات الطابعة Ch INT 17 h
ROM BASIC 0000:0060 خدمات لتحمیل h INT 18 h
0000:0064 مقاطعة تحفیز قرصالإقلاع h INT 19 h
0000:0068 خدمات الوقت الحقیقي للساعة h INT 1A h
0000:006 تحدید مدة الإستجابة للوحة المفاتیح Ch INT 1B h
0000:0070 مقاطة التوقیت مقدر باللحظة h INT 1C h
0000:0074 مقاطعة جدول وبارمترات شاشة العرض h INT 1D h
0000:0078 مقاطعة جدول وبارمترات القرصالمرن h INT 1E h
0000:007 مقاطعة خصائصالخط والمحارف Ch INT 1F h
جدول مقاطعات البیوس
أین بقیة المقاطعات address=1F ... تلاحظ أننا توقفنا عند العنوان
باقي المقاطعات سنكتبها في وقتها.. لأن نظام الدوس یتطفل ویبدأ في الكتابة عند العنوان الذي توقفنا عندة
المهم : ماالفائدة من هذا الجدول + ما الفائدة من المقاطعات ؟ !
dll أولا : الفائدة من الجدول هي نقل التنفیذ .. والمثال على ذلك في وندوز مكاتب الربط ذات الإمتداد
یمكن یكون الشرح غیر مفهوم : والحل بالتطبیق العملي :
وإضغط أوكي ( لتشغیل برنامج الدیبغر ) debug إكتب run ثم start من قائمة
ما رأیكم بمقاطعة حجم الذاكرة وهي المقاطعة ١٢ .. عنوانها في الذاكرة ٠٠٠٠:٠٠٤٨
وهو عنوان المقاطعة ، إحفظ أول ٤ بایتات D في برنامج الدیبغر أكتب الأمر 0000:0048
020E:09AA طبق علیها قانون العكس فتساوي : AA 09 0E ولتكن مثلا 02
هل تعرف مایمثلة العنوان ، هو بدایة التنفیذ لشفرة المقاطعة ... جرب إذهب للعنوان
ولاحظ كیف تنفذ المقاطعة u 020E:09AA بواسطة أمر فك التجمیع
الفائدة من المقاطعة:
xp أهم فائدة هي تبسیط الأمور وهو ا سلوب متبع إلى الآن في الأنظمة الحدیثة مثل وندوز
ما رأیكم بتشریح مقاطعة إظهار حجم الذاكرة .. لأنها أسهل مقاطعة و أول مقاطعة ینفذها البیوس
كل مرة عند تشغیلك لجهازك ترى بأن النظام بیوس بعد فحصالأجهزة یعرضلك حجم الذاكرة
هل ترید أن تعرف كیف ینفذها .. عن طریق برمجة المنافذ + البرمجة المباشرة للذاكرة
بهذا الكود.......
تحياتـــــــــــــــــــــــــــــــــي
بعد أن یجهز المعالج المسجلات یقوم بتسلیم القیادة أو التحكم للنظام بیوس
یبدأ التنفیذ في البیوس عند السطر ٤٣٠ ( في معالجات إنتل ) یقوم البیوس بعدد من المهام الأساسیة
أول مهمة للبیوس هي فحصقطع الجهاز:
لا تعتقد أن طریقة فحصالأجهزة أمر معقد ... بكل بساطة یقوم البیوس بإرسال إشارة لمنفذ الجهاز
IN وبعد ذلك یقوم بإستقبال أي إشارة من الجهاز عن طریق الأمر out عن طریق الأمر
إذا وصلت أي إشارة من الجهاز معنى ذلك أنة شغال ... وإذا لم تصل أي إشارة معناة خطأ في الجهاز
وهكذا مع كل أجهزة الكمبیوتر.
في نقطة مهمة في الفحص.. أول مایقوم بة البیوس فحصكرت الشاشة + منفذ الشاشة
إذا وجد أي خطأ فیة ( بمعنى أن الشاشة لا تعمل ولایمكن رؤیة أي ملاحظة یكتبها البیوس على الشاشة)
یقوم البیوس في هذة الحال بإستخدام طریقة الأصوات أو الصافرة لعرضأي خطأ في عملیة الفحص
أمثلة لأهل الصیانة
قمت بتشغیل الجهاز .. لم یعمل الجهاز .. لم یصدر البیوس أي صوت ( على طول الخطأ في البور سبلاي)
لأنة كما ذكرنا. یقوم البیوس بإصدار صوت إذا وجد خطأ. وإذا لم یصدر أي صوت معنى ذلك أن التنفیذ
لم یصل إلى البیوس .. لاحظ معنى الأصوات في البیوس
صافرة واحدة قصیرة = لا توجد أخطاء في عملیة الفحص
صافرتین قصیرة = خطأ في كرت الشاشة أو طریقة توصیل الشاشة
وهكذا مع كل الأخطاء
والنقطة الثانیة ... إذا كانت الشاشة شغالة ( یتم عرضالأخطاء بطریقة الأرقام)
أخطاء البیوس في كلى الحالتین تجدها هنا:
http://www.pchell.com/hardware/beepcodes.shtml
-----------------------------------
بعد أن یقوم البیوس بفحصالأجهزة یقوم بإنشاء جدولین
وهما جدول مقاطعات البیوس – و جدول معلومات البیوس
: BIOS الأول : جدول مقاطعات
عند العنوان ٠٠٠٠:٠٠٠٠ ( العنوان صفر ) یبدأ بكتابة عنواین المقاطعات .كل مقاطعة
تأخذ لها ٤ بایت .. لتدل على عنوان بدایة تنفیذ المقاطعة ، بهذا الشكل
عنوانها ٠٠٠٠:٠٠٠٠ ( هذا العنوا یحتوي على عنوان التنفیذ ) INT المقاطعة صفر 0
عنوانها ٠٠٠٠:٠٠٠٤ ، المقاطعة ٢ عنوانها 0000:0008 INT المقاطعة واحد 1
هذا الجدول الأول ( جدول المقاطعات )
ملاحظات (Hex) مجال العنونة (Hex) رقم المقاطعة
0000:0000 مقاطعة لرایة الفیضفي القسمة h INT 00 h
0000:0004 مقاطعة عمل المعالج خطوة ..خطوة h INT 01 h
NMI 0000:0008 مقاطعة الأجهزة الخارجیة لمایعرف بدبوس h INT 02 h
0000:000 مقاطعة لكتابة نقطة توقف للبرنامج Ch INT 03 h
0000:0010 مقاطعة رایة الفیضفي مسجل الحالة h INT 04 h
0000:0014 طباعة الشاشة h INT 05 h
0000:0018 مقاطعة لإختبار تنفیذ تعلیمة غیر مصرح لها h INT 06 h
0000:001 مقاطعة ضغط وتشفیر التعلیمات Ch INT 07 h
0000:0020 خدمات المؤقت h INT 08 h
0000:0024 خدمات الجهاز المشغل للوحة المفاتیح h INT 09 h
0000:0028 مقاطعة تستخدم في التبدیل بین المهام h INT 0A h
com 0000:002 خدمة المنفذ التسلسلي 2 Ch INT 0B h
com 0000:0030 خدمة المنفذ 1 h INT 0C h
LPT 0000:0034 خدمة المنفذ المتوازي 2 h INT 0D h
0000:0038 خدمات القرصالمرن ( الفلوبي) h INT 0E h
LPT 0000:003 خدمة المنفذ المتوازي 1 Ch INT 0F h
0000:0040 خدمات شاشة العرض h INT 10 h
0000:0044 مقاطعة تعید الأجهزة المتصلة بالكمبیوتر h INT 11 h
0000:0048 مقاطعة حجم الذاكرة h INT 12 h
0000:004 خدمات القرصالصلب Ch INT 13 h
0000:0050 خدمات منافذ لإتصالات h INT 14 h
0000:0054 خدمات النظام h INT 15 h
0000:0058 خدمات لوحة المفاتیح h INT 16 h
0000:005 خدمات الطابعة Ch INT 17 h
ROM BASIC 0000:0060 خدمات لتحمیل h INT 18 h
0000:0064 مقاطعة تحفیز قرصالإقلاع h INT 19 h
0000:0068 خدمات الوقت الحقیقي للساعة h INT 1A h
0000:006 تحدید مدة الإستجابة للوحة المفاتیح Ch INT 1B h
0000:0070 مقاطة التوقیت مقدر باللحظة h INT 1C h
0000:0074 مقاطعة جدول وبارمترات شاشة العرض h INT 1D h
0000:0078 مقاطعة جدول وبارمترات القرصالمرن h INT 1E h
0000:007 مقاطعة خصائصالخط والمحارف Ch INT 1F h
جدول مقاطعات البیوس
أین بقیة المقاطعات address=1F ... تلاحظ أننا توقفنا عند العنوان
باقي المقاطعات سنكتبها في وقتها.. لأن نظام الدوس یتطفل ویبدأ في الكتابة عند العنوان الذي توقفنا عندة
المهم : ماالفائدة من هذا الجدول + ما الفائدة من المقاطعات ؟ !
dll أولا : الفائدة من الجدول هي نقل التنفیذ .. والمثال على ذلك في وندوز مكاتب الربط ذات الإمتداد
یمكن یكون الشرح غیر مفهوم : والحل بالتطبیق العملي :
وإضغط أوكي ( لتشغیل برنامج الدیبغر ) debug إكتب run ثم start من قائمة
ما رأیكم بمقاطعة حجم الذاكرة وهي المقاطعة ١٢ .. عنوانها في الذاكرة ٠٠٠٠:٠٠٤٨
وهو عنوان المقاطعة ، إحفظ أول ٤ بایتات D في برنامج الدیبغر أكتب الأمر 0000:0048
020E:09AA طبق علیها قانون العكس فتساوي : AA 09 0E ولتكن مثلا 02
هل تعرف مایمثلة العنوان ، هو بدایة التنفیذ لشفرة المقاطعة ... جرب إذهب للعنوان
ولاحظ كیف تنفذ المقاطعة u 020E:09AA بواسطة أمر فك التجمیع
الفائدة من المقاطعة:
xp أهم فائدة هي تبسیط الأمور وهو ا سلوب متبع إلى الآن في الأنظمة الحدیثة مثل وندوز
ما رأیكم بتشریح مقاطعة إظهار حجم الذاكرة .. لأنها أسهل مقاطعة و أول مقاطعة ینفذها البیوس
كل مرة عند تشغیلك لجهازك ترى بأن النظام بیوس بعد فحصالأجهزة یعرضلك حجم الذاكرة
هل ترید أن تعرف كیف ینفذها .. عن طریق برمجة المنافذ + البرمجة المباشرة للذاكرة
بهذا الكود.......
تحياتـــــــــــــــــــــــــــــــــي