انجمنهای فارسی اوبونتو
کمک و پشتیبانی => برنامهسازی => نویسنده: electrical ali در 05 آبان 1400، 07:10 بظ
-
سلام به همه
من یه برنامه C یا C++ دارم و میخوام به اسمبلی MIPS ببینم چی میشه.
با دستور پایین میتونم اسمبلی رو به فرم اینتل ببینم:
g++ -S fileName.cpp
ولی نمیدونم چجوری تو فرم ISA MIPS میتونم ببینم.
-
منظورتون x86 هست یا یه چیز دیگه؟
-
منظورتون x86 هست یا یه چیز دیگه؟
منظورم ISA MIPS هستش بنظر کمتر استفاده میشه ولی خب دارن دانشگاه همینو بهمون درس میدن :(
-
منظورتون از فرم اینتل چیه؟ همون x86 یا یه چیز دیگه؟
-
منظورتون از فرم اینتل چیه؟ همون x86 یا یه چیز دیگه؟
آره فرم اینتل x86 هستش
-
فکر کنم اگه همین کار رو با یک کامپایلر متقابل (cross compiler) انجام بدید بشه
برای اینکار باید یک کامپایلر متقابل برای معماری mips بسازید
-
اینجا رو ببینید.
https://github.com/lorenzo2897/c-mips-compiler
-
فکر کنم اگه همین کار رو با یک کامپایلر متقابل (cross compiler) انجام بدید بشه
برای اینکار باید یک کامپایلر متقابل برای معماری mips بسازید
کامپایلر ساختن که بلد نیستم راستش ;D
-
فکر کنم اگه همین کار رو با یک کامپایلر متقابل (cross compiler) انجام بدید بشه
برای اینکار باید یک کامپایلر متقابل برای معماری mips بسازید
کامپایلر ساختن که بلد نیستم راستش ;D
نه فقط باید سورسشو کامپایل کنی توی اینترنت بگردی پیدا میشه
-
شما برای MIPS باید بسته ی gcc-mips-linux-gnu و
binutils-mips-linux-gnu رو نصب کنید و با ابزار mips-gcc کدتون رو کاپایل کنید اینکه چه فلگ هایی برای بیلد لازم هست بسته نوع پردازنده و شاید احتملا سند لینکر یا چیزی باشه .در هر حال زمانی که بلید شد فایل خروجی با پسوند elf دریافت می کنید که می تونید با
mipsel-linux-gnu-objdump -D x.o
تو این آدرس هم توضیحات خوبی هست :
https://stackoverflow.com/questions/9916130/how-do-i-disassemble-raw-mips-code (https://stackoverflow.com/questions/9916130/how-do-i-disassemble-raw-mips-code)
-
شما برای MIPS باید بسته ی gcc-mips-linux-gnu و
binutils-mips-linux-gnu رو نصب کنید و با ابزار mips-gcc کدتون رو کاپایل کنید اینکه چه فلگ هایی برای بیلد لازم هست بسته نوع پردازنده و شاید احتملا سند لینکر یا چیزی باشه .در هر حال زمانی که بلید شد فایل خروجی با پسوند elf دریافت می کنید که می تونید با
mipsel-linux-gnu-objdump -D x.o
تو این آدرس هم توضیحات خوبی هست :
https://stackoverflow.com/questions/9916130/how-do-i-disassemble-raw-mips-code (https://stackoverflow.com/questions/9916130/how-do-i-disassemble-raw-mips-code)
بله همین هم خودش یک کامپایلر متقابل هست بعضی وقتا بسته های نصبی برای این جور چیزا یه خورده قدیمی هست به همین خاطر گفتم سورسش رو کامپایل کنید
-
اینجا رو ببینید.
https://github.com/lorenzo2897/c-mips-compiler
سلام ممنون این لینک کار رو اکی کرد.
-
لطفا کلمات زبان های دیگر را با فارسی ترکیب نکنید
-
سلام ممنون این لینک کار رو اکی کرد.
با موفقیت کد رو تبدیل به اسمبلی mips کرد؟ من خود کامپایلر رو کامپایل کردم و بعد سعی کردم یه hello world ساده به زبان c رو باهاش تبدیل به اسمبلی mips کنم ولی همش خطا داد.