Quick start
شروع فوری
Quick start for experienced programmers who feel too lazy to read the full documentation.
شروع فوری برای برنامه نویسان ورزیده و حرفه ای که احساس می کنند برای خواندن تمام مستندات ، خیلی تنبل هستند.
( برنامه نویسان حرفه ای که خسته و بی حوصله هستند و نمی توانند مستندات طولانی را بخوانند یا وقت کافی ندارند که اینکار را انجام دهند . وحیدمی)
Simple installation: Create a Directory.
نصب ساده : یک دایرکتوری ( فولدر) بسازید .
Unzip RosAsm.
فایل RosAsmxxx.zip را اکسترکت کنید .
( حالا یا با کمک خود ویندوز یا با کمک ابزارهای فشرده سازی معروف مثل وین زیپ و وین رار و ... ! . حرف x به معنای شماره ی نسخه ی روسسم می باشد . حالا هر نسخه ای که باشد فرقی نمی کند . وحیدمی )
Unzip into this new Directory: 'Structures.zip' and 'Equates.zip'. At least 'Equates.zip' must be there.
حالا این فایلها یعنی Structures.zip و Equates.zip را به درون این فولدر جدید که ساخته اید ، اکسترکت نمایید . دستکم باید فایل Equates.zip آنجا قرار گرفته باشد.
(فایل Equates.zip شامل تمام ثابت های سیستم عامل ویندوز می باشد که در مقابل نام هر ثابت ، یک کد زبان ماشین دیده می شود . بدون این فایل ، اسمبلر روسسم هیچ کاری انجام نمی دهد . ضمنا نباید محتویات این فایل را دستکاری کنید . فایل Structures.zip شامل تمام ساختارهای ویندوز می باشد . با کمک این ساختارها می توانید خیلی راحت نرم افزارهای بزرگ و تخصصی و حرفه ای را بسازید . وحیدمی )
The other External Files (Help Files) may be anywhere and you may later organize them through the [Configuration] Tab.
سایر فایلهای خارجی ( فایلهای راهنما و مستندات و خودآموزها ) می توانند هرجایی قرار گیرند و شما می توانید بعدا آنها را از طریق تب Configuration سازماندهی نمایید .
For details about the Win32 Data Directory, see Include_Files
برای مشاهده ی جزئیات درباره ی دایرکتوری داده ی ویندوز 32 بیتی ، بخش Include_Files از فایل B_U_Asm.exe را ببینید .
Make a copy of RosAsm.
یک کپی از روسسم بسازید .
Run RosAsm.
روسسم را اجرا کنید .
Load the copy.
کپی روسسم را درون خود روسسم بارگیری نمایید ( باز کنید ) .
Try to get some idea of the size of the beast.
سعی کنید کم و بیش ایده ای از ابعاد جانور را بدست آورید .
( یعنی سعی کنید در مورد حجم روسسم یک ایده را بکار گیرید یا در نظر بگیرید . وحیدمی)
Click on [Compile] and see how long it takes to turn RosAsm source into a new PE with all its components...
روی منوی Compile کلیک کنید و ببینید چه مدت طول می کشد تا سورس کد اسمبلر روسسم به یک فایل اجرایی جدید با تمام اجزایش ، تبدیل می شود .
Play with the IDE features to take a hand.
با ویژگیهای IDE روسسم ، بعنوان دستگرمی بازی کنید .
Try to 'Right Click' on various symbols and see what it does.
سعی کنید " راست کلیک کنید " روی نمادهای مختلف و ببینید هرکدام چه کاری انجام می دهد .
Right click again on a blank area.
مجددا روی یک ناحیه ی خالی از متن ، راست کلیک نمایید .
Try 'Double Click' too.
همچنین سعی کنید دابل کلیک نمایید .
Load 'Base.exe', write a faulty statement and [compile].
فایل Base.exe را بارگیری کنید ، یک دستور معیوب بنویسید و نتیجه را کامپایل کنید .
Write a faulty instruction (or some 'Int 3') and [Run].
یک دستور معیوب ( کد اشتباه ) یا ( تعدادی دستور int 3 ) را بنویسید و روی منوی Run کلیک کنید .
[Run] includes a Debugger.
منوی Run شامل یک دیباگر ( اشکالزدا - رفع عیب ) می شود .
Stepping possible after 'Int 3'.
تا جای ممکن بعد از دستور int 3 گام بردارید
( در شرایط دیباگ یعنی در شرایطی که پنجره ی دیباگر را می بینید مراحل دیباگ را با فشردن کلید F7 بصورت گام به گام اجرا کنید . وحیدمی) .
Do not step inside an Win32 API call.
به درون دستورات فراخوانی توابع سیستم عامل ویندوز ، گام برندارید .
( یعنی هنگامیکه به دستور CALL رسیدید و دیدید که بعد از این دستور ، اسامی و پارامترهای یکی از توابع ویندوز نوشته شده است روی این دستور ، عملیات دیباگ را انجام ندهید . وحیدمی )
For writing some source, you can use 'Base3.exe' source for a start.
برای نوشتن مقداری کد ، شما می توانید بعنوان یک شروع ، سورس کد فایل Base3.exe را بکار ببرید .
>>>>> Ascii sources are inside the PE's .exe file . <<<<<
سورسهای اسکی نرم افزارها ( کد منبع ) در درون فایلهای اجرایی با پسوند exe قرار دارند .
Quick description of syntax:
شرح سریع سینتاکس اسمبلر روسسم :
[ Hexa_Dword_Value: D$ 0FFFFFFFF
Decimal_Word_Value: W$ 123
Binary_Byte_Value: B$ 00101 ]
;this is 3 data values.
این شامل سه مقدار(نوع) داده می شود ( بایت - ورد - دی ورد )
[push | push #1 | #+1]
[call | push #L>2 | call #1]
; this is 2 macros to be used that way, for example:
این ، دو ماکرو برای بکارگیری یک روش می باشد. برای مثال :
call 'MYDLL.MyFunction' para1, para2
... it becomes:
آن بدین شکل زیبنده تر می باشد:
push para2 | push para1 | call 'MYDLL.MyFunction'
[TRUE 1 FALSE 0] ; these are 2 user defined equates.
اینجا دو ثابت تعریف شده توسط کاربر ، وجود دارد .
mov eax &TRUE ; &TRUE is a Win32 integrated Equates (no declaration).
TRUE& یک معادل ( ثابت ) سیستم عامل ویندوز می باشد ( بدون تعریف . نیاز به تعریف و مقداردهی ندارد )
RosAsm syntax differs from older Assemblers on this point:
سینتاکس ( نحو - گرامر) اسمبلر روسسم در این نقطه ، با اسمبلرهای قدیمی تر ، متفاوت است :
mov eax D$Hexa_Dword_Value
; = mov eax, Dword ptr [Hexa_Dword_Value]
mov eax Hexa_Dword_Value
; = mov eax, ADDR Hexa_Dword_Value
(All user defined symbols -out of Equates/Macros- are addresses, never values, just like in NASM).
تمام نمادهایی که توسط کاربر تعریف می شوند ، - به غیر از ثابتها / ماکروها - شامل آدرس می باشند نه مقدار ، درست مانند مورد مشابه در نسم ) .
~~~~~~~