وظيفة BIOS int 0x15 0x88 تُرجع دائمًا نفس حجم الذاكرة

StackOverflow https://stackoverflow.com/questions/1809856

  •  05-07-2019
  •  | 
  •  

سؤال

أنا أستخدم BIOS int 0x15 على محاكي Bochs الخاص بي ، ومع ذلك فإن هذا يعيد دائمًا نفس حجم الذاكرة (34440) بغض النظر عن ما قمت بتكوينه:

mov ax, 0x88
int 0x15

أعلم أن هناك طرقًا أفضل للكشف عن الذاكرة ، لكنني أردت أن أفهم سبب عدم عمل هذا كما هو متوقع (فقط في حالة وجود شيء قمت به)

لماذا هذا؟ هل BOCHS BIOS مرمز فقط لإرجاع هذه القيمة؟

هل كانت مفيدة؟

المحلول

قيمة الإرجاع التي تراها (الفأس = 34440) هي AH=86H and AL=88H. إنه ليس حجم الذاكرة. أراهن أنك ترى أيضًا مجموعة الحمل التي تعود إلى مجموعة ، مما يشير إلى وجود خطأ. رمز الخطأ 86H (في AH) يعني أن الوظيفة غير مدعومة. قد تكون لديك BOCHS عن قصد أو عن غير قصد لمحاكاة جهاز كمبيوتر مسبق.

نصائح أخرى

قد تحاول التحققint 15H ، AX = E820H - خريطة عنوان نظام الاستعلامكيف bochs int15/e820 خريطة ذاكرة الوصول العشوائي المادية المقدمة من BIOS

احصل على حجم الذاكرة الممتد

mov ah,88h
int 15h
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top