X86 অ্যাসেমব্লিনির কোনও প্রমিত বই আছে? [বন্ধ]


25

সমাবেশে প্রচুর বই রয়েছে। যাইহোক, তারা সাধারণত আইএসএগুলির সাথে লেনদেন করে যার বিষয়ে আমি পাত্তা দিই না, যেমন এমআইপিএস বা এআরএম। আমি এই আর্কিটেকচারগুলির সাথে কোন আচরণ করি না; এগুলি শেখার চেষ্টা করার কোনও কারণ নেই।

তবে x86 সমাবেশ বইগুলি মনে হচ্ছে ... অস্তিত্বহীন।

উদাহরণস্বরূপ বলা যাক আমি উইন্ডোজ পোর্টেবল এক্সিকিউটেবল ফাইল তৈরি করে একটি খেলনা সংকলক তৈরির চেষ্টা করছি।

সেরা অনুশীলন, ডিজাইন পদ্ধতি এবং x86 সমাবেশ সম্পর্কিত অন্যান্য সহায়ক তথ্য বর্ণনা করার জন্য ডি-ফ্যাক্টো স্ট্যান্ডার্ডের কোনও বই আছে কি? বইটি কী এটি বিশেষ করে তোলে?


আপনার কত সমাবেশ সমাবেশ আছে? আপনি কি কখনও সাধারণ সি প্রোগ্রামগুলিকে সমাবেশে সংকলন করতে অপ্টিমাইজেশন ছাড়াই জিসিসি ব্যবহারের চেষ্টা করেছেন, তারপরে কোডটি ইঞ্জিনিয়ারিংকে কোনও সি প্রোগ্রামে ফিরিয়ে দিন?
ব্রায়ান

10
@ ব্রায়ান: তা করতে পারার আগে আমার সমাবেশ জেনে রাখা উচিত।
বিলি ওনিল

আমি x86 নির্দেশের সেটটির একটি অনুলিপি দেখেছি। এটি 2 খণ্ড, এবং সম্ভবত আমার দেখা সবচেয়ে বড় বই। মজা করুন :)
অগ্রে বার্ড

2
বিলি, আপনি যদি কোনও সমাবেশই না জানেন, তবে সাধারণ ধারণাগুলি পেতে সেগুলির মধ্যে কোনওটি শুরু করা বেশ ভাল। অ্যাসেম্বলিটি স্থাপত্যের খুব কাছাকাছি, সুতরাং সমাবেশের নির্দেশাবলী আর্কিটেকচার-নির্দিষ্ট নকশাগুলিকে ব্যাপকভাবে প্রতিফলিত করে। আমি x86 সমাবেশটি দিয়ে শুরু করেছি এবং কিপ ইরভিনের "ইনটেল-ভিত্তিক কম্পিউটারগুলির জন্য অ্যাসেম্বলি ল্যাঙ্গুয়েজ" পড়েছি। বইটি আসলে একটি কমিউনিটি কলেজে একটি অনলাইন ক্লাসের সাথে যুক্ত হয়েছিল। আপনি কী ধরণের শিখেন তা আমি নিশ্চিত নই, তবে আমি নির্দেশিত নির্দেশটি শিক্ষার পক্ষে সবচেয়ে ভাল কাজ করে find
ব্রায়ান

@ ব্রায়ান: "তাদের মধ্যে কেউ" বলতে কী বোঝ? আমি বুঝতে পারি না "সেগুলি" কী - কোনও বই? কোন সমাবেশকারী? কোন আইএসএ? আমি ইতিমধ্যে এমআইপিএস এসেম্বলারের সাথে খেলেছি; যদিও x86 তে আমি কিছু খুঁজে পাচ্ছি না।
বিলি ওনিল

উত্তর:


18

আমি কলেজে পড়ার সময় পাঠ্যপুস্তক হিসাবে x86 প্রসেসরের জন্য অ্যাসেম্বলি ল্যাঙ্গুয়েজটি ব্যবহার করেছি এবং এটি বুঝতে খুব সহজ। আমার পুরানো চতুর্থ সংস্করণ রয়েছে এবং এটি ষষ্ঠ সংস্করণের সাথে তুলনা করেছি এবং খুব বেশি পরিবর্তন লক্ষ্য করা যায় নি, তাই আপনি সম্ভবত সস্তা কোনও পুরানো কপি তুলতে পারেন। লোকেরা তার নিজের লাইব্রেরি I / O এর জন্য ব্যবহার সম্পর্কে অভিযোগ করে তবে তিনি আপনাকে পরবর্তী অধ্যায়গুলিতে কীভাবে "শক্ত" উপায়ে করবেন তা আপনাকে জানান।


