Honeywell ARGUS
এআরজিইউএস, স্বয়ংক্রিয় রুটিন জেনারেটিং অ্যান্ড আপডেটিং সিস্টেমের একটি সংক্ষিপ্ত রূপ, 1950-এর দশকের শেষের দিকে হানিওয়েল তাদের হানিওয়েল 800 এবং 1800 কম্পিউটারের জন্য একটি অ্যাসেম্বলি ল্যাঙ্গুয়েজ তৈরি করেছিলেন। অন্যান্য অ্যাসেম্বলি ভাষাগুলির মতো, এআরজিইউএস-এর প্রতিটি লাইন একটি কার্ডে অনুলিপি করা হয়েছিল এবং স্মৃতিতে একটি শব্দের সাথে সম্পর্কিত ছিল, ব্যতীত একটি এআরজিইউএস কমান্ড, সংরক্ষণ, নির্দিষ্ট অবস্থানে যে কোনও নির্দিষ্ট সংখ্যক শব্দ সংরক্ষণ করতে পারে। রিজার্ভ কমান্ডটি সংরক্ষিত শব্দের মধ্যে প্রাথমিক তথ্য নির্ধারণ না করার ক্ষেত্রেও ব্যতিক্রমী ছিল। কয়েকটি ব্যতিক্রম ছাড়া মেশিন ল্যাঙ্গুয়েজ শব্দগুলি এআরজিইউএস লাইনের মতো একই ক্রমে কোড করা হয়েছিল। হানিওয়েল 800 মেমোরি হানিওয়েল 800 এবং 1800-এর একটি প্রধান মেমরি এবং একটি নিয়ন্ত্রণ মেমরি ছিল, উভয়ই ফেরাইট কোর ব্যবহার করে। গ্রাহকের প্রয়োজনীয়তার উপর নির্ভর করে প্রধান মেমরিতে 4 থেকে 16টি ব্যাঙ্ক ছিল। প্রতিটি ব্যাঙ্কে 48টি বিটের 2048টি করে শব্দ ছিল। একটি পৃথক স্থাপনায় ব্যাঙ্কের প্রকৃত সংখ্যা 4-এর গুণিতক হতে হবে। কন্ট্রোল মেমরিতে 16টি বিটের 256টি রেজিস্টার ছিল। যে কোনও নির্দিষ্ট সময়ে মেশিনটি তাত্ত্বিকভাবে একটি অপারেটিং সিস্টেম এবং 7টি অ্যাপ্লিকেশন প্রোগ্রাম চালাতে পারে, যার প্রত্যেকটিতে 32টি রেজিস্টারের একচেটিয়া ব্যবহার রয়েছে। 2048 শব্দের বেশি (তথ্য এবং নির্দেশাবলী মিলিত) প্রয়োজন এমন একটি প্রোগ্রামকে 2048 শব্দের বা তার কম অংশে বিভক্ত করতে হয়েছিল। প্রতিটি সেগমেন্টে প্রধান স্মৃতির একটি ব্যাঙ্কের একচেটিয়া ব্যবহার থাকবে। এক বিভাগ থেকে অন্য বিভাগে নিয়ন্ত্রণ হস্তান্তর করার জন্য বিশেষ নির্দেশাবলী ছিল। এ. আর. জি. ইউ. এস কমান্ডের বিন্যাস এ. আর. জি. ইউ. এস কমান্ডের প্রতিটি লাইনে নিম্নরূপ ছয়টি ক্ষেত্র ছিলঃ অবস্থান একটি ঐচ্ছিক এ. আর. জি. ইউ. এস নাম যা স্মৃতিতে সেই শব্দের জন্য বরাদ্দ করা হয়। যখন প্রতিটি শব্দের ঠিকানা স্মৃতিতে বরাদ্দ করা হয়, তখন লাইনের এআরজিইউএস নামটি তার সংশ্লিষ্ট শব্দের অবস্থানের সাথে যুক্ত করা হবে। এআরজিইউএস-এর অন্যান্য লাইনগুলি সেই নামটিকে বোঝাতে পারে এবং তাদের শব্দগুলিকে সঠিক মেমরি ঠিকানা বরাদ্দ করা হবে। প্রোগ্রামের মধ্যে, প্রতিটি নাম অনন্য হতে হবে। এই ক্ষেত্রটি আর দিয়ে শুরু হতে পারে। যদি তাই হয় তবে কার্ডের বাকি অংশটি কেবল মন্তব্য। এই ক্ষেত্রটি X, বা X, ঠিকানা নাম দিয়ে শুরু হতে পারে। যদি তাই হয় তবে এই লাইনটি এবং অন্য কোনও এক্স, লাইনগুলি চিহ্নিত নয় এমন লাইন থেকে দূরে স্থাপন করা হবে। তারপর এগুলিকে X, + n অথবা ঠিকানার ক্ষেত্রে ঠিকানার নাম দ্বারা সম্বোধন করা যেতে পারে। এই ক্ষেত্রটি এম, মুখোশ নাম দিয়ে শুরু হতে পারে। যদি তাই হয় তবে লাইনটি একটি মাস্ক অপারেশনকে সংজ্ঞায়িত করেঃ একটি মেশিন ল্যাঙ্গুয়েজ কমান্ডের এআরজিইউএস নাম বা একটি এআরজিইউএস-শুধুমাত্র কমান্ড। এর পরে প্রয়োজন হলে মাস্কের ঠিকানা দেওয়া যেতে পারে। কয়েকটি আদেশে অতিরিক্ত তথ্য ছিল। এ, বি এবং সি ঠিকানাঃ মেশিন কোডে অনুবাদ করা হবে (নীচে দেখুন)। এ এবং বি ঠিকানা সাধারণত দুটি ইনপুট শব্দ ছিল এবং সি ঠিকানা ছিল গন্তব্য। আইডিঃ সাধারণত কার্ড পাঞ্চ মেশিন দ্বারা কার্ডে একটি ক্রমিক নম্বর ঘুষি মারা হয়। ফেলে দেওয়া যেতে পারে এমন যে কোনও কার্ড অবলম্বন করতে ব্যবহৃত হয়। মেশিন ল্যাঙ্গুয়েজ কমান্ডের বিন্যাস প্রতিটি মেশিন ল্যাঙ্গুয়েজ কমান্ড 48 বিটের একটি শব্দ ব্যবহার করে। এটি প্রতিটি 12টি বিটের 4টি বিভাগে বিভক্ত ছিল। প্রথম 12টি বিট কমান্ডের জন্য যে কোনও মাস্কের অফসেট ঠিকানা সহ আনুষঙ্গিক তথ্য সহ অপারেশনটি নির্দিষ্ট করে। অন্য তিনটি বিভাগ ছিল এ, বি এবং সি ঠিকানা। যদি একটি মাস্ক নির্দিষ্ট করা থাকে তবে কমান্ডের চূড়ান্ত ফলাফল গন্তব্যে পৌঁছানোর আগে সেই মাস্কের মধ্য দিয়ে যাবে। উদাহরণস্বরূপ, যদি মাস্কের বিট 17 1 হয় তবে ফলাফলটি গন্তব্যের বিট 17-এ যাবে। মাস্কের বিট 17 যদি 0 হয় তবে অন্য কিছু গন্তব্যের বিট 17-এ যাবে। এটি 0 হতে পারে বা কমান্ডের উপর নির্ভর করে এটি ইনপুট শব্দের অপরিবর্তিত বিট 17 হতে পারে। একটি বিভাগে 16টি পর্যন্ত মুখোশের অনুমতি দেওয়া হয়েছিল এবং সেগুলি ধারাবাহিকভাবে বলতে হবে, একটি ঠিকানা থেকে শুরু করে যার শেষ চারটি বিটই 0 ছিল। তাদের প্রত্যেকেরই আর্গাস অবস্থানের নাম ছিল। মাস্ক রেজিস্টার নামে একটি বিশেষ রেজিস্টারে মূল ঠিকানা ছিল। কমান্ড ফিল্ডে নামযুক্ত মাস্কের অফসেট ঠিকানা ধরে রাখার জন্য 4টি বিট ছিল। বেশিরভাগ কমান্ডের জন্য এ, বি এবং সি ঠিকানা বিভাগগুলি স্মৃতিতে প্রকৃত অবস্থান নির্দেশ করতে ব্যবহৃত হত। সম্বোধন করার ছয়টি পদ্ধতি ছিল। দুটি খুব কমই ব্যবহার করা হত। বাকিগুলি ছিলঃ ডাইরেক্ট, ডাইরেক্ট স্পেশাল রেজিস্টার, ইনডাইরেক্ট অ্যাড্রেসিং এবং ইনডেক্সড। ডাইরেক্ট অ্যাড্রেসিং প্রধান মেমরি অ্যাড্রেস সরাসরি কমান্ড দ্বারা নির্দিষ্ট করা হয়। যান্ত্রিক ভাষায় 12টি বিটের মধ্যে একটি সরাসরি মোড নির্দেশ করে, অন্য 11টি সঠিক ঠিকানা নির্দিষ্ট করে। 11টি বিট 0 থেকে 2047 পর্যন্ত সংখ্যার প্রতিনিধিত্ব করতে পারে তবে এর চেয়ে বড় কিছু নয়। তবে এটি সবচেয়ে কার্যকর ধরনের সম্বোধন। এই দ্বিধাদ্বন্দ্বের কারণে একটি ব্যাঙ্কে মাত্র 2048টি শব্দ থাকে এবং একটি বিভাগ শুধুমাত্র একটি ব্যাঙ্কে সীমাবদ্ধ থাকে। এআরজিইউএস কোডের একটি লাইনে এটি লেখার দুটি উপায় রয়েছেঃ একটি নাম, যা পূর্বে অবস্থান কলামে সংজ্ঞায়িত করা হয়েছিল। এর সঙ্গে একটি সংখ্যা (দশমিক) যোগ করা যেতে পারে, যেমন। : বাফার 0+59 2। বর্তমান রেখার বাইরে একটি অবস্থান বেশ কয়েকটি লাইন (শব্দ), যেমন। সি, 2 মানে এই লাইনের বাইরে দ্বিতীয় লাইন। 12টি বিটে কন্ট্রোল মেমরিতে একটি রেজিস্টারের অ্যাড্রেসিং মোড এবং অ্যাড্রেসিং ঠিকানা চিহ্নিত করা হয়। এছাড়াও 0 এবং 32 এর মধ্যে একটি বৃদ্ধি নির্দিষ্ট করা হয়েছে। প্রধান মেমরি ঠিকানাটি রেজিস্টার ইন কন্ট্রোল মেমরিতে থাকে। প্রসেসর প্রথমে রেজিস্টার থেকে প্রধান মেমরি ঠিকানা পাবে, তারপর সেই প্রধান মেমরি ঠিকানায় শব্দটির জন্য কল করবে। পরিশেষে এটি নির্দিষ্ট পরিমাণ দ্বারা রেজিস্টারের মূল্য বৃদ্ধি করবে। রেজিস্টার থেকে 16 বিটের ঠিকানায় 5 বিট ব্যবহার করে 0 থেকে 31 পর্যন্ত ব্যাঙ্কের ঠিকানা এবং 11 বিট ব্যবহার করে সেই ব্যাঙ্কের একটি শব্দ থাকে। শুধুমাত্র এ এবং বি ঠিকানার জন্য বৃদ্ধি করার সুপারিশ করা হয়েছিল। এআরজিইউএস-এঃ এন, আর0,3 মানে রেজিস্টার আর0 ব্যবহার করুন এবং তারপর এটি 3 দ্বারা বৃদ্ধি করুন। ডাইরেক্ট স্পেশাল রেজিস্টার একটি রেজিস্টার সরাসরি প্রধান স্মৃতিতে একটি শব্দের মতো একই পদ্ধতিতে সম্বোধন করা হয়। এআরজিইউএসঃ জেড-এ, আর0,3 মানে সরাসরি আর0 নথিভুক্ত করার জন্য পড়া বা লেখা এবং তারপর এটি 3 দ্বারা বৃদ্ধি করা। লেখার সময় বৃদ্ধি করার পরামর্শ দেওয়া হয় না। ইনডেক্সড অ্যাড্রেসিং এটি শুধুমাত্র 8টি রেজিস্টারের ক্ষেত্রে প্রযোজ্য, যাকে ইনডেক্স রেজিস্টার বলা হয়। সূচক রেজিস্টার নির্দিষ্ট করতে 3 বিট এবং 0 থেকে 127 এর অফসেট নির্দিষ্ট করতে আরও 7 বিট লাগে। সুতরাং অফসেটটি একটি পূর্ণ দৈর্ঘ্যের প্রধান মেমরি ঠিকানায় যুক্ত করা হয়। এটি একটি শক্তিশালী হাতিয়ার। এটি একটি বহুশব্দ পাঠ্য বা রেকর্ড প্রক্রিয়াকরণের জন্য সহায়ক। টেপ বাফারগুলি সাধারণত এইভাবে সম্বোধন করা হয়। এআরজিইউএস-এঃ এক্স0,35 বা 0,35 মানে সূচক রেজিস্টার 0 ব্যবহার করা, সেই সংখ্যাটি 35 (দশমিক) বৃদ্ধি করা এবং মূল স্মৃতিতে সেই অবস্থান থেকে পড়া বা লেখা। X0-এর মান পরিবর্তন করবেন না। নিষ্ক্রিয় ঠিকানা এআরজিইউএস-এ, ঠিকানা ক্ষেত্রটি একটি ড্যাশ (-) ছিল। এর অর্থ হল ক্ষেত্রটি প্রসেসর দ্বারা উপেক্ষা করা হবে, যার ফলে কমান্ডের স্বাভাবিক ক্রিয়ার অংশটি বাতিল হয়ে যাবে। রেজিস্টার যেমন উল্লেখ করা হয়েছে, প্রোগ্রামটিতে 32টি রেজিস্টারের অ্যাক্সেস ছিল। 8টির বিশেষ ফাংশন ছিল, 16টি রেজিস্টার (আর0 থেকে আর15) ছিল সাধারণ উদ্দেশ্য এবং 8টি (এক্স0 থেকে এক্স7) ছিল সূচক রেজিস্টার। সূচকের ঠিকানা শুধুমাত্র সূচক রেজিস্টারের জন্য সম্ভব ছিল। সরাসরি এবং পরোক্ষ ঠিকানা সাধারণ উদ্দেশ্য এবং সূচক রেজিস্টার উভয়ের ক্ষেত্রেই প্রযোজ্য ছিল। তারা সম্ভবত অন্যান্য রেজিস্টারের সাথেও কাজ করবে তবে এটি খারাপ অভ্যাস হবে। বিশেষ রেজিস্টারগুলি ছিলঃ এস. সি (সিকোয়েন্স কাউন্টার) এস. এইচ (সিকোয়েন্স হিস্ট্রি) সি. এস. সি (কোসেকোয়েন্স কাউন্টার) সি. এস. এইচ (কোসেকোয়েন্স হিস্ট্রি) এম. এস. কে (মাস্ক রেজিস্টার) এ. ইউ1 এবং এ. ইউ2। অপারেশনে, সিকোয়েন্স কাউন্টারে সর্বদা চলমান কমান্ডের সম্পূর্ণ ঠিকানা থাকে। সাধারণত কমান্ডগুলি অবস্থান ক্রমে কার্যকর করা হত। সিকোয়েন্স হিস্ট্রিতে সিকোয়েন্স কাউন্টারের শেষ মান রয়েছে। এই মানটি একটি সাবরুটিনে ঝাঁপ দেওয়ার পরে অবিলম্বে সংরক্ষণ করতে হয়েছিল। অন্যথায় ফিরে আসা অসম্ভব হয়ে পড়বে। কোসেকুয়েন্স কাউন্টার এবং ইতিহাস তার এআরজিইউএস অবস্থানের শুরুতে এক্স সহ যে কোনও কমান্ডের জন্য একই ফাংশন সম্পাদন করে। এমএসকে রেজিস্টারে প্রথম মাস্কের সম্পূর্ণ অবস্থান ছিল (নীচে দেখুন)। এ. ইউ. 1 এবং এ. ইউ. 2 কিছু কমান্ড, বিশেষ করে টি. এন দ্বারা অভ্যন্তরীণভাবে ব্যবহৃত হয়েছিল। এগুলি প্রোগ্রাম দ্বারাও ব্যবহার করা যেতে পারে। যাইহোক, একটি ঝুঁকি ছিল যে একটি অভ্যন্তরীণ অপারেশন হস্তক্ষেপ করতে পারে তাই এটি একটি বুদ্ধিমান পছন্দ ছিল না। প্রতিটি এআরজিইউএস লাইন স্মৃতিতে একটি শব্দ সংজ্ঞায়িত করে। স্বাভাবিক ক্রিয়াকলাপে প্রসেসর প্রতিটি কমান্ড ঠিকানার ক্রমে সম্পাদন করে। কিছু কমান্ড একটি জেইউএমপি-কে অন্য ঠিকানায় অর্ডার করতে পারে (একই ব্যাঙ্কে সরাসরি ঠিকানা দিয়ে)। গাণিতিক কমান্ড ডাব্লুএ, বিএ এবং ডিএ, বিভিন্ন উপায়ে, সকলেই এ এবং বি ঠিকানা থেকে সংখ্যা অর্জন করে, তাদের একসাথে যোগ করে এবং ফলাফলটি সি ঠিকানায় রাখে। বিএস এবং ডিএস উভয় কমান্ডই বি ঠিকানায় নম্বরটি এ ঠিকানায় নম্বর থেকে বিয়োগ করে, ফলাফলটি সি ঠিকানায় রাখে। ডাব্লুএ (ওয়ার্ড অ্যাড) দুটি ইনপুট সংখ্যাকে কোনও চিহ্ন ছাড়াই বাইনারি সংখ্যা হিসাবে বিবেচনা করে। এটি প্রায়শই একটি পরিচিত ঠিকানায় বৃদ্ধি যোগ করতে ব্যবহৃত হত। বিএ এবং বিএস (বাইনারি অ্যাড এবং বাইনারি সাবট্র্যাক্ট) দুটি ইনপুট সংখ্যাকে স্বাক্ষরিত বাইনারি হিসাবে বিবেচনা করে। ডিএ এবং ডিএস (দশমিক যোগ এবং দশমিক বিয়োগ) দুটি ইনপুট সংখ্যাকে স্বাক্ষরিত দশমিক হিসাবে বিবেচনা করে। বাম দিকের চারটি বিট চিহ্নটিকে সংজ্ঞায়িত করে। যদি সবগুলিই শূন্য হয় তবে চিহ্নটি ধনাত্মক হবে। অন্যথায় এটি নেতিবাচক। ডিএম কমান্ডটি 'বি' ঠিকানায় থাকা সংখ্যাটিকে 'এ' ঠিকানায় থাকা সংখ্যা দিয়ে গুণ করে, ফলাফলের বাম অর্ধেকটি 'সি' ঠিকানায় রাখে। অবশিষ্ট নিম্ন প্রান্তের সংখ্যাগুলি 'লো আউটপুট রেজিস্টার'-এ রেখে দেওয়া হয়। এগুলি সেখান থেকে টিএক্স বা টিএস কমান্ডের মাধ্যমে একটি প্রধান মেমরি ঠিকানায় স্থানান্তরিত করা যেতে পারে। ডিএম সম্পূর্ণরূপে ফ্লোটিং পয়েন্ট অ্যাডাপ্টর দ্বারা সমর্থিত। এর অনুপস্থিতিতে সিমুলেশন প্রয়োজন। ডেটা ট্রান্সফার এবং প্রোগ্রাম কন্ট্রোল টিএক্স ট্রান্সফার ঠিকানা এ থেকে ঠিকানায় সি। ঠিকানা বি অবশ্যই নিষ্ক্রিয় হতে হবে (ঠিকানার মোড দেখুন) টিএস ঠিকানা এ থেকে ঠিকানায় বি-তে স্থানান্তর তারপর ক্রমের বাইরে সি-তে কমান্ডের জন্য জেইউএমপি। সি অবশ্যই একটি সরাসরি ঠিকানা হতে হবে। ঐচ্ছিকভাবে এ এবং বি নিষ্ক্রিয় হতে পারে এবং কমান্ডটি একটি খাঁটি লাফ হয়ে যায়। এই মেশিনটি একটি গোটো কমান্ডের সবচেয়ে কাছাকাছি। এম. টি. ঠিকানা এ থেকে ঠিকানা সি-তে বেশ কয়েকবার স্থানান্তর করুন। বারের সংখ্যা ঠিকানা ক্ষেত্র বি-তে একটি দশমিক সংখ্যা হিসাবে নির্দিষ্ট করা হয়। এই নম্বরটি আসল ঠিকানা নয়। এটি বাইনারিতে রূপান্তরিত হয় এবং মেশিন ল্যাঙ্গুয়েজ কমান্ডের অপারেশন বিভাগে অবস্থিত। সুতরাং মূল্য বড় হতে পারে না। ঠিকানা সি অবশ্যই এক বা একাধিক বৃদ্ধির সাথে পরোক্ষ হতে হবে যাতে প্রতিটি পৃথক স্থানান্তর একটি ভিন্ন শব্দের উপর কাজ করে। আমার অ্যাপ্লিকেশন প্রোগ্রামিংয়ের অভিজ্ঞতায় এই কমান্ডটি খুব কমই ব্যবহৃত হয়েছিল। তবে এটি অপারেটিং সিস্টেম এবং কম্পাইলারগুলিতে আরও কার্যকর হতে পারে। টিএন ঠিকানা এ থেকে ঠিকানায় সি-তে স্থানান্তর করুন। তারপর এ + 1 থেকে সি + 1-এ স্থানান্তর করুন। বি ঠিকানায় নির্দিষ্ট সংখ্যক বারের জন্য মোট চালিয়ে যান। এমটি-র ক্ষেত্রে এটি একটি দশমিক সংখ্যা যা মেশিন কমান্ডের অপারেশন বিভাগে বাইনারিতে শেষ হয়। এই কমান্ডটি প্রায়শই অ্যাপ্লিকেশনগুলিতে ব্যবহৃত হত, বিশেষত পাঠ্যের ক্ষেত্রগুলি "ফাঁকা" করার জন্য। এই কমান্ডটি অ্যাড্রেস ইনক্রিমেন্ট পরিচালনা করতে রেজিস্টার AU1 এবং AU2 ব্যবহার করে। এনএ এ এবং বি ঠিকানার তুলনা করুন। যদি সমান হয় তবে স্বাভাবিক হিসাবে চালিয়ে যান। যদি অসম জে. ইউ. এম. পি সি. এল. এ-কে সম্বোধন করে তবে এ এবং বি ঠিকানাগুলির তুলনা করুন। যদি A (স্বাক্ষরহীন বাইনারি হিসাবে) B এর চেয়ে কম বা সমান হয় তবে স্বাভাবিক হিসাবে চালিয়ে যান। অন্যথায় JUMP থেকে C। একটি কাউন্টার সহ একটি লুপের জন্য, এল. এ. এন. এ-এর চেয়ে নিরাপদ। যদি যুক্তিটি বিপথগামী হয় তবে একটি এনএ লুপ পালিয়ে যেতে পারে। পিআর এগিয়ে যান। এটি একটি "কিছুই করবেন না" আদেশ ছিল যা তবুও কিছুটা সময় নেবে। তিনটি ঠিকানাই নিষ্ক্রিয় থাকবে। সম্ভবত তাকে মনে করিয়ে দেওয়ার আগে অপারেটরের কিছু পদক্ষেপ নেওয়ার জন্য অপেক্ষা করার জন্য এটি একটি লুপে ব্যবহার করা যেতে পারে। ধ্রুবক এবং প্রাথমিক মান সংজ্ঞা এগুলি ছিল এআরজিইউএস কমান্ড যা স্মৃতিতে একটি ঠিকানার বাইনারিতে প্রাথমিক মানের মধ্যে অনুবাদ করা হত। প্রকৃত মানটি 'এ' ঠিকানায় যাবে, যতক্ষণ প্রয়োজন ততক্ষণ 'বি' এবং 'সি' ঠিকানায় অব্যাহত থাকবে। এই লাইনগুলির বেশিরভাগই ধ্রুবক হিসাবে ব্যবহারের জন্য ছিল এবং সক্রিয় কমান্ড দ্বারা রেফারেন্সের জন্য একটি অবস্থান কোড থাকবে। ওসিটি ঘুষি দেওয়া অক্ষর বা সংখ্যাটি তিন বিট অষ্টক কোডে অনুবাদ করা হয়। সুতরাং 0 হয়ে যায় 000,1 হয়ে যায় 001,2 হয়ে যায় 010. এবং 7 হয়ে যায় 111। হেক্স ঘুষি দেওয়া অক্ষর বা সংখ্যা একটি চার বিট হেক্সাডেসিমাল কোডে অনুবাদ করা হয়। 0 হয়ে যায় 0000,1 হয়ে যায় 0001,9 হয়ে যায় 1001। তারপর বি থেকে জি দশমিক 10 থেকে 15 নির্দেশ করে, যা বাইনারিতে 1010 থেকে 1111। হানিওয়েল হেক্সাডেসিমেল কোডটি বি থেকে জি ব্যবহার করে যেখানে আইবিএম এ থেকে এফ ব্যবহার করে। ডিইসি পাঞ্চ করা অক্ষর বা সংখ্যাটি চার বিট দশমিক কোডে অনুবাদ করা হয়। এটি হেক্সাডেসিমেলের মতো, তবে শুধুমাত্র 0 থেকে 9 বৈধ। আলফানিউমেরিক সংখ্যা, অক্ষর এবং প্রতীকগুলির জন্য হানিওয়েলের নিজস্ব বাইনারি কোড অনুসারে পাঞ্চ করা অক্ষর বা সংখ্যাটি অনুবাদ করা হয়। এম, এক্স, টেক্সট প্লাস এক্স-এর পৃথক এন্ট্রি, প্রতিটি ঠিকানা ক্ষেত্রে টেক্সট। এখানে, x ও, এইচ, ডি বা এ হতে পারে যা শব্দের প্রতিটি 12 বিট বিভাগকে উপরের যে কোনও একটি পদ্ধতি ব্যবহার করে এনকোড করার অনুমতি দেয়। ওসিটি, এইচইএক্স এবং ডিইসির জন্য, বাম দিকের 4টি বিট সংখ্যার চিহ্ন নির্দেশ করতে ব্যবহৃত হয়। মাস্ক এবং সুইচ কমান্ড একটি মাস্ক একটি ধ্রুবক ছিল যার অবস্থান এম, মুখোশের নামের এন্ট্রি ছিল। এআরজিইউএস-এ সমস্ত মাস্ক একসঙ্গে রাখা ভাল অভ্যাস ছিল। যাই হোক না কেন, এআরজিইউএস এগুলিকে ধারাবাহিকভাবে একসাথে রাখবে। মাস্কের সর্বোচ্চ সংখ্যা ছিল 15টি। কোনও শব্দের মান পরিবর্তন করতে পারে এমন যে কোনও কমান্ডের ক্রিয়া পরিবর্তন করতে একটি মাস্ক ব্যবহার করা যেতে পারে, উদাহরণস্বরূপঃ টিএক্স, মাস্কনেম একটি টিএক্স কমান্ডে মাস্ক "মাস্কনেম" প্রয়োগ করবে। সুইচ ওয়ার্ড কমান্ডের জন্য মাস্কিং অপরিহার্য ছিল কিন্তু অন্যান্য কমান্ডের জন্য খুব বেশি মূল্যবান ছিল না। কিছু ইনস্টলেশনের শুধুমাত্র সুইচ শব্দের জন্য ব্যবহার করার জন্য একটি মান ছিল। প্রথম মাস্কের সম্পূর্ণ ঠিকানা এমএসকে রেজিস্টারে স্থাপন করা হবে এবং একটি পৃথক মাস্কের অফসেট মেশিন ল্যাঙ্গুয়েজ কমান্ডের কমান্ড বিভাগে স্থাপন করা হবে যার জন্য এটি নির্দিষ্ট করা হয়েছিল। ফলস্বরূপ, একটি প্রোগ্রামের প্রয়োজন ছিল এবং এতে কেবল একটি মাস্কের সেট ছিল এবং সেগুলি যে কোনও বিভাগ থেকে ব্যবহার করা যেতে পারে। শব্দের কিছু বিটকে অন্যান্য বিট অবস্থানে নিয়ে যাওয়ার জন্য সুইচ ওয়ার্ড কমান্ড ব্যবহার করা হত। দুটি সুইচ ওয়ার্ড কমান্ড ছিল এবং সেগুলি খুব অনুরূপ ছিল। সুইচ ওয়ার্ড এবং এক্সট্র্যাক্টের একটি এআরজিইউএস কমান্ড ছিলঃ এসডাব্লুই, মাস্কনাম, এ ঠিকানাটি উৎস ছিল এবং সি ঠিকানাটি গন্তব্য ছিল। বি ঠিকানা ক্ষেত্রটি ছিল সুইচ পরিমাণের জন্যঃ x, n, d। x ছিল B, D বা A যা বাইনারি, দশমিক বা বর্ণানুক্রমিক, অর্থাৎ। যথাক্রমে 1,4 বা 6 বিটের একক। d বাম বা ডান জন্য L বা R ছিল। ক্রিয়াকলাপেঃ শব্দটি ঠিকানা এ থেকে প্রাপ্ত হয়েছিল বিটগুলি নির্দিষ্ট ইউনিটের সংখ্যা এবং আকার দ্বারা বাম বা ডানদিকে সরানো হয়েছিল বিটগুলি যা "পড়ে গেছে" প্রান্তটি বিপরীত প্রান্তে ফিরিয়ে দেওয়া হয়েছিল স্থানান্তরিত শব্দটি মাস্ক বিটের মধ্য দিয়ে বিট দ্বারা পাস করা হয়েছিল। যদি মাস্ক বিটটি 1 হয় তবে স্থানান্তরিত বিটটি অনুলিপি করা হবে। অন্যথায় একটি 0 বিট পাস করা হবে। পরিবর্তিত শব্দটি সি ঠিকানায় রাখা হয়েছিল অন্য সুইচ ওয়ার্ড কমান্ডটি ছিল সুইচ ওয়ার্ড এবং সুপারইম্পোজ, এসডব্লিউএস, একই সিনট্যাক্স সহ। মাস্ক পর্যায়ে ক্রিয়াটি ভিন্ন ছিল। যদি মাস্ক বিটটি 0 হয় তবে স্থানান্তরিত বিটের পরিবর্তে আনশিফ্টটি আউটপুট শব্দে স্থাপন করা হয়। 1 এর একটি মাস্ক বিটের জন্য ক্রিয়াটি এস. ডব্লিউ. ই-এর মতোই ছিল। উদাহরণ ঠিকানা এ-তে 6টি বিটের 8টি অক্ষর রয়েছেঃ এ. বি. সি. ডি. ই. এফ. জি. এইচ মাস্ক ও. এন. ই. সি. এ. আর-এর ডানদিকে 1টি রয়েছে-সর্বাধিক 6টি বিট এবং অন্যত্র 0। কমান্ডটি হ 'লঃ এসডাব্লুই, ওনেচার এ এ, 4, আরসি তারপর ঠিকানা সি-তে থাকবেঃ 0000000ডি যদি কমান্ডটি হয়ঃ এসডাব্লুএস, ওনেচার এ এ, 4, আরসি তারপর ঠিকানা সি-তে থাকবেঃ মেশিন ভাষায় সমস্ত শিফট বাইনারি রাইট হিসাবে প্রতিনিধিত্ব করা হয়েছিল। x, n, d বিন্যাসের সমস্ত এআরজিইউএস কোডগুলি বাইনারিতে হ্রাস করা যেতে পারে। ম্যাক্রো এবং সাবরুটিন একটি ম্যাক্রোকে বলা হবেঃ এল $, ম্যাক্রোনাম এটি অ্যাসেম্বলারকে সেই সময়ে ম্যাক্রো "ম্যাক্রোনাম" এর এআরজিইউএস টেক্সট সন্নিবেশ করার অনুরোধ করবে। এআরজিইউএস মেশিন কোডে অনুবাদ করার আগে এটি সমাবেশের প্রাথমিক পর্যায়ে করা হয়েছিল। স্ট্যান্ডার্ড লাইব্রেরিতে বেশ কয়েকটি ম্যাক্রো ছিল (নিজস্ব টেপে রাখা) এবং গ্রাহকরা আরও যোগ করতে পারতেন। ম্যাক্রো জিইটি এবং পিইউটি ইনপুট টেপ বাফার থেকে একটি আইটেম পাবে বা আউটপুট টেপ বাফারের মধ্যে একটি আইটেম রাখবে, যথাযথভাবে একটি রেকর্ড পড়বে বা লিখবে। দুই ধরনের সাবরুটিন ছিল। একটি সম্পূর্ণরূপে আর্গাস ভাষায় লেখা হয়েছিল। এখানে একটি উদাহরণ দেওয়া হল, সাবরুটিন এস. ইউ. বি. এ ব্যবহার করেঃ অন্য ধরনের সাবরুটিন একটি ম্যাক্রো মোড়কের সাহায্যে যান্ত্রিক ভাষায় সরবরাহ করা হয়েছিল। এটি সাধারণত হানিওয়েলের কর্মীদের দ্বারা লেখা হত। ম্যাক্রো সাবরুটিনে কল করার জন্য জিওএসইউবি কমান্ড ব্যবহার করে। ফ্লোটিং পয়েন্ট কমান্ডস দ্য হানিওয়েল 1800-এ বৈজ্ঞানিক গণনার জন্য একটি ঐচ্ছিক ফ্লোটিং পয়েন্ট অ্যাডাপ্টর ছিল। এর জন্য আদেশের একটি সেট ছিল। এই কমান্ডগুলি সিমুলেশন আকারেও পাওয়া যেত যদি হার্ডওয়্যারে অ্যাডাপ্টার অন্তর্ভুক্ত না থাকত তবে নিয়মিত ব্যবহারের জন্য এটি সুপারিশ করা হত না। অ্যাডাপ্টার থাকুক বা না থাকুক, এআরজিইউএস ফ্লোটিং পয়েন্ট কমান্ডগুলি একই ছিল। এর অনুপস্থিতিতে, এআরজিইউএস প্রকৃত ফ্লোটিং পয়েন্ট অপারেশনের একটি মেশিন ল্যাঙ্গুয়েজ সিমুলেশন সরবরাহ করবে। যন্ত্র স্তরে পেরিফেরাল ইনপুট/আউটপুট কন্ট্রোল ইনপুট এবং আউটপুট ডিভাইসের ঠিকানা দুটি অষ্টক সংখ্যা 0-7 ছিল। এআরজিইউএস স্তরে এটি ছিল দুটি অক্ষর এ-জি। প্রথম অঙ্ক নিয়ামককে চিহ্নিত করে, দ্বিতীয় অঙ্কটি সেই নিয়ামকের ডিভাইস নম্বরকে চিহ্নিত করে। টেপ প্রক্রিয়াকরণের জন্য, টেপে থাকা তথ্যের একটি একককে হানিওয়েল ম্যানুয়ালে একটি রেকর্ড বলা হত। আইবিএম ফোন করেছিল, এবং এখনও কল করে, এটি একটি ব্লক। রেকর্ডের একটি উপবিভাগকে আইটেম বলা হত। আইবিএম এটিকে একটি রেকর্ড বলে অভিহিত করেছে। আইবিএম-এর পরিভাষা মার্কিন মান হয়ে ওঠে। কমান্ডঃ আর. ডব্লিউ, এ. এ কমান্ডটি টেপ ইউনিট এ. এ, অক্টা 00-এ টেপটি রিওয়াইন্ড করবে। আরএফ, এএ কমান্ডটি টেপ ইউনিট এএ, অক্টাল 00-এ পরবর্তী রেকর্ডটি পড়বে। আরবি, এ. এ কমান্ডটি তথ্য সরবরাহ না করেই টেপ ইউনিট এ. এ, অক্টাল 00-এর আগের রেকর্ডটি পড়ে নেবে। একটি বিদ্যমান টেপ সংশোধন করতে, আপনি আরএফ ব্যবহার করে প্রথম রেকর্ডটি খুঁজে পেতে পারেন যা আপনি চান না, তারপর আরবি তার আগের জায়গায় পৌঁছাতে পারে, তারপর ডাব্লুএফ এটির উপর এবং তার পরে লিখতে পারে। ডাব্লুএফ, এবি কমান্ডটি টেপ ইউনিট এবি, অক্টাল 1-এ পরবর্তী রেকর্ডটি লিখবে। আরএফ, জিএ কমান্ডটি কার্ড রিডার, ডিভাইস জিএ, অক্টাল 70-এ পরবর্তী কার্ডটি পড়বে। সেই পড়া বা লেখার ক্রিয়াকলাপের জন্য বাফারের প্রথম শব্দ হবে 'এ' ঠিকানা। প্রতিটি যন্ত্রের জন্য দুটি বাফার ব্যবহার করা স্বাভাবিক ছিল যাতে পড়া বা লেখা প্রক্রিয়াকরণের সমান্তরালে চলতে পারে। একে বলা হয় ডাবল বাফারিং। "রেকর্ড" (ব্লক)-এর আকারে বাফারের আকার একটি সীমাবদ্ধ কারণ ছিল কারণ মূল মেমরি সীমিত ছিল। টেপে একটি রেকর্ড লেখার প্রস্তুতি নেওয়ার সময়, প্রতিটি আইটেম একটি নির্ধারিত কোড সহ আইটেম শব্দের শেষ দ্বারা শেষ করা হয়েছিল। প্রতিটি রেকর্ড ত্রুটি যাচাইয়ের জন্য একটি অর্থো শব্দ দ্বারা সমাপ্ত করা হয়েছিল এবং তারপরে একটি রেকর্ড শব্দের সমাপ্তি ছিল। আউটপুট বাফারটি আইটেম দিয়ে পূর্ণ হওয়ার পরে, অর্থো শব্দ গণনা করতে এবং রেকর্ড শব্দের শেষ প্রদান করতে কম্পিউট অর্থো (সিসি) কমান্ড ব্যবহার করা হয়েছিল। কম্পিউট অর্থো কমান্ডের জন্য ঠিকানা এ এবং বি প্রথম এবং শেষ শব্দের অবস্থান চিহ্নিত করে। এরপরে, রেকর্ডটি ডাব্লুএফ কমান্ড দ্বারা লেখা হবে। শেষ পর্যন্ত নিয়ন্ত্রণ মূল কর্মসূচিতে ফিরিয়ে দেওয়া হবে। সাধারণ প্রয়োগ কাজের জন্য সম্ভবত আরডব্লিউ ছাড়া সমস্ত পেরিফেরাল কমান্ড একটি সাবরুটিনে স্থাপন করা হবে। প্রোগ্রাম অ্যাডমিনিস্ট্রেশন কমান্ড প্রোগ্রামগুলির প্রশাসন পরিচালনা করার জন্য এআরজিইউএস কমান্ড ছিল। একটি প্রোগ্রাম একত্রিত করার জন্য নিম্নলিখিতগুলির প্রয়োজন ছিলঃ প্রয়োজনীয় সমস্ত পরিবর্তনের জন্য এআরজিইউএস কোডযুক্ত কার্ডের একটি ডেক। ইনস্টলেশনের সময় সমস্ত এআরজিইউএস প্রোগ্রাম সম্বলিত একটি ইনপুট টেপ। একটি আউটপুট স্ক্র্যাচ টেপ যাতে সমস্ত নতুন এআরজিইউএস প্রোগ্রাম এবং পুরানোগুলির সমস্ত সংশোধন থাকে। ইনস্টলেশনের সময় সমস্ত মেশিন ভাষা প্রোগ্রাম ধারণকারী একটি ইনপুট টেপ। সমস্ত মেশিন ভাষা প্রোগ্রাম ধারণ করার জন্য একটি ইনপুট টেপ-অপরিবর্তিত, নতুন বা পুনরায় একত্রিত। ম্যাক্রো গ্রন্থাগার সম্বলিত একটি ইনপুট টেপ। এই ম্যাক্রোগুলি সমাবেশের সময় এবং মেশিন কোডে অনুবাদ করার আগে এআরজিইউএস কোডে যুক্ত করা হবে। কার্ডের ছবি সাজানোর জন্য এক বা একাধিক স্ক্র্যাচ টেপ। তৈরি বা পরিবর্তন করা প্রতিটি প্রোগ্রামের জন্য খুব কম প্রশাসনিক কমান্ডের প্রয়োজন ছিল। ইউ, এন. ই. ডব্লিউ. পি. আর. জি প্রোগনাম যে কার্ডগুলি অনুসরণ করে সেগুলি প্রোগনাম নামে একটি সম্পূর্ণ, নতুন প্রোগ্রামের জন্য। ইউ, আর. ই. এ. এস. এস. এম. বি প্রোগনাম যে কার্ডগুলি অনুসরণ করে তা হল বিদ্যমান প্রোগ্রামের প্রোগনামের সংশোধন। ইউ, এন. ই. ডব্লিউ. এস. ই. জি অগ্রনাম সিগনাম যে কার্ডগুলি অনুসরণ করে সেগুলি হল একটি সম্পূর্ণ, নতুন বিভাগ যা প্রোগনাম নামক (নতুন বা বিদ্যমান) প্রোগ্রামের সিগনাম নামে পরিচিত। ইউ, সেগমেন্ট অগ্রনাম সেগনাম যে কার্ডগুলি অনুসরণ করে সেগুলি প্রোগ্রামের অগ্রনামের সেগমেন্ট সেগনামের সংশোধন। U, ENDSEG এটি সেগমেন্টের শেষ (বা এর সংশোধন)। U, ENDPROG এটি প্রোগ্রামের শেষ (বা এর সংশোধন)। আরও দেখুন প্রোগ্রামিং ভাষাগুলির ইতিহাস (সম্মেলন) রেফারেন্স এক্সটার্নাল লিঙ্ক অ্যাশার ওপলার এবং মাইরা গ্রে, (1961), একটি মাল্টিপ্রোগ্রামড বীজগাণিতিক সংকলকের নকশা (শুধুমাত্র সাবস্ক্রিপশন) স্বয়ংক্রিয় রুটিন জেনারেটিং এবং আপডেটিং সিস্টেম। এইচ. ও. পি. এল থেকেঃ প্রোগ্রামিং ভাষার একটি ইন্টারেক্টিভ তালিকা। বিধানসভা ভাষাসমূহ হানিওয়েল সংখ্যাসূচক প্রোগ্রামিং ভাষাসমূহ