Naming  ....



RosAsm algorithms for Equates and Macros replacements use the Byte high bit as a flag. So you can't use for symbols namings ASCII Characters higher than 127. In Practice: 'a' > 'Z'. There is no error check for this.


RosAsm is case insensitive. (Case sensitive Api calls are 'Text').


Out of Mnemonics and Registers names, the reserved symbols are:


[  ]  Data, Equates, Macros Declarations.

{ } Nested declarations.


D$  B$  W$ Q$  R$  F$  T$  O$  X$  for declarations and addressings


=   is reserved for Equates alternate syntax. If you want to reuse this symbol for something else, just declare it at first position, just after the '['. 

RosAsm considers this symbol as Alternate Equates forms only when it is between two spaces. (  [=  =  e]  works as expected).


Align is reserved for Code Alignment


DB, inside Code, is reserved for Hexa Bytes Declarations/Reservations.


Main and MainWindowProc are reserved for Win32 model sources organization.


The point character may be used inside name. (you may even declare, for example, a Macro which name is only one point).


The '_' character  is stripped by the Source Parser and counts for nop. It remains significant only in cases of text (Api calls, for example) and of Win Equates.



Naming in mono-file Programming


When declaring a new Symbol in a very wide source, instead of spoiling your time at compiling to get a double declaration error message, just Right-Click on the fresh written name. No move > OK.


Do not be afraid of giving your symbols very long, full talking names. The more expressive they are, the better it is for you, later, when maintaining your work. Full talking names are much better than end comments. They do not increase the compile time and save much of yours.


Because Multi-Files (Modular) programming is a very bad way to go (producing the same results and difficulties as C does), RosAsm compiles mono-files. This, too, may have some inconvenience when you want to reuse some chunks of code from one Application to another. So, you should never name a global Variable as, for example, ''W1'' and you should take the time to write a real full talking name; example: ''ThisWindowWidth'', so that, when pasting for reuse, the chances for naming conflicts become very low and the readability remains very high.


Same for Routines naming. Never calling any Routine ''Search:'', but, instead, ''SearchForTheNextLineInUserText:'', will save you from many future difficulties.



~~~~~~~






+



+


+


 

بروزرسانی فوری :





به نام خدا


اسمبلی جهانی


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



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


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


همانطور که توزیعهای رنگارنگ لینوکس موجب سردرگمی کاربران شده است و عملا باعث شد که لینوکس در دسکتاپ  از ویندوز و مک شکست بخورد و همیشه بین 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 میلادی