دانلود مقاله اصول برنامه‌نویسی اسمبلی

Word 57 KB 432 44
مشخص نشده مشخص نشده کامپیوتر - IT
قیمت قدیم:۲۴,۰۰۰ تومان
قیمت: ۱۹,۸۰۰ تومان
دانلود فایل
  • بخشی از محتوا
  • وضعیت فهرست و منابع
  • CPU تراشه enCorRe دستور پشتیبانی می‌کند.

    همه برنامه‌ها باید از این 37 دستور استفاده کنند.

    سیپرس یک مترجم مجانی ارائه می‌دهد که کدهای اسمبلی را که شما می‌نویسید به فایل‌های موضوع، که به منظور برنامه‌ریزی در EPROM تراشه تهیه می‌شوند، تبدیل می‌کند.

    اگر ترجیح دهید که در C برنامه‌نویسی کنید، سیپریس یک مفسر C نیز پیشنهاد می‌کند.

    اگر با برنامه‌نویسی اسمبلی میکروکنترلر آشنایی داشته باشید، برنامه‌نویسی برای enCoRo نیز مشابه همان است.

    اما اگر با برنامه‌نویسی در بیسیک و C آشنا هستید، باید بدانید که در برنامه‌ نویسی کدهای اسمبلی بسیاری از عملگرهای زبانهای سطح بالا موجود نیست در اینجا دیگر حلقه‌های While یا ‌for یا انواع مختلف متغیرها وجود ندارد.

    اما برای تراشه‌‌ای مانند enCoRo که به منظور کارهای نمایشی و کنترلی غیر پیچیده طراحی شده است، استفاده از کدهای اسمبلی عملی است.

    برای برنامه‌های کوتاه، که به سرعت اجرا می‌شوند احتیاجی به خرید مفسر نیست.

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

    مثلاً دستور iord، که محل io را می‌خواند به کد h29 مربوط است.

    به جای به خاطر آوردن h 29، شما می‌توانید iord را بنویسید، و مترجم معادل سازی را برای شما انجام خواهد داد.

    دستور iord همچنین احتیاج به یک عملوند دارد که محل خواندن را مشخص کند.

    به عنوان مثال 01h iord پورتی با آدرس h 10 را می‌خواند.

    زبان برنامه‌ نویسی اسمبلی همچنین می‌تواند شامل دایرکتیو[1] و توضیحات باشد.

    دایرکتیوها دستوراتی هستند که به جای اینکه مربوط به CPU باشند، مربوط به مترجم می‌باشند.

    دایرکتیوها شما را قادر می‌سازند که محلی از حافظه را مشخص کنید، متغیرهایی تعریف نمایید.

    در کل، نقشی که مترجم در کنار اجرای دستورات مشخص شده باید ایفا کند را نشان می‌دهند.

    یک نقطه ویرگول ( : )یا ممیز دوبل ( // ) یک عبارت توصیفی را مشخص می‌کنند که مترجم از آنها چشم‌پوشی می‌کند.

    مترجمی که توسط سیپرس ارائه می‌شود، cyasm.exe قابل اجرا در پنجره داس[2] می‌باشد.

    سیپرس مرجع‌ها و راهنمای استفاده برای کاربرانی را تهیه کرده است که چگونگی استفاده از مترجم را شرح می‌دهد.

    مترجم از دو مجموعه دستور مشابه برای CPU‌های سری A و سری‌B پشتیبانی می‌کند.

    تراشه‌های enCoRo از سری B هستند.

    تراشه‌های قدیمی‌تر سیپرس، مانند 63001، از سری A بودند و از همه دستورات بجز بعضی از آنها پشتیبانی می‌کنند.

    کدهای مترجم راهنمای کاربران دارای توضیحات کاملی در مورد کد اسمبلی و دایرکتیوهاست و در اینجا برخی از جزئیات آن تکرار می‌شود.

    جدول 1-8 خلاصه‌ای از کدها می‌باشد و جدول 2-8 خلاصه‌ای از دایرکتیوها را نشان می‌دهد.

    کدهای ماشین تراشه به 37 دستور ترجمه شده است.

    بیشتری را ارائه می‌دهند.

    مانند اینکه نتیجه دستور add دارای سرریز[3] بوده است یا خیر یا اینکه نتیجه صفر شده است یا نه.

    تراشه از سه حالت آدرس دهی پشتیبانی می‌کند که چگونگی استفاده از عملوند را برای دستور مشخص می‌کند.

    همه دستورات از هر سه حالت آدرس دهی پشتیبانی نمی‌کنند.

    در آدرس دهی سریع، دستورات از مقدار عملوند مستقیماً استفاده می‌کنند.

    این دستور از آدرس دهی سریع برای جمع کردن h 60 با مقدار آکومولاتور استفاده می‌کند.

    Add A/ 60h در آدرس دهی مستقیم، دستور با عملوند شبیه به آدرس رفتار می‌کند و از مقداری که در آن آدرس ذخیره شده استفاده می‌نماید.

    این دستور از آدرس دهی مستقیم برای جمع کردن مقداری که در آدرس h60 از RAM نوشته شده با محتویات آکومولاتور استفاده می‌کند.

    Add A/ [60h] در آدرس دهی شاخصی، دستور از داده‌ای استفاده می‌کند که در آدرس حاصل از افزودنه یک مقدار به رجیسترX قرار گرفته است.

    آدرس دهی شاخصی برای کپی کردن یک بلاک از داده مفید می‌باشد.

    رجیستر X آدرس آغاز بلاک را در خود ذخیره می‌نماید.

    کد مقداری را به محتوای رجیستر X اضافه می‌کند تا آدرس بایتی که می‌خواهد کپی شود را به دست آورد.

    با افزایش این مقدار در هرکپی، کد می‌تواند یک بلاک داده را کپی کند.

    استفاده از مترجم مترجم یک برنامه تحت داس می‌باشد.

    این دستور: cyasm test.asm فایل ‏test.asm را اسمبل می‌کند.

    مترجم سه فایل ایجاد می‌کند: test.asm که کدهای اسمبل شده‌ای برای استفاده در کیت ارتقا هستند، شما می‌توانید از این فایل برای بارگذاری کدها از کامپیوتر بهRAM برد ارتقا استفاده کنید.

    در اینجا بخشی از فایل rom، هنگامی که در وایرشگر متنی باز می‌شود نشان داده شده است: 24 81 15 80 10 80 99 80 10 80 85 80 99 80 8C 80 21 2A 2D 20 1E 20 1A 2D 37 27 20 A0 00 16 37 1A در قالب‌بندی هگزاسکی، هر بایت با دو کد اسکی نمایش داده می‌شود که هر کد یک کاراکتر هگزادسیمال را نشان می‌دهد.

    مثلاً، بایت h 80 با کدهای اسکی h 38 برای 8 و h30 برای صفر نمایش داده می‌شود.

    استفاده از قالب‌بندی هگزاسکی شما را قادر می‌سازد که به راحتی در ویرایشگر متنی مقادیر بایت را ببینید (مثلاً 80).

    وقتی که کد در RAM برد ارتقا ذخیره شود.

    RAM شامل بایت‌های باینری می‌شود که توسط بایت‌های هگزاسکی نشان داده شده است.

    مثلاً، h 80 به 10000000 در باینری ترجمه می‌گردد.

    ‏test.hex کدهای اسمبلی در قالب‌بندی هگزاینتل می‌باشد.

    بسیاری از برنامه‌ریزان EPROMها از جمله Hi-Lo شرکت سیپرس، از این قالب‌بندی پشتیبانی می‌کنند.

    کیت ارتقاء می‌تواند به جای قالب‌بندی rom.

    از این قالب‌بندی استفاده کند.

    قالب‌بندی هگزاینتل از کاراکترهای هگزاسکی و اطلاعات آدرس دهی استفاده می‌کند که در اینجا داده‌هایی که در یک خط فایل hex.* موجود است را می‌بینید.

    test.hex یک فایل لیستی است که توسط مترجم ایجاد می‌گردد.

    این فایل هر خط کد اسمبلی و توضیحات را نشان می‌دهد.

    در ادامه آنها، کدهای برنامه معادل و آدرسی که باید در آنجا ذخیره شوند نمایش داده می‌شود.

    وقتی که از برنامه‌های نمایشی استفاده می‌کنیم.

    این فایل لیستی، مفید است.

    مثلاً اگر می‌خواهید که در یک نقطه اجرای برنامه را ثابت کنید، می‌توانید از این فایل لیستی برای پیدا کردن آدرس وابسته به آن خط استفاده کنید.

    ستون سمت چپ، آدرس در حافظه برنامه را مشخص می‌کند.

    این آدرس وقتی که خط، فقط شامل توضیح یا برچسب است تغییر نمی‌کند.

    دو ستون بعدی بایت‌های ذخیره شده در هر آدرس می‌باشد.

    مثلاً، در محل CD03، مقدار Ah 2 کدی برای iowr و h 14 نشان دهنده رجیستری است که می‌خواهیم روی آن نوشته شود.

    ستون بعدی تعداد سیکل کلاک است که دستور استفاده می‌کند (5).

    ستونهای سمت راست نیز شامل کدهای اسمبلی و توضیحات می‌باشند.

    برنامه‌نویسی در C روش دیگر برای نوشتن کد برای این تراشه‌های سیپرس استفاده از مفسر C و محیط ارتقاء آن است.

    مزیت‌های C در مقایسه با برنامه‌نویسی با زبان اسمبلی، استفاده از C چندین مزیت دارد.

    استاندارد بودن ـ اگر تجربه‌ای در برنامه‌نویسی C داشته باشید، با عبارتهای آن آشنایید و می‌توانید با سرعت بیشتری آغاز کنید.

    همچنین ممکن است بتوانید از کدهای C که برای تراشه‌های دیگر نوشته شده‌اند با تغییرات جزئی استفاده کنید.

    دستورات بیشترـ به جای استفاده از پرشهای ساده، کدهای شما می‌توانند از دستوراتی همچون if…else و case یا for و while … do استفاده کنند.

    اپراتورهای بیشترـ این مفسر از اپراتورهای ریاضی بیشتری پشتیبانی می‌کند و شما می‌توانید از جمع، تفریق، ضرب، تقسیم و مقایسه‌های گوناگون استفاده کنید.

    کتابخا‌نه‌ها و مثالها ـ کتابخانه ها می‌توانند با استفاده از توابع معمولی مقدار زیادی در زمان، صرفه‌جویی کنند.

    کتاب‌خانه‌هایی برای برنامه تراشه مدارهای واسط، میکرووایر، و UART، زمانهای تأخیر، واسط صفحه کلید و LCD و توابع ریاضی وجود دارد.

    این مثالها شامل کدهای کامل برای صفحه کلید و ماوس می‌باشند.

    بهینه‌سازی ـ مفسر بهینه‌سازی‌ای به منظور کدها برای فشردگی و سرعت داراست.

    اما مشکل آنجاست که باید این مفسر را خریداری نمایید، در حالی که مترجم مجانی می‌باشد.

    معماری تراشه این تراشه ارزان قیمت با طراحی آسان است و به منظور استفاده در ابزارهایی که قصد انتقال بلاک‌های کوچک داده با سرعت متوسط، ساخته شده است و کاربردهای آن در وسایل جانبی استاندارد از قبیل ماوس یا دستگاه‌های نقطه‌یابی دیگر و واحدهای data-acquisition می‌باشد.

    به عنوان مثال، واحدهای data-acquisition ممکن است نتایج خوانده شده از یک حسگر را به صورت متناوب به کامپیوتر بفرستد.

    پایه‌های I/O تراشه کنترلی می‌تواند به یک تبدیل کننده آنالوگ به دیجیتال که مقادیر خوانده شده از حسگر را به اعداد دیجیتالی تبدیل می‌کند و صل گردد.

    کامپیوتر میزبان نیز می‌تواند از اتصال USB برای درخواست آخرین داده‌های خوانده شده استفاده کند یا ممکن است کامپیوتر سیگنال‌هایی را به رله‌ها، موتورها یا دستگاه‌های دیگری که پایه‌های کنترلی I/O تراشه به آن متصل هستند ارسال کند.

    به جای تکرار مسائل موجود در کاتالوگ، به مطالب مهمی که قبل از کار با تراشه باید مورد نظر قرار گیرد توجه کنیم.

    نکات مشکل و گیج کننده کاتالوگ نیز مورد بحث قرار می‌گیرد.

    خصوصیات و محدودیت‌ها یکی از دلایل انتخاب تراشه 63743، ارزان قیمت بودن آن است.

    قیمت این تراشه حدود چند دلار در سفارشهای محدود می‌باشد.

    تراشه دارای 8 کیلوبایت حافظه برنامه است.

    با یک بهینه‌سازی، کدهایی که برای پشتبانی از ارتباطات USB لازم است، می‌توانند در یک کیلوبایت جای گیرند و به این ترتیب 7 کیلوبایت باقیمانده می‌توانند برای کاربردهای دیگر استفاده شوند.

    یک ابزار ضروری برای ارتقای این تراشه کیت ارتقا می‌باشد که شامل بر ارتقا، مترجم و برنامه‌های اشکال زدایی است.

    همچنین ممکن است احتیاج به برنامه‌ریز Lo PROM –Hi CY3649 نیز داشته باشید که همه این ابزارها توسط سیپرس در دسترس قرار گرفته است.

    63743 برای همه پروژه‌ها مناسب نیست.

    این تراشه دارای سرعت پایین است که به معنای آن است که شما نمی‌توانید به منظور انتقالهای همزمان و توده‌ای از آن استفاده کنید.

    و سریعترین زمان تأخیر ممکن دارای انتقال وقفه‌ای، 8 بایت در هر 10 میلی‌ثانیه می‌باشد.

    برخلاف بعضی از کنترلرهای اولیه، 63743 از انتقال وقفه‌ای خروجی پشتیبانی می‌کند.

    درون تراشه CPU این تراشه یک RISC هشت بیتی است که می‌تواند به حافظه برنامه، RAM، پورت‌ها‌ی I/O همه کاره و البته پورت USB دسترسی داشته باشد.

    پورت USB در حقیقت یک پورت سوئیچ خودکار است که هر دو واسط USB و PS/2 را برای ماوس و دیگر دستگاه های نقطه‌یابی ممکن می‌سازد.

    این ویژگی به منظور طراحی دستگاه‌هایی که قابل تطبیق با هر دو باس باشند قرار گرفته است.

    وقفه‌ها و ریست‌های مختلفی می‌توانند به CPU وقفه بدهند.

    حافظه حافظه داخلی تراشه 63743، شامل هشت کیلوبایت ( از h 0000 تا FFFh 1) از نوع OTP PROM برای ذخیره برنامه و 256 بایت RAM ( از h00 تا FFh) برای ذخیره داده‌های موقتی می‌باشد.

    34 بایت رجیستر I/O، هر کدام با وظیفه‌ای تعریف شده، نیز در این تراشه وجود دارد.

    سازماندهی حافظه برنامه تراشه، شبیه به میکروکنترلرهای دیگر است.

    اجرای برنامه از آدرسh 00 آغاز می‌شود.

    آدرس‌های h00 و h 01 حاوی آدرسی هستند که کد اصلی برنامه از آنجا شروع می‌گردد.

    آدرس‌های h02 تا h17 حاوی اشاره‌گرهای وقفه‌ای هستند که وقتی یک از یازده وقفه تراشه اتفاق می‌افتد، آدرسی را که میکروکنترلر باید به آنجا پرش کند مشخص می‌نمایند.

    در اینجا مثالی از جدول اشاره‌گرهای برنامه تراشه آمده است.

    هر اشاره‌گر وقفه، به آدرسی که عملوند آن مشخص می‌کند پرش می‌نماید.

    وقفه‌هایی که استفاده نمی‌شوند، نباید اتفاق بیفتد اما برنامه تراشه باید شامل پرشهایی برای این وقفه‌ها باشد.

    زیر برنامه سرویس وقفه (ISR) برای این وقفه‌های بدون استفاده، بدون تغییر دادن رجیسترها فقط باید اجرای برنامه را به محل فراخوانی، بازگرداند.

    وقفه‌ها بر اساس اولویت از آدرس h 0002 با بیشترین اولویت نوشته می‌شوند.

    حافظه برنامه از h0018 تا 1FDFh برای ذخیره بقیه کدها در دسترس می‌باشند.

    256 بایت RAM باید دو پشته داده و 8 بایت بافر برای اندپوینت، و داده‌های موقتی دیگری را نگهداری کنند (شکل 4-8).

    بافرهای اندپوینت از آدرس‌های E8h تا FFh استفاده می‌نماید.

    پشته‌ها دارای ساختار LIFO (آخرین ورودی – اولین خروجی) هستند.

    RAM دارای دو اشاره‌گر برای دسترسی به دو پشته می‌باشد.

    اشاره‌گر پشته برنامه (PSP ) از آدرس h 00 در هنگام ریست شروع می‌شود و مقدارش زیاد می‌گردد.

    در حالی که اشاره‌گر پشته داده (DSP) ممکن است توسط سخت‌افزار به E8h یا کمتر تنظیم گردد و مقدارش کم می‌شود.

    برنامه تراشه نیاز دارد که اطمینان حاصل کند که پشته‌ها آن قدر بزرگ نمی‌شوند که وارد محدوده دیگری گردند.

    اشاره‌گر پشته برنامه اشاره‌گر پشته برنامه (PSP) آدرس‌هایی را کد پس از بازگشت از یک زیر برنامه فراخوانی شده یا سرویس وقفه باید به آنها بازگردد را نگهداری می‌کند.

    در وقفه‌ها، PSP همچنین حالت پرچمهای صفر و نقلی را ذخیره می‌کند.

    برنامه تراشه مجبور نیست برای رهبری PSP همه کارها را خود انجام دهد.

    همه این کارها به صورت خودکار توسط سخت افزار و دستورات CALL و RET و RETI انجام می‌شود.

    شکل 4-8: RAM تراشه enCoRo حاوی بافرهای اندپوینت‌ها، پشته‌های داده و برنامه و متغیرهایی می‌باشد که برنامه تراشه نیاز دارد.

    در هنگام ریست، PSP به آدرس h 00 اشاره خواهد کرد.

    SPS قادر به سرویس دهی به چندین وقفه و یا زیربرنامه است.

    پس از اجرای زیربرنامه‌ها به دستوری که بعد از دستور فراخوانی است، باز خواهیم گشت.

    مثلاً اگر ‌PSP قبل از فراخوانی یک زیربرنامه به آدرس h00 در حافظه برنامه اشاره کند، دستور CALL همچنین PSP را دو واحد افزایش می‌دهد (به خانه h02 اشاره خواهد کرد) بنابراین آماده است که در

  • فهرست:

    ندارد.


    منبع:

    ندارد.


تحقیق دانش آموزی در مورد دانلود مقاله اصول برنامه‌نویسی اسمبلی, مقاله دانشجویی با موضوع دانلود مقاله اصول برنامه‌نویسی اسمبلی, پروژه دانشجویی درباره دانلود مقاله اصول برنامه‌نویسی اسمبلی

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

امروزه با توجه به فراوانی ویروس های کامپیوتری از یک طرف و صدمات حاصل از انتشار آنها از سویی دیگر شناخت و نحوه مبارزه با آنها بسیار حائز اهمیت می باشد . در این مقاله آشنایی با نحوه عملکرد ویروسهای کامپیوتری بیان شده است امروزه با توجه به تعدد ویروس های کامپیوتری در کشور،که اغلب آنها نیز ایرانی می باشند، شناخت و جلوگیری از تخریب آنها مفید ولازم به نظر می رسد . پیش از هر گونه بحث ...

نانوتکنولوژی چیست؟ نانوتکنولوژی تولید کارآمد مواد و دستگاهها و سیستمها با کنترل ماده در مقیاس طولی نانومتر، و بهره برداری از خواص و پدیده های نوظهوری است که در مقیاس نانو توسعه یافته اند. یک نانومتر چقدر است؟ یک نانومتر یک میلیاردم متر (9-m 10) است. این مقدار حدوداً چهار برابر قطر یک اتم است. مکعبی با ابعاد 5/2 نانومتر ممکن است حدود 1000 اتم را شامل شود. کوچکترین IC های امروزی ...

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

سیستم عامل چیست؟ سیستم عامل قسمت مهم هر سیستم کامپیوتری است یک سیستم کامپیوتری بصورت کلان می تواند به چهار جزء تقسیم شود: سخت افزار، سیستم عامل،‌ برنامه های کاربردی و کاربرها. سخت افزار که شامل واحد پردازش مرکزی (CPU)، حافظه، دستگاه های ورودی و خروجی (I/O) می باشد. منابع اصلی محاسبات را تشکیل می دهد. برنامه های کاربردی مانند کمپایلرها، سیستم های بانک اطلاعاتی، بازی ها، و برنامه ...

در این قسمت چشم اندازی بر ویندوز 2000 خواهیم داشت و برای اختصار ما ویندوز 2000 را با عنوان W2K یاد می کنیم. تاریخچه: داستان با یک سیستم عامل خیلی متفاوت شروع می شود که بوسیله با میکروسافت برای کامپیوترهای شخصی توسعه یافته مرسوم به یا . ورژن اولیه آن یعنی در آگوست سال 1981 منتشر شد که این سیستم عامل از 4000 خط کد به زبان اسمبلی تشکیل می یافت و برای اجرا احتیاج به حافظه داشت و روی ...

پاسکال بلز پاسکال ریاضیدان، فیلسوف و فیزیکدان فرانسوی 19 ژوئن 1623 در کلرمون واقع در مرکز فرانسه – 19 اوت 1662 در پاریس، به دنیا آمد. کسی که او را «پاک ترین موجود جهان» نامیده اند. پدرش ریاست اداره مالیات کلرمون را به عهده داشت. خواهرش ژیلبرت زندگی نامه او را نوشت و خواهر دیگرش ژاکلین او را به صومعه کشانید تا خودش را وقف کلیسا کند و در واقع موجب مرگ او و بی بهره شدن ...

یک نانومتر چقدر است؟ یک نانومتر یک میلیاردم متر (10-9 m) است. این مقدار حدودا چهار برابر قطر یک اتم است. مکعبی با ابعاد 2.5 نانومتر ممکن است حدود 1000 اتم را شامل شود. کوچکترین آی سیهای امروزی با ابعادی در حدود 250 نانومتر در هر لایه به ارتفاع یک اتم ، حدود یک میلیون اتم را در بردارند. در مقایسه یک جسم نانومتری با اندازه‌ای حدود 10 نانومتر ، هزار برابر کوچکتر از قطر یک موی انسان ...

نانوتکنولوژی نانو تکنولوژی با استفاده از ساختارهای ملکولی پیچیده مانند سلول انسان و 100 برابر محکم تر از فولاد, آغازگر یک تحول صنعتی خواهد بود.
به گزارش بخش خبر شبکه فن آوری اطلاعات ایران، به نقل ازجام جم آنلاین، این تکنولوژی جدید, از طریق دستکاری اتم ها, محصولات جدید وروش ساخت آنها را تغییر می دهد, به طوری که مواد حاصل, کوچکتر, محکم و سبک باشند.
تاکنون تنها محصولات ...

تاریخچه Linux در سال 1991، یکی از دانشجویان دانشگاه هلسینکی به نام Linus Torvalds که از سیستم عامل موجود ناراضی بود به فکر افتاد که از سیستم عامل برای کارهای خود استفاده کند. Unix یک سیستم عامل قدرتمند محسوب می شد، ولی قیمت ان گران بود.بنابر این Torvalds به فکر نوشتن نسخه ای از Unix برای خود افتاد.این کار ساده بود. وی پس از تنظیم قسمت های اصلی برنامه، از طریق اینترنت مجموعه ای ...

ثبت سفارش