1
খুব ভাল বই!
কোডার

"ইন্টেল ভিত্তিক কম্পিউটারগুলির জন্য এসেম্বলি ল্যাঙ্গুয়েজ" শিরোনামে আমি ইরভিনের বইয়ের 5 তম সংস্করণটি পড়েছিলাম। :)
ব্রায়ান

1
আমি মনে করি এটি একটি খুব খারাপ পরামর্শ, কারণ দ্বিতীয় সংস্করণটি বেশিরভাগ লেখকের নিজস্ব নির্দিষ্ট উচ্চ বিদ্যালয় সমাবেশের জন্য নির্দিষ্ট যা মূলত সি এর জারজ সংস্করণ আমি প্রকাশিত প্রথম সংস্করণটি কখনও পড়িনি। ডস সংস্করণ যা আপনি তার সাইটে বিনামূল্যে খুঁজে পেতে পারেন এবং কখনও প্রকাশিত হয়নি তা যদিও দুর্দান্ত পঠিত। এটি প্রায় 50% দীর্ঘও এবং এইচএলএ সম্পর্কে কোনও কিছুই নেই (যা মোটামুটি সময় নষ্ট)।
ইভান ক্যারল

1
পুনঃটুইট আপনি ভুল বইয়ের লিঙ্কটি পরিবর্তন করেছেন, তারপরে আপনি যে লিঙ্কটি পরিবর্তন করেছেন সেই বইটির সমালোচনা করেছেন। তা কি অনিচ্ছাকৃত ছিল?
মের্লিন মরগান-গ্রাহাম

1
সম্পূর্ণ আমার ভুল @ মের্লিনমর্গান-গ্রাহাম এটি ধরা এবং সংশোধন করার জন্য আপনার পক্ষে ভাল।
ইভান ক্যারল

18

যাওয়ার স্পষ্ট জায়গা হ'ল ইন্টেলের ওয়েবসাইট, যেখানে আপনি ডাউনলোডের জন্য প্রোগ্রামিং এবং রেফারেন্স ম্যানুয়াল খুঁজে পেতে পারেন যেখানে x86 আর্কিটেকচার সম্পর্কে জানতে সমস্ত কিছু রয়েছে।

এখানে: Intel® 64 এবং IA-32 আর্কিটেকচার সফটওয়্যার বিকাশকারীদের ম্যানুয়াল


9

আর্ট অফ অ্যাসেমবিলি প্রোগ্রামিং হ'ল একটি দুর্দান্ত সংস্থান যা এক্স ৮86 প্রোগ্রামিং সম্পর্কে বেশ কিছুটা রয়েছে।

x64 এবিআই ডকুমেন্টেশনও দরকারী। আমি এএমডি ওয়েবসাইটে থাকা সংস্করণটির একটি লিঙ্ক সন্ধান করার চেষ্টা করছিলাম, তবে আমি এটি আর খুঁজে পাচ্ছি না, সুতরাং আমার ধারণা এটি এইটি করতে হবে।

শেখার সময় কিছুটা সাহায্য করতে পারে যা কিছুটা [কিছুটা] সাহায্য করতে পারে, এটি সমাবেশে স্ক্র্যাচ থেকে একটি সম্পূর্ণ অ্যাপ্লিকেশন লেখার চেষ্টা না করে এর বেশিরভাগ সিতে লিখুন (বা অন্য কোনও সংকলিত ভাষা সত্যই) এবং তারপরে এ্যাসেম্বলি কোডের একটি অংশকে কল করুন যে। একবার এটি হয়ে গেলে, এটি বিপরীত করুন, একটি অ্যাসেমব্লির প্রোগ্রাম লিখুন এবং সেখান থেকে কিছু সি ফাংশন কল করুন।

সম্পাদনা: একটি টাইপ ঠিক করা হয়েছে।


