'স্বাক্ষরবিহীন চরটি' কী?


12

আমি একটি ডেটাশিট পড়েছি এবং আমি ভেরিয়েবল হিসাবে সংজ্ঞায়িত পেয়েছি unsigned char near Sample_X। এটি কী এবং এটি কীভাবে আলাদা unsigned char Sample_X?


3
সংকলক সম্ভবত ছোট আপেক্ষিক অফসেট ব্যবহার করতে পারবেন?
নীল_ইউকে

6
ডস-এ x86 এর সাথে পার্ট এক্সপেরিয়েন্সের ভিত্তিতে, আমি এটির কিছু পয়েন্টার টাইপ এবং 16 বিট পরিবেশে আশা করব। তবুও ওপি যা উদ্ধৃত হয়েছে তা পয়েন্টারের মতো দেখাচ্ছে না এবং ডেটাশিট লিঙ্কটি কিছু এমসিইউ বোঝায়। নিম্নলিখিত দুটি লিঙ্কে "কাছাকাছি" কীওয়ার্ডটি অনুসন্ধান করুন: মাইক্রোচিপ. com
forums

3
এটি লক্ষ করা উচিত যে এটি একটি সংকলক এক্সটেনশান, স্ট্যান্ডার্ড সি নয়
প্লাজমাএইচএইচ

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

1
এটি কি এখানে সত্যই বিষয়?
ব্যবহারকারী541686

উত্তর:


20

এখানে বর্ণিত এমসিইউ হ'ল একটি ফ্রিজকার এমসি 9 সি08 সিরিজ , যা তাদের এইচসি08 আর্কিটেকচারের কিছুটা বর্ধিত সংস্করণ ব্যবহার করে। এটি একটি 8-বিট কোর, যার (যেমন অনেকের মতো) আরও কম সংক্ষিপ্ত নির্দেশাবলী এবং অন্যদের তুলনায় "শূন্য পৃষ্ঠা" ঠিকানাগুলিতে দ্রুত অ্যাক্সেস রয়েছে। জিরো পৃষ্ঠার ঠিকানাগুলি 16 বিটের পরিবর্তে 8 টি বিট দীর্ঘ, সুতরাং তাদের নির্দেশাবলী নির্দেশাবলীর পরিবর্তে 3 টির পরিবর্তে 2 বাইট হতে পারে এবং ফলস্বরূপ কার্যকর করতে 1 চক্র কম নেয়

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


আমি এই উত্তরটি পছন্দ করি তবে আপনার কাছে কি আপনার তথ্যের উত্স আছে?
ক্লোনকেক্স

1
আমি আরও বিশদ এবং তথ্য সরবরাহ করতে উত্তর সম্পাদনা করেছি। প্রকৃতপক্ষে এটি ফ্রিসকারের নতুন এইচসিএস ৮8 আর্কিটেকচার থেকে এসেছে তবে এটি পুরানো এইচসি08 এবং এইচসি05 আর্কিটেকচারের সাথে কোডের সাথে সামঞ্জস্যপূর্ণ। (বর্তমানে ইতিবাচকভাবে প্রাচীন) 6800 এবং 6502 আর্কিটেকচারগুলিও নিবিড়ভাবে সম্পর্কিত।
ক্রোম্যাটিক্স

অনেক ভাল!
ক্লোনকেক্স

সুতরাং, এর ব্যবহারটি কীওয়ার্ডের সাথে খুব মিল register(যে ক্ষেত্রে আপনি সত্যিই নিশ্চিত যে এটিই আপনার অপ্টিমাইজেশান প্রয়োজন) তবে কিছুটা কম চরম?
vsz

বেশি অথবা কম. পার্থক্যটি মূলত এই কারণে হয় যে 8 বিট সিপিইউগুলিতে সাধারণত প্রতি সেমিতে কোনও রেজিস্টার ব্যাংক থাকে না, কেবলমাত্র একটি একক সঞ্চালক এবং কয়েক দফা সূচকের নিবন্ধ থাকে। তবে এটি x86 এর "কাছাকাছি" বনাম "দূরে" পয়েন্টার ব্যবহারের সাথেও অনুরূপ, যাতে ঠিকানার আকারের মধ্যে পার্থক্য রয়েছে এবং কোনও অ্যাক্সেস সম্পূর্ণ করতে কত সময় লাগে।
ক্রোম্যাটিক্স

15

সিপিইউ আর্কিটেকচারের উপর নির্ভর করে বিভিন্ন ঠিকানায় ডেটা অ্যাক্সেসের জন্য বিভিন্ন নির্দেশাবলী থাকতে পারে। এখানে তাদের অন্যতম সংকলকের জন্য কেইলের একটি উদাহরণ

কাছাকাছি অ্যাক্সেসের একটি নির্দিষ্ট মেমোরি সীমা রয়েছে, তাই আপনি সংক্ষিপ্ত নির্দেশাবলী দ্বারা অ্যাক্সেসযোগ্য এমন একটি অঞ্চলে কিছু ঘন ঘন ব্যবহৃত ভেরিয়েবলগুলি রাখার জন্য সংকলককে ইঙ্গিত দিতে পারেন (স্পষ্টতই 32-বিট ঠিকানা স্পেসে অ্যাক্সেসের বর্ণনা 16-বিট ঠিকানার চেয়ে বড় হয়) স্থান)। এটি ছোট / দ্রুত কোডে অনুবাদ করতে পারে।



5
@ অ্যান্ড্রুমার্টন: এই প্রশ্নটি মূলত-অপ্রচলিত 8086 আর্কিটেকচারের সাথে সম্পর্কিত farএবং nearনির্দেশক। একই কীওয়ার্ডগুলি 8 বিট মাইক্রোকন্ট্রোলারে সম্পর্কিত তবে ভিন্ন ফ্যাশনে ব্যবহৃত হয়।
সুপারক্যাট

@ সুপের্যাট প্রশ্নটি সাধারণত জিজ্ঞাসা করে, যদিও উত্তরগুলি পুরানো আর্কিটেকচারের উপরে ফোকাস করে। জ্ঞানের কারও কারও কাছে এটি উত্তর দেওয়া উচিত যাতে তারা 8 বিট মাইক্রোকন্ট্রোলারদের জন্য কীভাবে ব্যবহৃত হয় expla
কৌতূহলনদী

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