هر دستگاه الکتريکي و يا الکترونيکي مجموعه اي ست از روابط و توابع که بتوانند رابطهاي را بين نرم افزار و سخت افزار آن جهت کارکرد ايجاد کنند. براي مثال يک سيستم کامپيو تري کامل متشکل از سخت افزار و نرم افزار است. سخت افزار از قطعات فيزيکي و همه تجهيزات مرتبط با آنها تشکيل مي شود . منظور از نرم افزار بر نامه هايي است که براي کامپيو تر نوشته مي شود . مي توان از جهات مختلف با نرم افزار کامپيو تر بدون توجه به جزئيات چگونگي عملکرد آن آشنا شد. همچنين مي توان بخش هايي از سخت افزار را بدون اطلاع از توانايي نرم افزار طراحي نمود .
در هر صورت افرادي که با معماري کامپيو تر سر و کار دارند بايد هم از سخت افزار و هم از نرم افزار اطلاعاتي داشته باشند زيرا اين دو شاخه بر يگديگر تاثير مي گذارند.
نوشتن يک بر نامه کامپيوتر به معني مشخص کردن رشته اي از دستور العمل هاي ماشين به طور مستقيم يا غير مستقيم است . دستور العمل هاي ماشين در داخل کامپيو تر الگويي دودويي را تشکيل مي دهنند که کار با آن و يا درک آن اگر غير ممکن نباشد مشکل هست . لذا نو شتن بر نامه ها با مجمو عه کارکتر هاي آشنا تر ترجيح داده مي شود . در نتيجه تر جمه برنامه هايي که بر اساس سليقه کاربر نو شته مي شود به بر نامه هاي قابل تشخيص به وسيله سخت افزار لازم به نظر مي رسد .
بر نامه اي که به وسيلا يک کاربر نوشته مي شود ممکن است وابسته و يا مستقل از يک کامپيو تر فيزيکي باشد که بر نامه را اجرا مي کند . مثلا بر نامه اي که به زبان فر ترن استاندارد نو شته مي شود مستقل از ماشين است زيرا اکثر کامپيو تر ها برنامه مترجمي دارند که فر ترن استاندارد را به کد دودويي آن تبديل مي کنند . اما خود بر نامه مترجم وابسته به ماشين است زيرا بايد بر نامه فر ترن را به کد دودويي قابل تشخيص به وسيله سخت افزار کامپيوتر خاص مورد استفاده ترجمه کند.
هر کامپيو تر خود به تنهايي مي تواند داراي 25 دستور پايه باشد . به هر دستور العمليک سمبل سه حرفي اختصاص يافته است تا نو شتن بر نامه سمبليک ساده شود . هفت دستورالعمل اول دستورات ارجاع به حافظه ( حافظهاي) و هجده دستورالعمل بعدي ارجاع به ثبات (ثباتي) و ورود و خروج هستند. يک دستور العمل ار جاع به حافظه داراي سه بخش است :
بيت روش (شيوه) سه بيت کد عملوند دوازده بيت آدرس. اولين رقم شانزده شانزدهي يک دستور العمل حافظهاي شامل بيت روش و کد عمل آن است سه رقم ديگر آدرس را مشخص مي کنند . در يک دستور العمل با آدرس غير مستقيم بيت روش برابر 1 و اولين رقم شانزده شانزدهي بين 8 تا E مي باشد.

در حالت مستقيم محدوده از 0 تا 6 است . هجده دستور ديگر داراي کد عمل 16 بيتي هستند. کد هر دستورالعمل به صورت يک عدد چهار رقمي شانزده شانزدهي ليست شده است . اولين رقم يک دستورالعمل ثباتي همواره 7 است .
اولين رقم يک دستور العمل ورودي – خروجي هميشه اف است و ام نيز به معني آدرس موثر.
زبان ماشين به معني مجمو عهاي از دستور العمل ها براي هدايت کامپيو تر در اجراي يک کار داده پردازي مورد نظر است . زبانهاي مختلفي براي نوشتن يک بر نامه کامپيو تري وجود دارد. ولي کامپيو تر مي تواند تنها بر نامه هايي را اجرا کند که در داخل آن به شکل دودويي تر جمه شوند. بر نامه هاي نو شته شده براي کامپيو تر مي تواند يکي از رشته هاي زير باشد:
1-کد دودويي: اين کد رشته اي از دستور العمل ها و عملو ندها به شکل دودوييست که شکل واقعي آنها را آنطور که در حافظه کامپيو تر ظاهر ميشود نشان مي دهد.
2- کد هشت هشتي يا شانزده شانزدهي: اين کد معادل ترجمه شده کد دودويي به هشت هشتي يا شانزده شانزدهي است.
3- کد سمبليک: در اين کد کاربر از سمبل ها (حروف – اعداد يا کارکتر هاي خاص) براي بخش عملياتي – بخش آدرس و ساير قسمت هاي کد دستور العمل استفاده مي کند. هر دستور العمل سمبليک را مي توان به يک دستور العمل کد شده با دودويي ترجمه کرد . اين ترجمه توسط برنامه خاصي بنام اسمبلر انجام مي شود . چون اسمبلر اسمبل را ترجمه مي کند اين نوع بر نامه سمبليک بر نامه زبان اسمبلي خوانده مي شود.
4- زبان هاي بر نامه نويسي سطح بالا: اين بر نامه ها که به زبان هاي خاصي نو شته مي شوند به خاطر دريافت تاثير رويه هايي است که به منظور حل مسئله خاصي به کار مي روند و نه صرفا به خاطر تاثير بر رفتار سخت افزار کامپيو تر. مثالي از يک بر نامه به زبان سطح بالا فر ترن است . برنامه به صورت رشته اي از عبارات بر اساس نحوه تفکر فرد به هنگام حل يک مسئله نو شته مي شود . با اين وجود هر عبارت بايد قبل از اجرا در کامپيو تر به رشته اي از دستو رات دودويي تبديل شود . بر نامه اي که يک بر نامه ديگر به زبان سطح بالا را به دودويي تر جمه مي کند کامپايلر ناميده مي شود