1
আরেকটি পরামর্শ: সিতে একটি সাধারণ প্রোগ্রাম লিখুন, এটি সমাবেশে সংকলন করুন, এটি পরিষ্কার করুন যাতে আপনার সমাবেশকারী এটি একত্র করতে পারেন, তারপরে অ্যাসেমব্লির সংস্করণটি বাড়িয়ে তুলুন। কিছুটা ন্যূনতম কার্যকারিতা (কীবোর্ড থেকে পড়া, কনসোলে লিখুন) দ্রুত যাবার এটি একটি ভাল উপায়।
টিএমএন

4

এক্স 86 এসেম্বলি শেখার জন্য খুব ভাল বই হ'ল পেন্টিয়াম প্রসেসর অপটিমাইজেশন সরঞ্জাম । বইটির মূল ফোকাসটি অ্যাসেম্বলি কোডটির অপ্টিমাইজেশন, যদিও এটি পেন্টিয়াম সমাবেশকে পথ ধরে শিক্ষা দেয় এবং এটি একটি ভাল রেফারেন্স বইও।

এটি প্রিন্টের বাইরে দীর্ঘ তবে এটি ব্যবহার করা কঠিন নয়।

এটিতে একটি "এসেম্বলি কোড অপ্টিমাইজার" সম্বলিত একটি ফ্লপি ডিস্ক নিয়ে আসে। এটি আসলে আপনার কোডটিকে অনুকূলিত করে না, তবে পরিবর্তে একটি মন্তব্য তালিকা তৈরি করে যা নির্দেশ করে যে পাইপলাইন স্টলের মতো অদক্ষতা কোথায় রয়েছে।

কোনও বইয়ের সাথে যে সরঞ্জামটি আসে তা হ'ল লেখক সংস্থাগুলি বিক্রি করত এমন আরও বৈশিষ্ট্যযুক্ত পণ্যটির একটি সীমাবদ্ধ সংস্করণ, তবে কারণগুলির কারণে আমি এগুলির সাথে অপরিচিত long কেন জানি না - আমি ভাবতাম যে এই জাতীয় সরঞ্জাম হটকেকের মতো বিক্রি করবে।

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


আসলেই পারফরম্যান্সের জন্য যাচ্ছি না; শুধু বাইনারি তৈরি করতে সক্ষম হতে চান। তবুও একবার দেখে নেবে :)
বিলি ওনিল

2
আপনার কেবল কীভাবে কেবল এসেম্বলির অপকডগুলিই নয়, কোনও নির্দিষ্ট এসেমব্লারার কীভাবে ব্যবহার করবেন তা শিখতে হবে। প্রতিটি সমাবেশকারী সম্পূর্ণ আলাদাভাবে জিনিসগুলি করে। যদি আপনি প্রচুর সমাবেশ কোডটি লিখতে চলেছেন তবে ম্যাসম ব্যবহার করুন কারণ এটি মানব কোডারগুলি মাথায় রেখে তৈরি হয়েছিল। আপনি যদি কেবল ইনলাইন অ্যাসেমব্লির ছোট্ট স্নিপেটগুলি লিখতে চলেছেন তবে আপনি জিএনইউর সাথে জিসিসি ব্যবহার করতে পারেন (এটিকে গ্যাসও বলা হয়) ইনলাইন অ্যাসেম্বলি হিসাবে। সিনট্যাক্স হিসাবে জিএনইউ মাস্মের থেকে সম্পূর্ণ আলাদা। যেমনটি প্রাথমিকভাবে জিসিসির ব্যাক এন্ড হিসাবে ব্যবহারের জন্য, এক্সিকিউটেবল কোড জেনারেশন করার জন্য লেখা হয়েছিল এবং তাই মানব কোডারগুলি যে বৈশিষ্ট্যগুলি চায় সেগুলির অনেকগুলি সরবরাহ করে না।
মাইক ক্র্যাফোর্ড

1

কেন উইকিবুক চেষ্টা করবেন না - http://en.wikibooks.org/wiki/X86_As आशीर्वाद । এটি অ্যাসেম্বলি ভাষায় একটি সূচনামূলক সূচনা দেয়।

সমাবেশ সম্পর্কে শক্ত বিটটি উপলব্ধি করছে যে এটি কতটা সহজ, এবং আপনার সেই সরলতার সাথে থাকতে হবে।

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