به نام خدا

سلام خدمت دوستان عزیز

بعد از سه ماه کار تصمیم گرفتم نتیجه ی کارم رو در اختیار شما بزرگواران قرار بدم!

راستش در سدد بودم که یک کامپیوتر بسازم بنابراین دست به کار شدم و ابتدا اتصال حافظه ی میکرو SD به FPGA رو بررسی کردم و آموزش اون رو اینجا قرار دادم. سپس برای نمایش متن نیاز به ارتباط با LCD بود پس به سراغ VGA رفتم و آموزش آن رو در اینجا قرار دادم. تا اینکه رسید به ورودی ها یعنی کیبورد و موس که بعد از یک سری کار روی اینها موفق به توصیف مداری که بتواند به کیبورد متصل شود، نشدم. در نهایت به سراغ قلب کامپیوتر یعنی پرازنده رفتم. نیاز بود تا پردازنده از یک سری دستور العمل پشتیبانی کند. باید دستور العمل ها را مشخص میکردم ولی برای نوشتن برنامه برای این پردازنده نیازمند کامپایلر و... بودیم بنابراین تصمیم گرفتم که دستور العمل های پردازنده مانند پردازنده ی معروف و مشهور اینتل یعنی 8086 باشد زیرا که برنامه و کامپایلر و شبیه ساز برای این پردازنده در اینترنت موجود است. بنابراین دست به کار شدم و مبنای کارم رو برنامه emu8086 قرار دادم. تا در نهایت بیش از 80 درصد دستور العمل های این پردازنده رو پورت کردم و به سراغ وقفه های dos رفتم تا با آن با نمایشگر ارتباط بر قرار کنم و روی LCD کاراکتر نمایش دهم. در اینجا بود که برای سخت افزار من (کارت SD) مشکلی پیش اومد و از ادامه ی کار باز ماندم. ولی کد مربوط به نمایش کاراکتر رو نوشتم اما از درستی عملکردش صحت حاصل نشده!

حال میخواهم این برنامه رو با تمام نقص هاش در اختیار شما بزرگواران قرار دهم.

نکته هایی که لازم است بدانید آن است که:

- پردازنده به صورت خودکار 512 بایت از کارت حافظه رو خوانده و در RAM قرار میدهد و از روی آن اجرا میکند!

- اکثر دستور العمل ها به جز شیفت ها پورت شدند

- برای دسترسی به لیست دستور العمل ها اینجا برید

- این کتاب به شما کمک میکند

- فقط 512 بایت RAM در FPGA برای برنامه قرار گرفته و تا 64 کیلو بایت پشتیبانی میشود

- هنوز سگمنت های کد و داده پورت نشدند و تغییر آنها به منظور دسترسی به آدرس آدرس:سگمنت تاثیری ندارد.

- ثبات های IP نشان دهنده آدرس برنامه و SP نشان دهنده آدرس آخرین مقدار پوش شده است و ثبات SS نشان دهنده آدرس سگمنت پشته است.

- وقفه 63h برای روشن کردن LED هاست (خودم اضافه کردم)

- اگر با چیز های عجیب و غریبی مواجه شدید کمی احتمال بدید که شاید مشکل از alias باشد زیرا این عبارت گاهی اوقات به خوبی جواب نمیدهد.

فعلا چیز دیگه ای به ذهنم نمیرسه!

 

دریافت
حجم: 21.7 مگابایت

 

موفق باشید

یا علی مدد...!