عنوان پست :
احیای زبان اسمبلی تحت تمام سیستم عامل ها
آدرس پست :
https://vahidmy.blog.ir/post/722
گرچه در پست قبلی به آدرس 721 و تحت عنوان تجربه ی نصب کالی لینوکس یازده گیگابایتی ، رسما اعلام کردم که بجز ویندوز ، سایر سیستم عامل ها را قبول ندارم و از مشکلات لینوکس خصوصا کالی لینوکس ، قدری مطلب نوشتم و حتی اعلام کردم که از ویندوز نیز می توان برای هک سیاه یا هک سفید و حملات سایبری و تست نفوذپذیری استفاده کرد و به کالی لینوکس نیاز نمی باشد ؛ اما من بیشتر از اینکه نگران سیستم عامل ها باشم نگران زبانهای برنامه نویسی هستم .
در اصل ، من بطور پیشفرض فقط برای ویندوز ، برنامه می نویسم و ویندوز سیستم عامل اصلی و انتخاب اول و آخر و همیشگی ام هست و تحت هیچ شرایطی ویندوز را رها نمی کنم زیرا از مزایای ویندوز نسبت به سایر سیستم عاملها بخوبی مطلع هستم .
اما از آنجاییکه سایر سیستم عاملها که اکثرا شبه یونیکس می باشند خصوصا لینوکس و بی اس دی و اندروید و مک و آی او اس ، توانسته اند بجز دسکتاپ ، سایر حوزه ها را تصرف نمایند و کاربران فراوانی را جذب کنند ، چاره ای ندارم بجز اینکه در مورد سایر سیستم عامل ها نیز به آزمون و خطا و کسب تجربه متوسل شوم و سعی کنم زبان اسمبلی را تحت تمام سیستم عاملها ، احیا نمایم .
مثلا ما بیش از چهار میلیارد کاربر اندروید و بیش از سه میلیارد کاربر ویندوز در دنیا داریم .
اما من خودم به ازای یک کامپیوتر ویندوزی ، چندین دستگاه اندرویدی در اختیار دارم !!
بنابراین باید تصور کنم که تعداد کاربران اندروید در کل دنیا دستکم 12 میلیارد نفر می باشد !!!!!
از طرفی دیگر اکثر کامپیوترهای سریع و قدرتمند یعنی سرور و مین فریم و سوپرکامپیوتر منحصرا از لینوکس استفاده می نمایند و البته هکرها و کارشناسان امنیت فضای مجازی نیز از لینوکس استفاده می نمایند .
بنابراین من باید به دنیای سرورها و سوپرکامپیوترها نیز سرک بکشم و سعی کنم زبان اسمبلی را برای این دستگاهها نیز تبلیغ نمایم .
با توجه به اینکه سیستم عامل اندروید نیز تقریبا در تمام عرصه های زندگی مردم جهان حضور پر رنگ دارد و حتی نسخه ی دسکتاپی دارد که روی کامپیوتر نصب می شود پس باید کاربران میلیاردی اندروید را بازهم مجددا در نظر بگیرم .
اگرچه هیچکدام از دستگاههای شرکت اپل را در اختیار ندارم ولی باید برای کاربران شرکت اپل نیز زبان اسمبلی را تبلیغ نمایم .
کاربران سیستم عاملهای خاص از قبیل سیستم عامل AIX شرکت IBM نیز باید با زبان اسمبلی مواجه شده و از مزایای این زبان بهره مند شوند .
نظر به اینکه سیستم عامل UNIX اوریجینال شرکت At&T در سال 1968 میلادی بطور کامل توسط دنیس ریچی ، با زبان اسمبلی ساخته شد و سورس کد این سیستم عامل معروف را نیز قبلا در همین وبلاگ وحیدمی تحت عنوان " میراث یونیکس " یا " دانلود سورس کد سیستم عامل یونیکس " آپلود کرده ام و از گیتهاب نیز می توانید این سورس کد را که به زبان اسمبلی نوشته شده است دانلود نمایید ، بنابراین دیگه جای هیچ تردیدی برای اجرای این ماموریت نیست .
آدرس پست مربوط به دانلود سورس کد سیستم عامل یونیکیس اوریجینال شرکت مخابرات آمریکا که در سال 1968 میلادی توسط دنیس ریچی و با کمک زبان اسمبلی ، نوشته شده اما بصورت یک پروژه ی محرمانه و سری ، بایگانی شد و تا مدت پنجاه سال از دسترس مردم دنیا مخفی بود تا دنیس ریچی بتواند زبان برنامه نویسی C را به دنیا معرفی کرده و عملا زبان اسمبلی را به قتل برساند !!
https://vahidmy.blog.ir/post/The%20Unix%20Heritage
همین آدرس بدون کد زبان ماشین 20 در مبنال هگزادسیمال :
20 = کد زبان ماشین در مبنای هگزادسیمال که با فشردن کلید space ( فاصله ی افقی ) خودبخود ایجاد می شود !
عنوان پست :
دانلود سورس کد سیستم عامل یونیکس
آدرس پست :
https://vahidmy.blog.ir/post/The Unix Heritage
دانلود سورس کد سیستم عامل یونیکس اوریجینال از گیتهاب :
https://github.com/dspinellis/unix-history-repo
Heritage = میراث - آنچه که از کسی یا چیزی به یادگار مانده باشد . این سورس کد در اصل میراث دنیس ریچی می باشد که با زبان قدرتمند اسمبلی و در سال 1968 میلادی و با دست نوشته شد ولی تا مدت پنجاه سال و بنا به قوانین بین المللی کپی رایت ، مخفی باقی ماند و البته هدف این بود که دنیس ریچی بتواند زبان ابداعی خودش یعنی زبان C را به بهانه ی قابلیت حمل سخت افزاری ، جایگزین زبان Assembly نماید !!!
غافل از اینکه ، ماه همیشه پشت ابر نمی ماند و حقیقت برملا می شود .
این سورس کد عملا به نفع زبان اسمبلی و بر علیه زبان سی خواهد بود . زیرا ثابت می کند که برای خلق سیستم عامل معروف یونیکس ، چاره ای نبود بجز اینکه از زبان اسمبلی استفاده کنند . این خودش سندی برای تایید و حقانیت زبان اسمبلی می باشد .
قابلیت حمل سخت افزاری فقط یک بهانه ی واهی بود زیرا آن موقع یعنی در سال 1968 میلادی نهایتا یکی دو معماری ساخته شده بود و عملا پورت کردن یونیکس بر روی دهها پردازنده ، همان زمان نیز یک تفکر و ایده ی غلط بود ولی خب .....
قرار بود حضرت دنیس ریچی علیه السلام ، به شهرت و محبوبیت تاریخی برسد که رسید .
اما دیگه تمام شد .
دوران عوام فریبی دنیس ریچی و زبان سی و سایر زبانهای سطح بالا به سر آمده است .
+
+
من خودم را موظف می کنم که کاربران تمام سیستم عامل های جهان از سیستم عامل IBSYS محصول سال 1960 میلادی شرکت IBM تا سیستم عاملهای CTSS و Multics و UNIX محصول دهه ی 1960 میلادی شرکت AT&T را با زبان اسمبلی آشنا نمایم !!
اگرچه ، تمام دنیا ، توانسته اند به سورس کد سیستم عامل UNIX اوریجینال سال 1968 میلادی که به زبان اسمبلی نوشته شده است از طریق گیتهاب دست یابند و حتی دستگاههایی ساخته اند و این سورس را کامپایل و روی این دستگاهها مجددا آزمایش کرده اند و عملا طرفداران زبان اسمبلی که تعدادشان در دنیا زیاد است ، خودشان به ارزش و اعتبار و اصالت و قدرت و انعطاف پذیری و همه منظوره بودن زبان اسمبلی اذعان دارند و سالها از من جلوتر می باشند ، اما من قصد دارم زبان اسمبلی را تحت تمام سیستم عاملهای رایج در ایران ، احیا نمایم .
یعنی قصد دارم کاری کنم که در سالهای آینده ، در رشته ی مهندسی کامپیوتر ، از ترم اول کارشناسی تا ترم آخر مقطع دکتری رشته ی علوم کامپیوتر یا مهندسی کامپیوتر در ایران ، منحصرا زبان اسمبلی بصورت تئوری و عملی تدریس شود و زبانهای سطح بالا کم کم و به مرور زمان از دانشگاهها و موسسات و ادارات و آموزشگاههای ایران حذف شوند .
من تا این لحظه تمام تلاش خودم را کرده ام که زبان اسمبلی را لااقل در ایران ، احیا کنم و نمی دانم که آیا در این مورد ، موفق بوده ام یا اینکه تلاشهایم بیهوده بوده و با شکست مواجه شده اند .
مسلما من به تنهایی نمی توانم زبان اسمبلی را در ایران احیا کنم و مسلما قادر نیستم تمام کاربران ایرانی را راضی و متقاعد کنم که از زبانهای سطح بالا دست شسته و فقط با اسمبلی برنامه نویسی نمایند .
این فرایند متقاعدسازی و قانع کردن مردم و کارشناسان و مهندسان ، کار بسیار بسیار دشوار و خسته کننده ای است و انرژی فراوانی از من هدر می دهد .
لذا من به این فکر افتادم که با تبلیغ غیرمستقیم از زبان اسمبلی تحت تمام سیستم عاملهای رایج در ایران ، کاری کنم که کاربرهای کامپیوتر ، خودشان به میل خودشان و به مرور زمان به سمت زبان اسمبلی تشویق شوند و اینطوری سهم زبان اسمبلی لااقل در ایران افزایش یابد و بازار کار زبان اسمبلی نیز کاملا مشخص شود و سایتهای ایرانی نیز در کنار زبانهای سطح بالا ، از زبان اسمبلی نیز بعنوان یک زبان برنامه نویسی پولساز و پردرآمد و همه منظوره تبلیغ نمایند و صرفا مقالات خارجی که دشمن زبان اسمبلی هستند را ترجمه نکنند !!
ترجمه ذاتا کار بدی نیست ولی به اصالت متن آسیب می رساند و از طرفی دیگر ، ترجمه کردن مطالب سایتهای ضد اسمبلی ، عملا موجب فراموشی این زبان در ایران می گردد .
برهمین اساس ، من از امروز قصد دارم بصورت رسمی در وبلاگهای تخصصی ام و البته در همین وبلاگ ، نمونه برنامه های ساخته شده با زبان اسمبلی و برای انواع سیستم عاملها را به شما کاربران ایرانی معرفی نمایم .
شاید اینطوری بتوانم مردم ایران را راضی کنم که از زبان اسمبلی استقبال نمایند .
البته زبان اسمبلی بطور پیشفرض در بدنه ی کامپایلرهای تمام زبانهای برنامه نویسی سطح بالا ، بصورت مخفی و بک آند ، حضور دارد اما اسمبلی مستقل که خودش کامپایلر داشته باشد چندان رایج نیست .
من به دنبال ترویج اسمبلی مستقل هستم و گرنه اسمبلی درون زبانهای سطح بالا تا ابد می تواند زندگی کند و در مورد این نوع اسمبلی اصلا نگران و دلواپس نیستم .
من نگران این هستم که زبان اسمبلی مستقل یعنی کامپایلرهای زبان اسمبلی که مستقیما برنامه تولید می کنند و در شکم هیچکدام از زبانهای سطح بالا حضور ندارند ، نابود شوند .
مثلا RosAsm از آن دسته کامپایلرهای زبان اسمبلی است که متاسفانه در بک آند هیچکدام از زبانهای سطح بالا بکار نرفته است و ممکن است در آینده منقرض و منسوخ شود .
از طرفی دیگر ، من به دنبال آن دسته از کامپایلرهای زبان اسمبلی هستم که هنوز زنده هستند و کاربران فراوان در سطح جهان دارند و در بخش بک آند زبانهای سطح بالا نیز بکار رفته اند و توانسته اند سیستم عامل جدید نیز بسازند .
من بارها و بارها در این وبلاگ گفته ام که در میان کامپایلرهای متعدد زبان اسمبلی ، فلت اسمبلر از همه بهتر است زیرا اولا به هیچ سیستم عاملی وابسته نیست و هیچ فناوری را بر شما تحمیل نمی کند و آزادی تان را مخدوش نمی کند و ثانیا خودش توانسته چندین سیستم عامل جدید بسازد که اسامی شان را در کلمات کلیدی زیر این پست مشاهده می فرمایید .
ضمنا فلت اسمبلر در بک آند زبان برنامه نویسی pure basic بکار رفته است .
همچنین فلت اسمبلر توانسته تعدادی کامپایلر جدید زبان اسمبلی و چندین زبان سطح بالای جدید بسازد که تمام اینها را می توانید از انجمن برنامه نویسان فلت اسمبلر که آدرس اش را در کلمات کلیدی زیر این پست نوشته ام ، دانلود نمایید .
، خب با این تفاسیر شاید لازم باشد برخی اسمبلرهای خوب و عالی و بی نظیر مثل RosAsm را فراموش نمایم و به موفقترین کامپایلر زبان اسمبلی یعنی Fasm تکیه نمایم .
فلت اسمبلر که تحت عنوان Fasm یا fasm نیز در دنیا شناخته شده است ، موفق ترین و بهترین کامپایلر زبان اسمبلی در دنیا محسوب می شود .
این اسمبلر زحمت مرا کم کرده است زیرا در انجمن فلت اسمبلر ، زبان اسمبلی برای چندین سیستم عامل معروف از جمله داس و ویندوز و لینوکس و یونیکس و اندروید ، تدریس و ترویج شده است . نمونه برنامه هایی نیز برای این سیستم عاملها و البته برای پردازنده های غیر اینتلی نیز نوشته و ساخته شده که می توانید بدون نیاز به عضویت ، این نمونه برنامه ها یا لااقل سورس کدشان را دانلود نمایید .
بنابراین من از امروز سه شنبه مورخ 16 مه سال 2023 میلادی ، رسما روی فلت اسمبلر و تحت نام کلی " زبان اسمبلی " تمرکز می نمایم و سایر کامپایلرهای زبان اسمبلی را علیرغم میل باطنی ام ، فراموش می کنم .
من چاره ای بجز تمرکز روی فلت اسمبلر ندارم و از طرفی دیگر ، باید مانع از تردید و گمراهی کاربرها بشوم .
مردم نمی توانند همزمان چندین کامپایلر مختلف از یک زبان واحد را یاد بگیرند .
لذا من روی فلت اسمبلر تمرکز می کنم و سایر کامپایلرهای معروف زبان اسمبلی را از امروز برای همیشه فراموش می نمایم .
به همین جهت از امروز ، وقتیکه عبارت " زبان اسمبلی " را بکار می گیرم منظورم همان ، فلت اسمبلر یا fasm می باشد .
+
پیرو این تصمیم ، من قصد دارم بطور غیرمستقیم و برای تمام سیستم عاملهای رایج و غیررایج ، زبان اسمبلی ( یعنی همان فلت اسمبلر ) را تبلیغ و ترویج نمایم .
+
خب ، من برای زبان اسمبلی ( یعنی fasm ) چندین وبلاگ ساخته ام . اما هم اکنون قصد دارم یکی از وبلاگهای جدیدم را به شما معرفی نمایم :
وبلاگ فسمی
وبلاگ فسمی به آدرس https://fasmy.blog.ir جدیدترین وبلاگی است که برای احیای زبان برنامه نویسی اسمبلی و برای تمام سیستم عامل ها ، ساخته ام .
البته قبلا نیز یک وبلاگ با همین نام "فسمی " در تبلاگ ساخته بودم که به دلیل مشکلات فنی ادیتور تبلاگ ، مجبور شدم آن وبلاگ را رها کنم .
در بلاگ اسکای نیز وبلاگ "فسم " را ساخته بودم که شاید در آنجا نیز مطلب بنویسم .
اما فعلا قصد دارم در همین بلاگ بیان ، متمرکز شوم و از پراکنده کاری پرهیز نمایم .
لذا فعلا در همین وبلاگهای بلاگی ام حضور دارم و فقط در مواقع ضروری ، به بلاگ اسکای می روم .
نظر به اینکه بجز داس و ویندوز ، معماری سایر سیستم عاملها را بلد نیستم لذا برنامه نویسی با هگز ادیتور عملا با دشواریهای بسیار فراوان روبرو می باشد .
من خودم هیچ امیدی به اینکه بتوانم برنامه نویسی با هگز ادیتور را در ایران ترویج کنم ندارم . زیرا واقعا کار دشوار و خسته کننده ای است و من به معماری سیستم عاملهای مختلف نیاز دارم که خب این یک امر بسیار دشوار و پیچیده و وقتگیر است .
لذا بجای هگز ادیتور ، از زبان اسمبلی یعنی fasm برای برنامه نویسی چند سکویی و تحت چند سیستم عامل ، استفاده می نمایم .
درواقع ، زبان اسمبلی یعنی فسم (Fasm) کار مرا آسانتر کرده است و کاربرهای خارجی که عضو انجمن زبان اسمبلی هستند تاکنون مقالات آموزشی فراوان و البته صدها نرم افزار نمونه را برای اکثر سیستم عاملها ساخته اند که می توانید بدون نیاز به عضویت ، از انجمن زبان اسمبلی ( انجمن فلت اسمبلر ) دانلود نمایید .
+
+
آن چیزی که مهمتر از سیستم عاملها می باشد ، زبانهای برنامه نویسی است .
من چندان با سیستم عاملهای غیرویندوزی مشکل ندارم اما با زبانهای برنامه نویسی غیر اسمبلی یا ضد اسمبلی واقعا مشکل دارم .
اگر زبان اسمبلی را فراموش کنید هرگز نباید نام خودتان را مهندس کامپیوتر بگذارید .
اجازه دهید رک و پوست کنده بگویم :
" هرکس اسمبلی نداند ، به دانشگاه وارد نشود ! "
یعنی شما باید قبل از اخذ مدرک دیپلم ، در آموزشگاههای کامپیوتر در ایران ، زبان اسمبلی را یاد بگیرید . البته بعید می دانم هیچ آموزشگاهی در ایران ، زبان اسمبلی را به مردم یاد بدهد .
لذا فقط یک راه در پیش دارید :
ورود به سایتها و انجمن های تخصصی زبان اسمبلی که البته اکثرشان خارجی هستند .
سایتها و وبلاگها و انجمن های ایرانی ، متاسفانه زبان اسمبلی را تدریس نمی کنند یا آنرا فراموش کرده و به آن اهمیت نمی دهند .
لذا من توصیه می کنم فقط به سایتها و انجمنهای معتبر خارجی مراجعه نمایید و در کمترین زمان ، بصورت کاملا رایگان ، زبان اسمبلی را یاد بگیرید و سپس که بر اسمبلی مسلط شدید ، به دانشگاه وارد شوید و سعی کنید هر پروژه ای که به شما دادند فقط با اسمبلی کدنویسی کنید و هرگز به سمت زبانهای سطح بالا نروید که نابود می شوید !
خب مخلص کلام :
من در وبلاگ جدید فسمی به آدرس fasmy.blog.ir ، که به تازگی آنرا ساخته ام در حال تبلیغ و ترویج زبان اسمبلی هستم و فعلا درحال کپی و الصاق محتویات فایل Fasm.pdf می باشم !!
اینکار قدری دشوار است زیرا کپی کردن مطالب فایلهای pdf با دشواریهای فراوان روبرو می باشد . لذا این فرایند کپی و الصاق می تواند زمانبر باشد . امیدوارم که صبر و حوصله ی کافی داشته باشید .
بعد از اتمام اینکار ، آنوقت مطالب درون انجمن و همچنین کدهای اسمبلی را به درون وبلاگ فسمی کپی می کنم و لینکهای معتبر و بی خطر این انجمن را در وبلاگم نمایش می دهم .
بعد می رسیم به مرحله ی اصلی یعنی تدریس زبان اسمبلی به سبک و سیاق خودم !!!
اینجا جایی است که من خودم را محک می زنم تا ببینم آیا می توانم از ذهن خودم نیز برنامه بنویسم و آنرا برای سیستم عاملهای مختلف پورت کنم یا نه ؟؟؟
مسلما برای اینکار باید مطالعه و تمرین و آزمون و خطای فراوان را سرلوحه ی کارهایم قرار بدهم .
در زبان اسمبلی ( یعنی در fasm ) شما برای برنامه نویسی قابل حمل در پردازنده های مختلف ، دو راه در پیش دارید :
1- استفاده از سیستم ماکرو اینستراکشن یا همان ماکرو به زبان عادی خودمان
2- استفاده از نسخه ی جدید زبان اسمبلی یعنی fasmg که خب چون fasmg هیچگونه IDE ندارد ، هنوز نتوانسته ام با آن کار بکنم .
بنابراین فعلا می توانم فقط برای پردازنده ی اینتل ، برنامه بسازم و سایر پردازنده ها را به آینده موکول می کنم .
یک وبلاگ هم قبلا در همین بلاگ بیان به نام فسمجی و به آدرس fasmg.blog.ir ساخته بودم که به دلیل عدم پاسخگویی شرکت بیان ، نتوانستم رمز جدید برای وبلاگ بسازم و عملا این وبلاگ به دلایل امنیتی ، از دسترس خارج شد !!!!!
با توجه به اینکه من یک بلاگر سیار هستم ، لذا به احتمال زیاد ، ممکن است در سایر سیستم های وبلاگدهی که البته مفید و پاسخگو باشند و مشکلات فنی نداشته باشند نیز به این فرایند احیای زبان اسمبلی ادامه بدهم .
لذا اگر دیدم که بلاگ بیان حقیقتا پشتیبانی افتضاحی دارد ( که متاسفانه افتضاح است ) شاید مجبور باشم برای تامین امنیت خودم و وبلاگهایم و کاربرهایم ، به سایر سیستمهای وبلاگدهی مهاجرت نمایم .
با توجه به حملات سایبری متعدد علیه شرکت بیان و وبلاگهایش ، که موجب شد این سیستم بارها و بارها از دسترس خارج شود ، احتمال دارد که به یک سیستم وبلاگدهی جدید مهاجرت نمایم .
اگر این مهاجرت دائمی و همیشگی باشد حتما آدرس وبلاگ جدید را در اختیارتان قرار می دهم .
من لینک وبلاگهای اسمبلی ام را در بخش پیوندهای وبلاگ وحیدمی قرار می دهم تا اگر اینجا مطلبی نوشته نشد بتوانید به این وبلاگهای تخصصی مراجعه نمایید و از مطالب جدید استفاده نمایید .
پس لطفا به جعبه ی پیوندهای وبلاگ وحیدمی نگاه کنید و روی اسامی وبلاگهای جدید یا تخصصی ام کلیک نمایید تا به وبلاگ وارد شوید و از مطالب تخصصی مربوط به زبان اسمبلی یا سیستم عاملها ، استفاده نمایید .
در مورد ترجمه نیز بارها گفته ام که هیچ ترجمه ای نمی تواند جای متن اصلی را بگیرد و البته ترجمه به اصالت متن صدمه می زند و البته ترجمه وقت مرا می گیرد و نمی توانمن زبان اسمبلی را ترویج نمایم .
لذا لطفا از من درخواست ترجمه نفرمایید . متاسفانه قادر به ترجمه نیستم . شما می توانید مطالب وبلاگهای مرا به درون فایلهای متنی کپی کرده و به مترجم های حرفه ای و متخصص تحویل دهید تا برای شما ترجمه نمایند .
این مسلما خیلی بهتر از اینست که من برای شما یک ترجمه ی ناقص و مبهم بسازم و شما را گمراه کنم .
من اصلا مترجم خوبی نیستم و بهتر است که فقط روی کار اصلی ام یعنی تبلیغ از زبان اسمبلی ، تمرکز نمایم .
مجددا تاکید می کنم که به جعبه ی پیوندهای وبلاگ وحیدمی و سایر وبلاگهایم مراجعه نموده و روی اسامی وبلاگها کلیک کنید تا به سایر وبلاگهایم وارد شوید و از مطالب بروز و جدید بهره مند شوید .
نکته پایانی :
من بجز وبلاگ وحیدمی ، وبلاگ عمومی دیگری ندارم . یعنی داشتم ولی رها کردم . زیرا من فقط به منظور احیای زبانهای برنامه نویسی اصیل و واقعی یعنی ماشین و اسمبلی ، به دنیای وبلاگنویسی وارد شدم و اصلا دوست نداشتم مطالب سیاسی و متفرقه و نامرتبط را منتشر نمایم ولی مجبور شدم که اینکار را انجام دهم .
الان مدتی است که به ماموریت و هدف اصلی ام بازگشته ام و دیگه به مسائل حاشیه ای و سیاسی کاری ندارم و فقط روی زبان اسمبلی ، تمرکز کرده ام .
بنابراین دیگه هیچ وبلاگ عمومی نساخته ام و نخواهم ساخت و فقط وبلاگ تخصصی زبان اسمبلی را می سازم .
لذا بجز وبلاگ وحیدمی هیچ وبلاگ عمومی دیگری ندارم و وبلاگهای عمومی قبلی ام را به امان خدا رها کرده ام و فقط در وبلاگهای تخصصی زبان اسمبلی ، به ادامه ی وبلاگنویسی مشغول می باشم .
من از این لحظه به بعد ، بجز زبان اسمبلی ، به هیچ چیز دیگری فکر نمی کنم و در مورد هیچ موضوع دیگری مطلب نمی نویسم مگر در همین وبلاگ وحیدمی و البته در صورت صلاحدید .
البته سعی می کنم در وبلاگ وحیدمی ، مطالب علمی و فنی را مطرح کنم و از طرح مطالب سیاسی و چالش برانگیز و پردردسر خودداری نمایم زیرا شخصا از سیاست و حاشیه سازی بیزارم .
بنابراین در وبلاگ وحیدمی نیز فقط روی مطالب علمی و تخصصی و خصوصا زبان اسمبلی تمرکز خواهم کرد .
من قصد دارم در آینده ، رشته ی مهندسی کامپیوتر را انتخاب نمایم و بصورت خودخوان در منزل ، درس بخوانم زیرا هیچ علاقه ای برای حضور در کلاس و مکانهای شلوغ و خسته کننده و کسل آور و مراسمات کسل کننده ، ندارم و ترجیح می دهم در مکانی خلوت و ساکت یعنی در خانه ، درس بخوانم .
من اگر به دانشگاه وارد شوم بدون اینکه ذره ای با استاد ، جر و بحث کنم ، سعی می کنم بصورت خودخوان واحدها را در منزل ، پاس کرده و خودم را بی سر و صدا و به تدریج از شر زبانهای سطح بالا خلاص کنم و سپس خودم را در آخرین درس مقطع کارشناسی یعنی درس ریزپردازنده و زبان اسمبلی ، مطرح می کنم . البته نه اینکه خودنمایی و فخرفروشی کنم بلکه از زبان اسمبلی دفاع می کنم و مظلومیت زبان اسمبلی را در کلاس درس زبان اسمبلی ، به زبان می آورم !! . تا آن موقع سکوت را اختیار کرده و با هیچکس حرف نمی زنم و هیچ سوالی از استاد نمی پرسم و با هیچکدام از دانشجوها هم کلام نمی شوم زیرا اصلا دوست ندارم به حاشیه کشانده شوم و ناخواسته قداست زبان اسمبلی را در هم بشکنم !!
هرگز در دنیای واقعی کاری نمی کنم که خدای ناکرده حرمت زبان اسمبلی در هم شکسته شود . زیرا اسمبلی زبان انسانهای حکیم و خردمند است .
برنامه نویسی بدون باگ را در زبان اسمبلی تجربه خواهید کرد .
اگر می خواهید از شر باگ ها و حفره های امنیتی و حملات سایبری خلاص شوید فقط از زبان اسمبلی برای برنامه نویسی استفاده نمایید .
نکته :
به دلیل کمبود وقت و فراوانی کارهایی که باید انجام دهم و نیاز به آرامش و سکوت و تمرکز ، نمی توانم به سوالات شما کاربران گرامی ، پاسخ دهم .
هر سوالی که در مورد زبان اسمبلی در ذهن تان ایجاد شده ، از برنامه نویسان حرفه ای انجمن جهانی زبان اسمبلی بپرسید تا شما را راهنمایی کنند .
آدرس این انجمن را بارها و بارها در وبلاگ وحیدمی قید کرده ام . همان انجمن فلت اسمبلر را می گویم .
سایر انجمن ها که به سایر کامپایلرهای زبان اسمبلی مربوط می شوند کمک چندانی به شما نمی کنند و حتی ممکن است شما را فریب داده یا گمراه کنند .
لذا فقط به انجمن فلت اسمبلر مراجعه کنید و به هیچ انجمن دیگری اعتماد نکنید .
آدرس انجمن فلت اسمبلر را در وبلاگ فسمی قید کرده ام . می توانید از آنجا ، آدرس را پیدا کرده و عضو شوید و سوالات مورد نظرتان را از متخصصین بپرسید .
هر سوالی که مطرح می کنید باید در راستای ارضای غریزه ی کنجکاوی و افزایش دانش و مهارت ، باشد و لطفا از طرح سوالات چالش برانگیز و ضد اسمبلی که زبان اسمبلی را به تمسخر می گیرند جدا خودداری نمایید که اصلا کار درستی نیست و خلاف اخلاق انسانی است .
بجای اینکه مثل برخی کاربرهای خارجی ( مزدوران شرکتهای انحصار طلب ) زبان اسمبلی را به تمسخر گرفته یا به چالش بکشانید سعی کنید فقط از کاربردهای زبان اسمبلی و مزایای این زبان نسبت به زبانهای سطح بالا ، سوال مطرح نمایید .
بعنوان کاربرهای ایرانی ، عملا نماینده ی کشور ایران هستید پس سعی کنید با آبروی ایران بازی نکنید . هرچند که شما اصلا مجبور نیستید مکان زندگی تان را برملا کنید و می توانید از افشای مکان زندگی تان در پروفایل ، خودداری نمایید . اما لطفا احتیاط را رعایت کرده و اصول اخلاقی را زیر پا نگذارید .
در ضمن من خودم به دلیل مشغله ی کاری و عدم تسلط بر زبان انگلیسی وعدم تمایل به عضویت و نیز تمایل به مدیریت کردن کارهایم و میل به سرپرستی و رهبری و هدایت افراد و عدم علاقه به اطاعت از مردم و قوانین دست و پاگیر ، عضو هیچ انجمن خارجی نیستم و البته به انجمن های ایرانی نیز علاقه ای ندارم .
من دوست دارم خودم مدیر و سرپرست سیستم باشم لذا هرگز عضو هیچ سایت یا انجمن یا شبکه اجتماعی نیستم و نخواهم بود . لذا فقط وبلاگنویسی را انتخاب کرده ام تا خودم مدیر سیستم باشم .
بنابراین باید بدانید که من فقط وبلاگ نویس هستم و هرگز عضو هیچ سایت یا انجمن ایرانی یا خارجی یا شبکه ی اجتماعی نیستم و نخواهم بود .
ضمنا عضویت در انجمنهای ایرانی هیچ فایده ای ندارد زیرا در انجمن های ایرانی ، کاربر میهمان قادر به مشاهده ی لینک ها و دانلود فایلها نیست و این نیز نوعی رفتار غیرحرفه ای و نادرست است که متاسفانه در وب فارسی رایج است .
بنابراین تاکید می کنم فقط و فقط به انجمن جهانی زبان اسمبلی ( انجمن فلت اسمبلر ) مراجعه نموده و سوالات خود را آنجا مطرح نمایید .
کافیست لغت fasm یا Fasm را در گوگل یا بینگ جستجو کنید . سپس وقتیکه به سایت اصلی فلت اسمبلر یعنی https://flatassembler.net وارد شدید ، روی عبارت Message Board کلیک نمایید تا به انجمن فلت اسمبلر ، وارد شوید و بعد بتوانید سوالات مورد نظرتان را مطرح نمایید . البته ابتدا باید عضو شوید تا بتوانید سوالی را مطرح کنید . برای دانلود فایل یا مشاهده ی لینکها هیچ نیازی به عضویت ندارید و بصورت کاربر میهمان می توانید تمام لینکها را مشاهده کرده و تمام فایلها را دانلود نمایید . عضویت فقط برای مطرح کردن سوال ، اجباری است و برای سایر موارد نیازی به عضویت ندارید .
+
من خودم به دلایل شخصی ، به هیچ سوالی پاسخ نمی دهم . هر سوالی دارید از اعضای این انجمن معتبر جهانی ، بپرسید . من فقط یک معرف هستم . من به خودم اهمیت نمی دهم به احیای سنتها اهمیت می دهم . من یک انسان درونگرا و منزوی هستم و اصلا دوست ندارم دیده شوم و از شهرت و محبوبیت و ثروت بیزارم . من هرگز خودم را پشت یک اسم مستعار مخفی نمی کنم زیرا من فیک نیستم و با مردم رو راست و صادق هستم و چیزی برای مخفی کردن ندارم . من یک شخصیت حقیقی و واقعی هستم .
بنابراین در همه جا ، نام و نام خانوادگی واقعی ام را نوشته ام و از انجام اینکار اصلا نمی ترسم . زیرا من باید فقط از خدا بترسم . من از هیچکس و هیچ چیزی نمی ترسم و تهدید و هشدار افراد حقیقی یا حقوقی ، ذره ای در من تاثیر ندارد و هرگز خم به ابرو نمی آورم و خونسرد و آرام هستم . هرکس مرا تهدید کند فقط خودش را خسته کرده است . همین و بس .
من هم در دنیای واقعی و هم در فضای مجازی ، خونسرد و آرام هستم و از تهدید شدن و ارعاب توسط هیچ شخص حقیقی یا حقوقی ذره ای نمی ترسم و اعتنا نمی کنم .
از هارت و پورت مقامات سیاسی و قضایی و اجرایی ایران نیز ذره ای ترس در من ایجاد نمی شود و به روی خودم نمی آورم و البته قصد دارم از این به بعد ؛ دیگه این افراد حقیقی یا حقوقی را تحریک نکنم و بیش از این ، عصبانی نکنم زیرا ممکن است خدای ناکرده به حمله ی قلبی دچار شوند و جان شیرین شان را از دست بدهند !!!
دوست ندارم باعث و بانی مرگ مسئولین بی عرضه و پرسرو صدا و پر مدعا و توخالی و پوشالی ایران باشم !
اجازه می دهم هرچقدر دلشان خواست مرا مستقیم یا غیرمستقیم تهدید کنند ولی من در عوض سکوت می کنم و به کارهای مهمتر می رسم زیرا عمر انسان کوتاهتر از این است که بخواهد با آدمهای بی مغز و پرحرف و فرصت طلب و دروغگو و شیاد و قلدر ، جر و بحث نماید .
جدال با انسان نشانه ی جهالت است .
والسلام
+
پایان
+
نتیجه :
احیای زبان اسمبلی با کمک سیستم عاملهای مختلف و انجمن زبان اسمبلی
بروزرسانی :
من هم اکنون به وبلاگ جدیدم یعنی وبلاگ فسمی به آدرس https://fasmy.blog.ir می روم تا بتوانم کارم را ادامه دهم .
اما همزمان به وبلاگ وحیدمی نیز برمی گردم و از پست بعدی ، سایر دستورات زبان اسمبلی را البته طبق گرامر اسمبلر RosAsm به شما معرفی می نمایم .
در مورد وبلاگ اسپاسم به آدرس https://spasm.blog.ir نیز باید بگویم که این وبلاگ کماکان فعال است و من به تولید محتوا در این وبلاگ نیز کماکان ادامه می دهم اما خب ، RosAsm نمی تواند به احیای زبان اسمبلی تحت سیستم عاملهای غیرویندوزی و پردازنده های غیر اینتلی ، کمک نماید و قادر به تولید سیستم عامل نیست .
لذا چه دوست داشته باشیم چه نداشته باشیم باید با این اسمبلر دوست داشتنی و محبوب خداحافظی کنیم و به Fasm مهاجرت نماییم . چاره ای نداریم زیرا توسعه ی RosAsm سالهاست که متوقف شده است .
اگر در بلاگ اسکای ، وبلاگهای جدید بسازم حتما آدرس این وبلاگهای جدید را نیز که منحصرا در مورد زبان اسمبلی Fasm می باشند در اختیارتان قرار می دهم .
وبلاگهای قبلی که در بلاگ اسکای ساخته بودم از درجه ی اعتبار ساقط هستند و من دیگه به آنها برنمی گردم .
لذا باید منتظر باشید تا وبلاگهای جدیدی را در بلاگ اسکای بسازم .
علی الحساب فعلا فقط در بلاگ بیان و بلاگ اسکای ، به وبلاگنویسی مشغول هستم و در سایر سیستم های وبلاگدهی حضور ندارم .
تا بعد ....
+
+
بروزرسانی فوری :
می خواستم یک پست جدید بسازم و تصمیم نهایی ام در مورد انتخاب بهترین و جهانی ترین کامپایلر زبان اسمبلی را به مخاطبان اعلام کنم ولی سیستم بلاگ به من اجازه نداد زیرا در هر روز نمی توان بیش از 10 پست را تولید کرد .
علی الحساب ، این پست را در قالب یک بروزرسانی طولانی در همینجا کپی پیست می کنم و رسما اعلام می کنم که دیگه به تبلیغ از RosAsm ادامه نمی دهم و صرفا از Fasm و تحت عنوان " اسمبلی جهانی " یا " زبان اسمبلی " تبلیغ می کنم
و اما محتوای این بروزرسانی :
به نام خدا
اسمبلی جهانی
این پست به منزله ی زنگ تفریح و رفع خستگی و البته تصمیم نهایی می باشد .
من برای نابود کردن هرنوع شک و تردید و دودلی که واقعا مرا و شما را کلافه و سردرگم و خسته می کند ، تصمیم گرفتم که دیگه از هیچ نوع کامپایلر زبان اسمبلی تبلیغ نکنم مگر اینکه این کامپایلر ، یک سینتاکس جهانی و بین المللی و استاندارد و همه منظوره و قابل حمل داشته باشد و بتوانیم آنرا در همه جا بکار گیریم و هرگز براساس سلیقه ی یک شخص یا یک گروه یا شرکت یا سازمان نباشد .
اسمبلرهای سلیقه ای و ذوقی که از روی سرگرمی ساخته شده اند همانند توزیعهای ریز و درشت لینوکس که آنها نیز صرفا از روی سرگرمی و براساس ذوق و سلیقه ی شخصی و بدور از استانداردهای جهانی طراحی و ساخته شده اند ، عملا موجب گمراهی و تردید کاربران شده اند .
همانطور که توزیعهای رنگارنگ لینوکس موجب سردرگمی کاربران شده است و عملا باعث شد که لینوکس در دسکتاپ از ویندوز و مک شکست بخورد و همیشه بین 1 تا 2 درصد سهم از بازار دسکتاپ را داشته باشد و از بسیاری از درایورها و نرم افزارهای مفید و ضروری محروم بماند ، اسمبلرهای ذوقی و سلیقه ی نیز متاسفانه به بیراهه رفته و از حمایت کاربران و توسعه دهندگان و شرکتها محروم مانده اند و نتوانسته اند با زبانهای سطح بالا رقابت کنند .
برای اینکه تجربه ی تلخ توزیعهای ذوقی و سلیقه ای و ناهمگون لینوکس ، اینبار در دنیای برنامه نویسی با زبان اسمبلی تکرار نشود لازمست یک حرکت اساسی انجام شود و تکلیف برنامه نویسان زبان اسمبلی برای همیشه و تا ابد روشن شود و اسمبلی بتواند یک جان تازه ای بگیرد و از این حالت سلیقه ی شخصی و سرگرمی خارج شده و به یک زبان استاندارد بین المللی و کارآمد و کاملا جدی و رسمی تبدیل شود تا بتواند با زبانهای سطح بالا رقابت کند و در مبارزه با زبانهای سطح بالا ، پیروز شود .
ما در حال جنگ هستیم و باید به تمام دنیا ثابت کنیم که بجز اسمبلی سایر زبانها ، فیک و تصنعی و دروغین هستند و باید حذف شوند .
این حرف که برای هر منظوری باید از یک زبان خاص استفاده شود و هر زبان برنامه نویسی برای منظور و هدف خاصی ساخته شده و بکار می رود کاملا غلط و اشتباه است .
همین حرف را در مورد توزیعهای لینوکس زدند و حالا بعد از اینهمه سال شاهد نابودی لینوکس در دنیای دسکتاپ هستیم .
مردم حاضرند پول بدهند و سخت افزار گران قیمت و انحصاری مایکروسافت را بخرند تا از پشتیبانی کامل سخت افزاری و نرم افزاری این شرکت و امنیت ویندوز 11 بهره مند شوند و خیالشان بابت حملات سایبری راحت باشد .
لذا مردم دیگه به شعارهای فلسفی از جمله آزادی و استقلال و ... اهمیت نمی دهند بلکه به دنبال امنیت و کارایی هستند .
در مورد سیستم عامل که فعلا وضع همین است . مایکروسافت نیز بیکار نمی نشیند تا لینوکس ، دسکتاپ را نیز تصرف کند و همین الان برای کامپیوترهای سرور و سوپرکامپیوترها و گوشی های هوشمند نیز نقشه کشیده است و دیر یا زود سیستم عامل لینوکس را شکست می دهد .
در مورد زبان اسمبلی نیز باید به یک زبان اسمبلی بین المللی و استاندارد و معتبر که صرفا براساس سرگرمی و سلیقه ساخته نشده باشد و کاربران فراوانی در سطح جهان داشته باشد و سایت رسمی و انجمن رسمی داشته باشد رجوع نماییم .
خب ، با این تفاسیر ، من مجبورم در تمام وبلاگهایم ، صرفا روی چنین اسمبلر جهانی و بین المللی تمرکز نمایم و انرا تبلیغ کنم .
فلت اسمبلر از جهاتی به مایکروسافت اسمبلر شباهت دارد و تا حدودی با آن سازگار است و دارای سایت رسمی و انجمن رسمی نیز می باشد و مزایای فراوانی دارد و روز به روز کاربردی تر و معروف تر می شود .
من نمی توانم همزمان دو اسمبلر متفاوت یعنی Fasm و RosAsm را تبلیغ کنم زیرا اینکار هم برای خودم و هم برای کاربران ، خسته کننده و گیج کننده و گمراه کننده است .
لذا رسما اعلام می کنم که دیگه به تبلیغ از اسمبلر RosAsm ادامه نمی دهم و وبلاگ اسپاسم به آدرس https://spasm.blog.ir را به امان خدا رها می کنم و منحصرا روی Fasm و تحت عنوان کلی و عمومی " زبان اسمبلی " تمرکز می نمایم .
ضمنا ، خاص بودن RosAsm عملا به ضرر این اسمبلر تمام شد زیرا فقط یک نوع فایل را می تواند تولید کند و این یعنی مرگ این اسمبلر ، زیرا اسمبلی نیز باید بتواند همانند زبانهای سطح بالا ، همه نوع فایل با همه نوع پسوند و حتی فایلهای بدون پسوند و با معماریهای متنوع و مختلف را برای تمام سیستم عاملها و تمام پردازنده ها و در تمام مدلهای برنامه نویسی و تمام فناوریهای امروز و فردا ، تولید نماید و تولید تنها یک نوع فایل کاملا اشتباه و غلط است و این اصلا به معنای خاص بودن نیست بلکه به معنای عقیم بودن است .
اسمبلر RosAsm با تمام مزایای جذابی که دارد اما عقیم است زیرا فقط یک نوع فایل تولید می کند و تمام استانداردهای معتبر جهانی را به هم زده و عملا حتی برنامه نویسان زبان اسمبلی را ناامید و مایوس کرده و از خود رانده است .
اسمبلی باید بتواند همه نوع فایل با همه نوع معماری و کاربرد را تولید کند وگرنه محکوم به فنا و نابودی است .
خاص بودن اسمبلر RosAsm کاملا به ضرر این اسمبلر تمام شد .
این اسمبلر طرفداران بسیاری داشت که سالهاست به واسطه ی دیکتاتوری طراحش ، این طرفداران فرار را بر قرار ترجیح دادند و به سمت سایر اسمبلرها که انعطاف پذیری بیشتری داشتند مهاجرت نمودند .
این اسمبلر از همان سال 2003 یک اسمبلر عقیم و مرده بود ولی بی جهت آنرا تا سال 2013 احیا کردند . البته احیا که نه بلکه فقط برخی خصوصیات نه چندان کاربردی به او اضافه کردند و سپس در سال 2013 رسما به تاریخ پیوست و منسوخ و منقرض شد .
الان حدود 10 سال است که هیچکس برای این اسمبلر هیچ کاری انجام نمی دهد و در نتیجه تبلیغ کردن از این اسمبلر ، فقط اتلاف وقت و یک کار بیهوده است .
تبلیغ از یک اسمبلر مرده و منسوخ یعنی RosAsm در شرایطی که هیچ سایت و انجمن ندارد و توسعه دهندگانش آنرا رها کرده اند و توسعه اش سالهاست متوقف شده است و هیچکس به او اهمیت نمی دهد ، یک کار بیهوده و غیرعقلانی است .
من به حد کافی از RosAsm در وبلاگهای مختلف ، تبلیغ کرده ام و نسخه های کامل و جامع این اسمبلر را آپلود نموده ام و کاربرها این نسخه ها را دانلود کرده اند .
لذا دیگه دلیلی نمی بینم از او تبلیغ نمایم .
اگر کسی دوست دارد که با RosAsm کار کند می تواند این فایلها را دانلود کند ولی من توانایی کار همزمان با دو زبان متفاوت با دو وضعیت متناقض را ندارم .
من خودم شخصا این اسمبلر را بسیار دوست دارم و تا ابد به او وفادار خواهم ماند ولی می دانم که فقط برای ویندوز و اینتل ساخته شده و تک منظوره و عقیم است و عملا تبلیغ از این اسمبلر عالی و قدرتمند و خاص ولی مرده و منسوخ ، یک کار عبث و بیهوده و غیرمنطقی است .
لذا از این لحظه به بعد در تمام وبلاگهایم رسما اعلام می کنم که فقط Fasm را تحت عنوان کلی " زبان اسمبلی " تبلیغ می نمایم . و بجای لغت Fasm از عبارت کلی Assembly استفاده می نمایم .
فلت اسمبلر ، همان " اسمبلر جهانی " است که من دنبال اش بودم و می تواند زبان اسمبلی را در تمام سیستم عاملها و تمام پردازنده ها و تمام مدلهای مختلف برنامه نویسی در سطح جهان ، توسعه داده و باعث افزایش سهم زبان اسمبلی گردد .
از نظر من و بسیاری از برنامه نویسان اسمبلی ، فلت اسمبلر ؛ زبان اسمبلی آینده است . یعنی آینده ی درخشانی دارد و زبان اسمبلی را جاودانه می نماید .
بنابراین ، من بجای لغت " فلت اسمبلر " از لغت کلی و عمومی " اسمبلی " یا " زبان اسمبلی " استفاده می نمایم .
تبلیغ از سایر کامپایلرهای زبان اسمبلی از این لحظه به بعد ، برای همیشه متوقف می گردد و من فقط و فقط از فلت اسمبلر تحت عنوان زبان برنامه نویسی اسمبلی ، تبلیغ می نمایم .
نتیجه :
پایانی بر تمام کامپایلرهای سلیقه ای و ناکارآمد و منسوخ شده ی زبان اسمبلی
آغازی برای فلت اسمبلر و تحت عنوان زبان اسمبلی
+
+
زبان اسمبلی برای اینکه بتواند زبانهای سطح بالا را در این جنگ نابرابر ، شکست دهد مجبور است از بهترین کامپایلر خودش یعنی فلت اسمبلر استفاده نماید وگرنه محکوم به شکست و نابودی خواهد بود .
برای شکست دادن زبانهای سطح بالا ، چاره ای ندارم بجز اینکه منحصرا از فلت اسمبلر تبلیغ نمایم .
متاسفم ولی من در حال جنگ هستم و در جنگ نیز حلوا خیرات نمی کنند !!
من از این لحظه به بعد در تمام وبلاگهایم ، فقط و فقط از فلت اسمبلر و تحت نام کلی و عمومی ، زبان اسمبلی ؛ تبلیغ می نمایم و سایر کامپایلرهای سلیقه ای و منسوخ شده و ناقص الخلقه و غیر استاندارد زبان اسمبلی را به نفع زبان برنامه نویسی اسمبلی جهانی و بین المللی و استاندارد ؛ قربانی می کنم . چاره ای نیست . برای بدست آوردن برخی چیزها مجبوریم برخی چیزهای دیگه را از دست بدهیم . این قانون زندگی است .
این مطلب را در تمام وبلاگهایم ، عینا کپی و پیست می نمایم و خیال خودم و کاربرها را راحت می کنم و یک نفس راحت می کشم و با تمرکز به کارم ادامه می دهم تا بتوانم زبان اسمبلی را در سطح ایران و جهان ، جزو پنج زبان برنامه نویسی برتر و پرکاربردتر و رایجتر و محبوبتر تبدیل نمایم .
هدف اینست که زبان اسمبلی بتواند تا ابد و تا روز قیامت ، جزو پنج زبان محبوب و پرکاربرد برنامه نویسی در سطح جهان تبدیل شود .
برای رسیدن به این هدف ، فقط روی فلت اسمبلر ، تمرکز کرده و فقط از فلت اسمبلر و تحت نام کلی و عمومی " زبان اسمبلی " تبلیغ می نمایم و به امید خدا ، زبان اسمبلی را به مرور زمان ، به تنها زبان برنامه نویسی چند منظوره و قابل حمل جهان تبدیل خواهم کرد . انشاا...
تاریخ : 17 مه سال 2023 میلادی