PDA

View Full Version : کامپایلر برای ویندوز 64 بیتی



majid1605
پنج شنبه 05 آبان 1390, 00:16 صبح
سلام
کل انجمن رو جستجو کردم اشاره ایی به این موضوع نشده بود .
من همه لینک کامپایلرهایی که اینجا گذاشته شده رو امتحان کردم ولی با پیغام خطا روبرو میشم
ویندوز من سون 64 بیتی هستش دوستان می تونن راهنمایی کنن .از کدوم کامپایلر استفاده کنم ممنون میشم

xman_1365_x
پنج شنبه 05 آبان 1390, 03:04 صبح
خوب جستجو نکردین قبلنم جواب دادم،ذکر نکردین چه خطایی اما برای اجرای برنامه های 16 بیتی dos mz یا com در سون 64 بیتی قابل اجرا نیست و نیاز به dosbox یا VM دارین و emu8086 برای تست و اجرای برنامه ها خوبه
برای 32 هم که مشکلی نیست فایل های اجرایی pe32 بدون مشکل توسط wow64 اجرا میشن میتونید برای اسمبل از ml32 و ml64 و یا دیگر اسمبلر ها مثل fasm,nasm و... استفاده کنید.
یه برنامه که تو X64 OS اجرا بشه (http://barnamenevis.org/showthread.php?261052-%DB%8C%D9%87-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%DA%A9%D9%87-%D8%AA%D9%88-X64-OS-%D8%A7%D8%AC%D8%B1%D8%A7-%D8%A8%D8%B4%D9%87&highlight=ml64)
ide هم winasm و masm32(qeditor) و...
برای دیباگ هم ollydbg,windbg,VuxDebugger-64-bit و...
موفق باشی

majid1605
شنبه 07 آبان 1390, 13:13 عصر
دوست عزیز این پیغام رو میده من کلی برنامه از روی نت دانلود کردم ولی هیچکدوم توی هیچ یک از کامپایلرها اجرا نشدند.من تازه می خوام شروع کنم پستها مختلف سایت رو هم خوندم ولی به نتیجه نرسیدم.
دوتا کتاب هم دارم می خونم ولی در مورد کامپایلر چیز زیادی نگفتند.
اینم پیغامی که واسه MASM میده


میشه یه برنامه ساده بزارید .که بتونم کامپایلر رو تست کنم

لینک ML رو ندارید؟
از اینجا هم http://www.masm32.com/masmdl.htm
MASM رو دانلود کردم ولی هیچ برنامه ایی رو کامپایل نمی کنه.
emulator 8086 رو هم نصب کردم ولی همون مشکل رو دارم از برنامه Erorr می گیره.

توی سایت چیزی پیدا نکردم .
می تونید یه برنامه ساده مثلاً جمع دو عدد بزارید که با این کامپایلر اجرا بشه البته توی ویندوز سون 64 بیتی.

ممنون میشم.

xman_1365_x
دوشنبه 09 آبان 1390, 07:58 صبح
پست قبلی اولین خط چی گفتم ؟ خطا رو خوندین ؟
ببینید اگر اسرار دارین که 16 بیتی کار کنید باید از همون ابزار هایی که معرفی کردم استفاده کنید در غیر اینصورت اگر میخوای کنسول 32 کار کنی باید از api استفاده کنی که نمیدونم آشنایی یا نه البته ماکرو هایی هم نوشته شده که در masm32 برای کنسول موجود هست میتونید از این روش هم استفاده کنی
کنسول 32 در 64 بدون مشکل کار میکنه
نمونه از کنسول 32


; ««««««««««««««««««««««««« ««««««««««««««««««««««««« «««««««««««««««««««««««

; Build this with the "Project" menu using
; "Console Assemble and Link"

; ««««««««««««««««««««««««« ««««««««««««««««««««««««« «««««««««««««««««««««««

.486 ; create 32 bit code
.model flat, stdcall ; 32 bit memory model
option casemap :none ; case sensitive

include \masm32\include\windows.inc ; always first
include \masm32\macros\macros.asm ; MASM support macros

; -----------------------------------------------------------------
; include files that have MASM format prototypes for function calls
; -----------------------------------------------------------------
include \masm32\include\masm32.inc
include \masm32\include\gdi32.inc
include \masm32\include\user32.inc
include \masm32\include\kernel32.inc

; ------------------------------------------------
; Library files that have definitions for function
; exports and tested reliable prebuilt code.
; ------------------------------------------------
includelib \masm32\lib\masm32.lib
includelib \masm32\lib\gdi32.lib
includelib \masm32\lib\user32.lib
includelib \masm32\lib\kernel32.lib

.code ; Tell MASM where the code starts

; ««««««««««««««««««««««««« ««««««««««««««««««««««««« «««««««««««««««««««««««

start: ; The CODE entry point to the program

print chr$("Hey, this actually works.",13,10)
exit

; ««««««««««««««««««««««««« ««««««««««««««««««««««««« «««««««««««««««««««««««

end start ; Tell MASM where the program ends


64 هم در لینکی که گذاشته بودم هست.
موفق باشی

majid1605
دوشنبه 09 آبان 1390, 21:44 عصر
این برنامه ایی که نوشتید کارش چیه چون فایل exe ایجاد میشه ولی کار نمیکنه
من این ترم اسمبلی دارم استاد هم گفته یه پرژه باید بیاریم که گرافیکی باشه که میشه همون API ها اگه اشتباه نکنم و اگه منظورتون هم Api های ویندوز باشه .تا حد ساختن یه پنجره اونم توی C++ باهاشون اشنایی دارم .
الانم می خوام یادبگیرم می خوام تا حدود زیادی خودم پروژه رو بنویسم .ممنون میشم راهنمایی کنید و برای کار با این Api ها برای برنامه نویسی اسمبلی چی پیشنهاد میدید .
البته تا الان اصول اولیه مثل ثباتها و دستوراتش رو تا حدودی یاد گرفتم .و مکلم همون نوشتن و اجرای برنامه ها هستش و نمی خوام ویندوزمو عوض کنم چون نصب مجدد برنامه هام کار حضرت ..............

xman_1365_x
دوشنبه 09 آبان 1390, 23:18 عصر
اول مشخص کنید دارین اسمبلی برای داس یاد میگیرین یا ویندوز چون در داس با استفاده از وقفه های داس و بایوس و یا کار مستقیم با پورت ها انجام میشه و در ویندوز هم api های ویندوز
اگر دارین 16 کار میکنی همون تولز ها که گفتم جوابگو هست البته چون dosbox هنوز ناقص هست با همون VM سیستم عامل 32بیتی XP نصب کنید روی اون اجرا کنید(روی ایکس پی همه وقفه ها پوشش داده نمیشه) برای پوشش کامل داس نصب کنید.
واگر اسمبلی 32 برای ویندوز کار میکنید از توابع gdi32 استفاده میشه شما هم masm32 دانلود میکنی و مثال ها و راهنماشو میخونی همچنین تالاری هم داره

Microsoft Windows library files
http://en.wikipedia.org/wiki/Microsoft_Windows_library_files

Graphics Device Interface
http://en.wikipedia.org/wiki/Graphics_Device_Interface

Windows GDI
http://msdn.microsoft.com/en-us/library/dd145203(VS.85).aspx

SelectObject function
http://msdn.microsoft.com/en-us/library/dd162957(VS.85).aspx


مقدمه ای بر GDI ویندوز - قسمت اول
http://www.yazdtoday.com/forum/viewtopic.php?f=172&t=2704

مقدمه ای بر GDI ویندوز - قسمت دوم
http://www.yazdtoday.com/forum/viewtopic.php?f=172&t=2705

مقدمه ای بر GDI ویندوز - قسمت سوم
http://www.yazdtoday.com/forum/viewtopic.php?f=172&t=2706

مروری بر +GDI
http://www.persiadevelopers.com/articles/gdiplus.aspx

موفق باشی