نمایش نتایج 1 تا 7 از 7

نام تاپیک: برنامه نویسی اسمبلی با nasm

  1. #1
    کاربر جدید آواتار ofthesun
    تاریخ عضویت
    آبان 1391
    محل زندگی
    همین سایت
    پست
    6

    برنامه نویسی اسمبلی با nasm

    سلام به همه عزیزان
    دوستان بنده تصمیم داشتم تا برنامه نویسی به زبان اسمبلی رو در محیط nasm داخل سیستم عامل لینوکس توزیع اوبونتو شروع کنم . ولی هیچ اطلاعاتی درباره نحوه کار با نرم افزار nsam ندارم . ممنون میشم کمکم کنید

  2. #2

    نقل قول: برنامه نویسی اسمبلی با nasm

    nasm محیط نیست یک اسمبلر متن باز هست که برای پلتفرم های مختلف نوشته شده، فکر میکنم اصلا به سایت سازندش نرفتید
    اگرنه جواب سوالاتتون رو با راهنما کاملش میگرفتید، به عنوان مثال:
    http://www.nasm.us/doc/nasmdoc1.html
    http://www.nasm.us/doc/nasmdoc2.html
    http://www.nasm.us/doc/nasmdoc8.html
    اینم لیست کاملش
    http://www.nasm.us/xdoc/2.11.06/nasmdoc.pdf
    یا
    http://www.nasm.us/xdoc/2.11.06/html/nasmdoc0.html
    دوست عزیز میتونستید با جستجو در گوگل سریع تر به جوابتون برسید
    http://www.csee.umbc.edu/portal/help/nasm/sample.shtml
    https://www.hackthissite.org/articles/read/1110/
    http://cs.lmu.edu/~ray/notes/nasmexamples/
    اگر مشکلی بود سوال کنید
    موفق باشی

  3. #3
    کاربر جدید آواتار ofthesun
    تاریخ عضویت
    آبان 1391
    محل زندگی
    همین سایت
    پست
    6

    نقل قول: برنامه نویسی اسمبلی با nasm

    ممنون بابت جوابتون عزیز . بنده در یک فایل متنی کد اسمبلی رو زدم و با ترمینال به مسیر فایل رفتم , بعد باید با چه دستوری object درست کنم و بعد هم اجراش کنم ؟ چون بنا به نوشته متن کتاب زمانی که دستور nasm -f elf exam.asm رو میزنم ترمینال متن error : symbol 'adres' undefined میده . کجای کارم اشتباه هستش ؟!‌

  4. #4

    نقل قول: برنامه نویسی اسمبلی با nasm

    نقل قول نوشته شده توسط ofthesun مشاهده تاپیک
    ممنون بابت جوابتون عزیز . بنده در یک فایل متنی کد اسمبلی رو زدم و با ترمینال به مسیر فایل رفتم , بعد باید با چه دستوری object درست کنم و بعد هم اجراش کنم ؟ چون بنا به نوشته متن کتاب زمانی که دستور nasm -f elf exam.asm رو میزنم ترمینال متن error : symbol 'adres' undefined میده . کجای کارم اشتباه هستش ؟!‌
    از متن خطا میشه اینو گفت که توی کدتون از 'adres' استفاده کردید، که اون رو به عنوان سمبل در دیتا سگمنت یا بی اس اس یا ... معرفی نکردید، اسمبلر به اون خط میریسه میگه این سمبل تعریف نشده هست.
    اگر نتونستید درستش کنید سورستون رو بزارید بگم کجاش مشکل داره

  5. #5
    کاربر جدید آواتار ofthesun
    تاریخ عضویت
    آبان 1391
    محل زندگی
    همین سایت
    پست
    6

    نقل قول: برنامه نویسی اسمبلی با nasm

    ممنون . اون مشکل حل شد !‌ کد برنامه مشکل داشت !‌ اما حالا به ی ایراد تازه برخورد کردم ! دستورات زیر رو وارد کردم :

    nasm -f elf -l hello.lst hello.asm
    gcc -o hello hello.o همین قسمت رو که وارد می کنم ارور زیر رو میده :
    /usr/bin/ld: i386 architecture of input file `a.o' is incompatible with i386:x86-64 output
    collect2: error: ld returned 1 exit status
    فک کنم بخاطر تفاوت بین نسخه نصب شده nasm و معماری cpu باشه !‌ درسته ؟!
    کدوم نسخه رو باید نصب کنم ؟‌
    چطوری این ایراد رو درست کنم ؟

  6. #6

    نقل قول: برنامه نویسی اسمبلی با nasm

    نقل قول نوشته شده توسط ofthesun مشاهده تاپیک
    ممنون . اون مشکل حل شد !‌ کد برنامه مشکل داشت !‌ اما حالا به ی ایراد تازه برخورد کردم ! دستورات زیر رو وارد کردم :

    nasm -f elf -l hello.lst hello.asm
    gcc -o hello hello.o همین قسمت رو که وارد می کنم ارور زیر رو میده :
    /usr/bin/ld: i386 architecture of input file `a.o' is incompatible with i386:x86-64 output
    collect2: error: ld returned 1 exit status
    فک کنم بخاطر تفاوت بین نسخه نصب شده nasm و معماری cpu باشه !‌ درسته ؟!
    کدوم نسخه رو باید نصب کنم ؟‌
    چطوری این ایراد رو درست کنم ؟
    نسخه اوبنتو شما 64 بیتی هست لینکر یا کامپایلر به طور پیش فرض اون رو 64 تشخیص میده و به خطا میخوره باید بهش گفت ساختار elf 32 بیتی استفاده کنه
    از دستور زیر استفاده کن، بجای yourEntry، نقطه شروع برنامه خودت رو بهش معرفی کن
    ld -m elf_i386 -s -o hello hello.o -e yourEntry

    برای استفاده از gcc میتونی از دستور زیر استفاده کنی اما قبلش یکبار این دستور رو بزن sudo apt-get install gcc-multilib تا فایل های کتابخونش نصب شه( EntryPoint پیش فرضش main هست)
    gcc -m32 -s -o hello hello.o

    ضمنا برای تشکر نیازی به گفتنش نیست یه button برای این کار طراحی شده،موفق باشی
    آخرین ویرایش به وسیله xman_1365_x : جمعه 23 آبان 1393 در 07:12 صبح

  7. #7
    کاربر جدید آواتار ofthesun
    تاریخ عضویت
    آبان 1391
    محل زندگی
    همین سایت
    پست
    6

    نقل قول: برنامه نویسی اسمبلی با nasm

    عزیز مشکل بر طرف شد . بر طبق کتابی که معرفی کرده بودید ‍عمل کردم . و دستورات زیر را وارد کردم .
    nasm -f elf64 a.asm
    gcc a.o -o a
    ./a
    راستی ممنون که درباره دکمه تشکر بهم گفتید . از این به بعد ازش استفاده می کنم .

