High Level Language یا همون HLA
سلام دوستان
یکی از اسمبلرهایی که کار کردن باهاش می تونه خیلی لذت بخش باشه و از اسمش هم پیداست که سطح بالاست HLA یا High Level Language هست
دوتا لینکی که فکر می کنم می تونه مفید باشه اینجا قرار میدم:
http://homepage.mac.com/randyhyde/we...edu/index.html
http://www.movsd.com/index.htm
اگه کسی در این باره مطلب آموزشی داره، ممنون میشم قرار بده (ترجیحا فارسی)
نقل قول: High Level Language یا همون HLA
سلام
من هنوز امیدوارم که یکی بیاد کمکم کنه:قلب::خجالت::لبخند:
نقل قول: High Level Language یا همون HLA
سلام
با اين اسمبلر كار نكردم دارم دانلود مي كنم ببينم چطورياست:لبخندساده:
نقل قول: High Level Language یا همون HLA
سلام دوست عزیز
ممنون که سر زدی
منتظر می مونم ببینیم نتایج کارات چی میشه:لبخندساده:
نقل قول: High Level Language یا همون HLA
سلام
کسی نیست کمکم کنه؟:ناراحت::افسرده:
نقل قول: High Level Language یا همون HLA
نقل قول:
نوشته شده توسط
salmanbnd
سلام
کسی نیست کمکم کنه؟:ناراحت::افسرده:
من نگاه كلي كردم
آموزشش هم در همون سايتي كه خودتون گفتين هست!
اسمبلر جالبي داره چون براي مكينتاش،لينوكس و ويندوز يا سيستم عامل ديگه اسمبل مي كنه در يك محيط(با شبيه سازي و سازگاري با اسمبلر هاي معروف مثل tasm,masm,fasm)
اما هاي لول بودنش مثل masm هست كه بيشتر ماكرو نويسي هست.
توي يك اديتور بنويسينو باهاش اسمبل كنيد. انشاالله وقت شه مطالعه مي كنم
حالا مشكلتون چيه باهاش؟
براي آشنايي با دستوراتش هم اين دستور رو در cmd وارد كنين
C:\hla\hla.exe
كد نمونه:
program helloworld;
#linker( "comdlg32.lib" )
#linker( "comctl32.lib" )
?compileAll := true;
?@NoDisplay := true;
?@NoStackAlign := true;
#includeOnce( "stdlib.hhf" )
#includeOnce( "howl.hhf" )
const
applicationName := "Hello World";
formX := w.CW_USEDEFAULT; // Let Windows position this guy
formY := w.CW_USEDEFAULT;
formW := 600;
formH := 600;
static
align( 4 );
bkgBrush_g :dword;
bkgColor_g :dword;
// Form declaration.
// We've got an empty form with no widgets, so this is fairly trivial:
wForm( mainAppWindow );
endwForm
// Must include the following macro invocation to emit the code that the
// wForm macro generated:
mainAppWindow_implementation();
// The following gets called immediately after the main application
// window is created. It must be provided, even if it does nothing.
method mainAppWindow_t.onCreate;
begin onCreate;
end onCreate;
///////////////////////////////////////////////////////////////////////////////
//
//
// The following is mostly boilerplate code for all apps (about the only thing
// you would change is the size of the main app's form)
//
//
///////////////////////////////////////////////////////////////////////////////
//
// When the main application window closes, we need to terminate the
// application. This overridden method handles that situation. Notice the
// override declaration for onClose in the wForm declaration given earlier.
// Without that, mainAppWindow_t would default to using the wVisual_t.onClose
// method (which does nothing).
method mainAppWindow_t.onClose;
begin onClose;
// Tell the winmain main program that it's time to terminate.
// Note that this message will (ultimately) cause the appTerminate
// procedure to be called.
w.PostQuitMessage( 0 );
end onClose;
// When the application begins execution, the following procedure
// is called. This procedure must create the main
// application window in order to kick off the execution of the
// GUI application:
procedure appStart;
begin appStart;
push( esi );
// Create the main application window:
w.GetSysColor( w.COLOR_MENU );
mov( eax, bkgColor_g );
w.CreateSolidBrush( eax );
mov( eax, bkgBrush_g );
mainAppWindow.create_mainAppWindow
(
applicationName, // Window title
w.WS_EX_CONTROLPARENT, // Need this to support TAB control selection
w.WS_OVERLAPPEDWINDOW, // Style
NULL, // No parent window
formX, // x-coordinate for window.
formY, // y-coordinate for window.
formW, // Width
formH, // Height
bkgColor_g, // Background color
true // Make visible on creation
);
mov( esi, pmainAppWindow ); // Save pointer to main window object.
pop( esi );
end appStart;
// appTerminate-
//
// Called when the application is quitting, giving the app a chance
// to clean up after itself.
//
// Note that this is called *after* the mainAppWindow_t.onClose method
// executes (indeed, mainAppWindow_t.onClose, by posting the quit message,
// is what actually causes the program to begin terminating, which leads
// to the execution of this procedure).
procedure appTerminate;
begin appTerminate;
// Clean up the main application's form.
// Note that this will recursively clean up all the widgets on the form.
mainAppWindow.destroy();
w.DeleteObject( bkgBrush_g );
end appTerminate;
// appException-
//
// Gives the application the opportunity to clean up before
// aborting when an unhandled exception comes along:
procedure appException( theException:dword in eax );
begin appException;
raise( eax );
end appException;
// The main program for a HOWL application must simply
// call the HowlMainApp procedure.
begin helloworld;
HowlMainApp();
end helloworld;
نقل قول: High Level Language یا همون HLA
سلام
ممنون دوست عزیز
سوال زیاد دارم در این مورد
بررسی می کنم بهت خبر میدم
واقعا ممنون