আমি কীভাবে উবুন্টু 18.04 এ সংকলন পরিচালনা করতে পারি?


16

তাই সম্প্রতি আমি সমাবেশ শিখতে চেয়েছিলাম, তাই আমি কিছুটা শিখেছি। আমি এটিকে ন্যানোতে রেখেছি এবং এটি খেলার মাঠ.সম হিসাবে সংরক্ষণ করেছি। এখন আমি ভাবছি, আমি কীভাবে এটি সংকলন করে চালাব? আমি ইতিমধ্যে সর্বত্র অনুসন্ধান করেছি এবং এখনও এটি খুঁজে পাচ্ছি না। আমি সত্যিই কৌতূহলী এবং আপনি যদি ভাষাটি ব্যবহার না করতে পারেন তবে কোনও ভাষা শেখার কোনও মানে নেই।


4
সব ধরণের সমস্যার জন্য
গিগাবাটি

4
নোট করুন যে দুটি প্রধান সমাবেশ "স্বাদ" রয়েছে যার আলাদা সিনট্যাক্স রয়েছে: এটিএন্ডটি (গ্যাস) এবং ইন্টেল (ন্যাসম)। কোনও এসেম্বলার বাছাই করার আগে, আপনার সিদ্ধান্ত নেওয়া উচিত যে আপনি কোন বাক্য গঠনটি শিখতে এবং ব্যবহার করতে চান। এখানে একটি বিশদ তুলনা চার্ট দেখুন । এখনও নিশ্চিত না হলে, ইন্টেল / নাসম দিয়ে যান।
আন্ডার কেট মনিকার প্রশংসা করেছে

2
আপনি জিসিসি ব্যবহার করতে পারেন যা ডিফল্টরূপে একটি স্ট্যান্ডার্ড উবুন্টু মেশিনে ইনস্টল করা উচিত। ফাইলের নাম এক্সটেনশান .sএবং কম্পাইল করার কমান্ড হওয়া উচিতgcc myprog.s
FedonKadifeli

কেউ উবুন্টুতে কীভাবে কোনও সংসদীয় ভাষা প্রোগ্রামকে বিষয়বস্তু হিসাবে সংকলন করবেন সে সম্পর্কে এই প্রশ্নটি বন্ধ করতে চায়। Off কেন এটি বন্ধ বিষয় হিসাবে বন্ধ করা উচিত? এটি উবুন্টুতে ডিফল্ট উবুন্টু সংগ্রহশালা এবং সংকলন কোড সংকলন সম্পর্কে প্যাকেজ সম্পর্কিত, কীভাবে সমাবেশ কোড লিখবেন না।
কারেল

উত্তর:


17

উবুন্টুর সমস্ত সমর্থিত সংস্করণগুলিতে টার্মিনালটি খুলুন এবং টাইপ করুন:

sudo apt install as31 nasm  

as31 : ইন্টেল 8031/8051 এসেম্ব্লার
এটি একটি দ্রুত, সাধারণ, সহজেই ব্যবহারযোগ্য इंटেল 8031/8051 এসেম্বারার।

নাসম : সাধারণ-উদ্দেশ্যে x86 এসেম্বলার নেটওয়াইড
অ্যাসেমব্লার। এনএএসএম বর্তমানে ফ্ল্যাট-ফর্ম বাইনারি ফাইল, আউটআউট, সিওএফএফ এবং ইএলএফ ইউনিক্স অবজেক্ট ফাইল এবং মাইক্রোসফ্ট 16-বিট ডস এবং উইন 32 অবজেক্ট ফাইল আউটপুট দেবে।

এটি হ'ল ওয়ার্ল্ড প্রিন্ট করে এমন একটি সংসদীয় ভাষার প্রোগ্রামের কোড program

section     .text
global      _start 
_start: 
    mov     edx,len   
    mov     ecx,msg   
    mov     ebx,1   
    mov     eax,4   
    int     0x80   
    mov     eax,1  
    int     0x80   
section     .data
msg     db  'Hello world',0xa  
len     equ $ - msg   

আপনি যদি উবুন্টু 18.04-এ NASM ব্যবহার করে থাকেন তবে হ্যালো.এএসএম নামে একটি .asm ফাইলটি সংকলন এবং চালনার কমান্ডগুলি হ'ল:

nasm -f elf64 hello.asm # assemble the program  
ld -s -o hello hello.o # link the object file nasm produced into an executable file  
./hello # hello is an executable file

1
as31প্যাকেজের দরকার পড়বে কেন ? প্রশ্ন এবং প্যাকেজটির বর্ণনা থেকে এটি শোনা যাচ্ছে না এটি কোনও উদ্দেশ্যকে সার্ভার করবে।
ক্যাস্পারড

4
@ ক্যাস্পার্ড আসলে as31দরকার নেই। প্রশ্নটি দ্বারা অনুপ্রাণিত হয়ে আমি এসেম্বলারের একটি হ্যালো ওয়ার্ল্ড গুগল করেছিলাম , কেবল ইনস্টল করা হয়েছে nasmএবং এটি কার্যকর হয়েছে। :-) আমি মনে করি কারেল কেবল এটির বিকল্প হিসাবে উল্লেখ করেছেন।
পার্লডাক

1
as31 বিকল্প হিসাবে যদি আপনিও as31 দিয়ে সমাবেশ শিখতে চান।
কারেল

2
@ ক্যাস্পার্ড: ওপি কোনটিই তিনি কোন আইএসএর জন্য লিখছেন বা কোন সমাবেশের সিনট্যাক্স ব্যবহার করছেন তা নির্দিষ্ট করে দেয়নি, তাই যথাসম্ভব অপশন অন্তর্ভুক্ত করার বিষয়টি বোধগম্য।
জার্গ ডব্লু মিটাগ

1
এই উত্তরটি ইনস্টলেশন কমান্ডটি ন্যাসমে বিভক্ত করে এবং 8051 এসেম্বলার + এমুলেটারের জন্য অন্যটি (কমপক্ষে একটি বলে মনে হচ্ছে) উপকার করবে। যেহেতু উদ্দেশ্য অ্যাসেম্বলি শেখা, তাই x86 এর চেয়ে সাধারণ (r) আর্কিটেকচারের জন্য বাস্তবে চালিত এমুলেটরটি প্রচুর অর্থ বোধ করতে পারে।
হাইড

2

উবুন্টু (পোর্টেবল জিএনইউ এসেম্ববলার) হিসাবে আসে

as file.s -o file.out
ld file.out -e main -o file
./file

-o: আউটপুটটি কোথায় প্রেরণ করতে হবে তা বলে
-e: ld শুরুর প্রতীকটি বলে

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.