ام بیسیک

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو
Translation arrow fa.svg این نوشتار یک ترجمه از ویکی‌پدیاهای دیگر است. پيوند به سایر زبان‌ها را در سمت راست-پايين اين صفحه ببينيد.

MBASIC همان مایکروسافت بیسیک در واقع اجرای بیسیک برای CP/M سیستم عامل بیسیک است.MBASIC از نوادگان اصلی مترجم آلتیربیسیک که ازتولیدات اولیه ما یکروسافت بودند است. MBASIC یکی از دو ورژن‌های بیسیک همراه با کامپیوترosborne۱بود. نام بیسیک از نام فایل دیسک مترجم بیسیک مشتق شده است.

محیط زیست[ویرایش]

MBASIC ورژن ۵ نیاز به یک سیستم با حداقل kb۲۶حافظه RAM (دستیابی تصادفی به حافظه) وحداقل یک درایو دیسکت دارد. بر خلاف نسخه‌های مایکروسافت بیسیک - ۸۰ که توسط سازندگان کامپیوتر خانگی که برای استفاده از ویژگی‌های سخت افزاری خاصی از کامپیوترسفارشی بودند، MBASIC فقط درCP/M خواستار سیستم عامل برای تمام ورودی و خروجی بود. فقط CP/M کنسول (روی صفحه نمایش و صفحه کلیدچاپگر خط، و دستگاه‌های دیسک در دسترس بود. MBASIC در فرم un customized هیچ تابع گرافیکی ندارد مثل رنگ، joysticks، موش‌ها، سریال‌های ارتباطی، شبکه، صدا، و یا حتی در زمان واقعی تابع ساعت. MBASIC به طور کامل از ویژگی‌های سیستم عامل CP/M پشتیبانی نمی‌کند، به عنوان مثال، این کار را کاربر CP/M برای سازماندهی فایل‌ها بر روی دیسکت پشتیبانی نمی‌کند. از آنجا که CP/M به طور معمول برای سیستم‌های تک کاربره و به تنهایی بود هیچ گونه پیش بینی برای فایل‌ها و یا قفل کردن رکورد، و یا هر فرم از عملکرد چند تکلیفی ندارد. جدای از این محدودیت‌ها، MBASIC در آن زمان برای اجرای قدرتمند و مفید از بیسیک در نظر گرفته شده بود.

ویژگی[ویرایش]

زبان سیستم MBASIC مترجم است. منبع متن برنامه که به صورت tokenized در حافطه ذخیرهمی شود، با کلمات کلیدی بیسیک با یک بایت تعویض می‌شود که این کار فضای حافظه را ذخیره می‌کند. پیشوند هر خط بایک شماره خط به متن برنامه اضافه می‌شود؛ جملات اساسی نه پیشوند با یک شماره خط بلافاصله به عنوان دستورها اجرا شدند. برنامه‌ها می‌توانند بر روی صفحه نمایش برای ویرایش لیست شوند یا برروی دیسک سخت فشرده شوند ویا در هردو فرمت باینری ومتن ساده اسکی قرار بگیرند. هرخط منبع بایک عدد شناخته می‌شود که می‌تواند به عنوان هدف رفتن یا انتقال مورد استفاده قرار گیرد. فقط خط دستورها ویرایش فراهم شده بود.[۱] این بود که اغلب مفید است برای ذخیره یک برنامه به عنوان متن ساده و ویرایش آن با یک ویرایشگر کامل برجسته. متن برنامه‌ها، متغیرها، دیسک بافر سیستم عامل CP/M خود ۶۴ کیلوبایت از فضای آدرس پردازنده ۸۰۸۰ به اشتراک گذاشت. به طور معمول هنگامی که برای اولین بار درMBASIC حافظه کمتر از ۳۲ کیلوبایت در دسترس وجود دارد برای برنامه‌ها و داده‌ها، حتی در یک ماشین مجهز به ۶۴ کیلوبایت کامل ازRAM نیاز است. توضیحات خطوط، پیشوند با کلمات کلیدی رم و یا علامت می‌تواند در متن برنامه قرار داده شود اما در زمان فضای باارزش حافظه کاربران بیسیک رابه طور کامل از کد مستند سازی دلسرد کرد. برای اجازه دادن به برنامه‌های بزرگتر و پیچیده تر اجرا می‌شود، بعد از نسخه پشتیبانی از توابع MBASIC که اجازه دادن بخشهایی از متن برنامه خوانده تحت کنترل برنامه واجراشود هیچ پشتیبانی برای اعدام فرمان "پوسته"، ارائه نشده بود هر چند این قابلیت می‌توانست توسط یک برنامه نویس مشخص تکرارشود. مزیت خاصی از MBASIC این است که متن کامل پیغام خطا برای ترکیب نحوی و خطاهای زمان اجرا فراهم شده است. MBASIC نیز یک تابع "ردیابی"دارد که شماره خط را نمایش می‌دهد که به عنوان خط آنها اعدام شدند. در حالی که این فضابر روی صفحه نمایش همان را به عنوان خروجی برنامه نرمال نشان می‌دهد، آن برای چنین شرایطی برای تشخیص حلقه بی پایان مفیداست.

فایل‌های ورودی /خروجی[ویرایش]

داده‌ها می‌تواند خوانده ویابرروی دیسک به صورت فایل های پی در پی ذخیره شوند ویا به طور ثابت طول رکورد فایل‌های با دسترسی تصادفی، که، می به اندازه کافی به یک برنامه نویس داده می‌شود می‌تواند در پایگاه داده مورد استفاده قرار گیرد. مایکروسافت فرمت دودویی برای اعداد با ممیز شناور انحصاری بودند به این معنا که داده تنها می‌تواند با دیگر برنامه‌ها با استفاده ازنمایندگی متن اسکی و یا دیگر برنامه گسترده به فرمت باینری تبدیل شود.

متغیرهاو انواع داده[ویرایش]

MBASICاز انواع دادهای زیر پشتیبانی می‌کند:

  • داده کاراکتری ۸بیتی، در طول رشته از ۰ - ۲۵۵ کاراکتر؛
  • ۱۶ - بیت اعداد صحیح؛
  • ۳۲ - بیتی با ممیز شناور (دقت یگانه)، معادل رقم در مبنای شش، با توان دو رقمی؛
  • ۶۴ - بیتی با ممیز شناور (دقت)، معادل رقم در مبنای شانزده، با توان دو رقمی.

عملگرهای رشته‌ای شامل زیر رشته انتخاب، الحاق، ماموریت، و آزمایش برای برابری است.

آرایه از نوع فوق تا ابعاد ۷ اجازه دارد، اما هیچ تابعی وجود ندارد که برای عمل روی آرایه (به عنوان مثال، مقدار دهی به آرایه) ایجاد شده باشد. بر خلاف برخی از پیاده سازی بیسیک آن زمان، MBASIC برای عملیات ماتریس، اعداد مختلط، یا دهدهی (BCD) نوع داده برای محاسبات مالی هیچ پشتیبانی ارائه نمی‌دهد. تمام عملیات ممیز شناور درعلوم نرم‌افزارانجام می‌شود وسیستمCP/Mسخت افزاری برای عملیات ممیز شناورنداشت. توابع ساخته شده در ریاضیات (سینوس، کسینوس، تانژانت، ورود به سیستم طبیعی، نمایی، ریشه مربع) تنها نتایج با دقت یگانه را می‌دهند. نرم‌افزار شبه تصادفی ژنراتور شماره ارائه شده بود، این نرم‌افزاربا تکیه به کاربر دربدست آوردن دنباله‌ای از اعداد مفید برای بازی‌ها و برخی شبیه سازی‌ها بود. MBASIC این اجازه را می‌دهد اما برای کلید واژه جملات انتساب نیاز ندارد. ورژن‌های اولیه از کامپیوترهای شخصی بیسیک بد نام شد برای یک یا دوکاراکتر که نامهای متغیربا معانی متغیر مشکل در برنامه‌های پیچیده برای فراخواندن ساخته بود. نسخه ۵ MBASIC شناسه‌های مجاز از متغیرهاتاطول ۴۰ کاراکترداد، که به برنامه نویس اجازه می‌دهد نام‌های قابل خواندن بگیرد.

برنامه تحت کنترل[ویرایش]

برنامه تحت کنترل در MBASIC توسط if…then…else کنترل شده بود... تست‌های شرطی از جمله while... پیمودن حلقه‌ها، و go to دستورالعمل GOSUB. هیچ جمله دیگری در دسترس نبود اگر چه یک go toچند شاخه بوجود می‌آورد، زیر برنامه‌ها پارامتری نداشتند و همه متغیرها globalبودند. mbasic ساختار اجباری برای برنامه نویسان بوجود نمی‌آورد وبرای همین نوشتن کد اسپاگتی با آن آسان بود.

PEEKs، POKEs و توابع کاربر[ویرایش]

اصول اولیه در کامپیوتر ۸بیتی  بین ۷۰ تا ۸۰ ثانیه بدون بحث و اشاره به اهمیت توابع pokes وpeeks برای خواندن و نوشتن مستقیم در حافظه  کامل می‌شد. از آنجا که این سیستم‌ها به طور معمول حفاظت از حافظه ندارند این به برنامه نویس اجازه می‌دهد که به بخش‌هایی از سیستم عامل یا توابعی که در غیر اینصورت در دسترس نیستند دسترسی یابد. این همچنین فرصت‌های نامحدودی رابرای استفاده کنندگان برنامه برای قطع سیستم فراهم می‌کند.. به عنوان مثال یک برنامه نویس cp/M ممکن است از تابعpokeبرای تعویض دستگاه کنسول به پورت سریال استفاده کندوbasicاجازه این کار را بدهد اگر سیستم بایاس آن را پشتیبانی کند. برای ماشین‌های با زمان واقعی از دستورالعملpeeks ممکن است برای دسترسی به زمان استفاده شود. برای عملیات‌های پیچیده تر، MBASIC به کاربر اجازه تعریف تابع‌هایی را می دهدکه یک برنامه پایه را صدا بزنند، این هابه طور معمول در یک قسمت از قرار گرفته و یا به وسیله POKEd ثابت رشته، به عنوان مجموعه‌ای از کدهای دستگاه قرار می‌گیرند.MBASIC همچنین سخت افزاردستورها داخلی و خارجی که به طور مستقیم در سخت افزار داخلی و خارجی۸۰۸۰ خوانده و نوشته می‌شوند را فراهم می‌کند. این ممکن است برای کنترل دستگاه‌های جانبی، هر چند درسیستمcp/M، وهمه دستورها وروردی خروجی که قبلاً برای استفاده سیستم بود مورد استفاده قرارگیرد. هر برنامه MBASIC که ساخته شدبرای استفادهpeek, pok وکدهای ماشین توابع کاربر، قابل حمل بین ماشین‌ها نبود.

جانشینان MBASIC[ویرایش]

مایکروسافت یک کامپایلر بیسیکcp/M (معروف به BASCOM) که با زبان منبع MBASICمشابه بود فروخت. برنامه تحت MBASIC، debugged می‌شد ومی‌توانست با BASCOMکامپایل شود. از آنجا که متن برنامه در حافظه بزرگ نبودوالمان‌های زمان اجرا از مترجم کوچکتر بودند بیشتر حافظه برای داده‌های کاربر در دسترس بودو سرعت اجرای برنامه ۸ - ۱۰ برابرافزایش یافته بود. کلیه توابع CP/MMBASIC درکامپیوتر آی بی ام، اساس BASICA یا GWBASIC که برنامه‌ها را از سیستم cp/Mبه کامپیوتر شخصی برده بود را سازگارکردو در دسترس قرار داد. به طور معمول قالب بندی صفحه نمایش دنباله فراری را در ورژن‌های cp/Mقرار داد که با دستورها موقعیت مکان نما در ورژن‌های basicپیدا شد که در غیر این صورت کمی نیاز به کمی بازنویسی خواهد بود.

اهمیت MBASIC[ویرایش]

MBASIC یک ابزار مهم درعصر کامپیوتر ۸بیتی cp/M بود. کاربران ماهرمی‌توانستند کارهای روزمره را در MBASICبنویسند وبه طور خودکار انجام دهند که در سیستم‌های مدرن روز به وسیله دستورها برنامه‌های قدرتمند و یا زبان‌های برنامه نویسی انجام می‌شود. تبادل برنامه‌های مفید MBASIC یک تابع مشترک از گروه‌های کاربران کامپیوترداشت. کلید زنی در بیسیک فهرست طولانی از مقاله مجلات بود. یکی از راه‌های نرم‌افزار"بوتاسترپینگ" سیستم جدیدcp/M بود. حداقل یک کامپایلر برای زبان سطح بالا در MBASIC نوشته شده بود، وبرای بسیاری از بازی‌های کوچک و برنامه‌های ابزار گرفته از چند خط به چند هزار خط کد نوشته شده بود.

دیگر استفاده‌ها[ویرایش]

MBASIC همچنین نام یکی از کامپایلرهای تجاری BASICبرای ریزتراشه فناوری میکروکنترلر ازخانواده پیشرفته توسط پایه میکرواست ونامرتبط با مترجم CP/M...

منابع[ویرایش]

  • ویکی‌پدیای انگلیسی. //en.wikipedia.org/wiki/MBASIC