تاپیک های مشابه

  1. ابزار مورد نیاز برای برنامه نویسی اسمبلی
    نوشته شده توسط mehdi5106 در بخش برنامه نویسی اسمبلی خانواده x86
    پاسخ: 6
    آخرین پست: جمعه 08 خرداد 1388, 00:06 صبح
  2. رابطه یcpu و برنامه نویسی اسمبلی
    نوشته شده توسط sizief در بخش برنامه نویسی اسمبلی خانواده x86
    پاسخ: 1
    آخرین پست: سه شنبه 22 خرداد 1386, 00:54 صبح
  3. آشنایی با برنامه نویسی اسمبلی ویندوز - قسمت‌های 1/2/3
    نوشته شده توسط Vahid_Nasiri در بخش برنامه نویسی اسمبلی خانواده x86
    پاسخ: 36
    آخرین پست: یک شنبه 17 دی 1385, 13:27 عصر
  4. قالب کلی برنامه نویسی اسمبلی در دلفی
    نوشته شده توسط saeed_d در بخش برنامه نویسی در Delphi
    پاسخ: 3
    آخرین پست: دوشنبه 22 تیر 1383, 21:09 عصر
  5. کمک برای استارت برنامه نویسی اسمبلی
    نوشته شده توسط nima-ataee در بخش برنامه نویسی اسمبلی خانواده x86
    پاسخ: 1
    آخرین پست: پنج شنبه 11 تیر 1383, 17:55 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •