binary2
به نام خدا
همانطور که می دانید زبان ماشین در چهار مبنای اصلی بکار می رود :
۱. باینری
۲. دسیمال
۳. هگزادسیمال
۴. اکتال
اگر می خواهید با تمام اسرار و رموز زبان ماشین آشنا شوید و از تردید بین مبناها و تبدیل مکرر آنها به یکدیگر خلاص شوید و سردرگم نشوید بهترین کار این است که از اول تا آخر ؛ فقط از مبنای باینری استفاده کنید و سایر مبناها را برای همیشه فراموش کنید .
بسیاری از تواناییها و اسرار زبان ماشین را فقط در مبنای باینری می توان کشف کرد .
ضمنا مبنای باینری قدیمی ترین و اصیلترین و صحیحترین مبنا می باشد و با طبیعت سخت افزار کامپیوتر ؛ سازگاری و تناظر کامل دارد .
مثلا رقم ۱ در مبنای باینری مستقیما به ۱ ولتاژ برق مستقیم تبدیل می شود و رقم صفر در مبنای باینری مستقیما به نیم ولت برق تبدیل می شود .
این مزیت بزرگ یعنی تناظر یک به یک ارقام صفر و یک باینری با ولتاژهای برق درون مدارات الکترونیکی سخت افزار کامپیوتر موجب می شود که به یک درک بسیار عمیق و کامل و اصولی از ماهیت و ساختار و عملکرد کامپیوتر دست یابید و حتی به فلسفه و علت اختراع کامپیوتر ؛ آگاه شوید .
همچنین در چهار عمل اصلی یعنی جمع و تفریق و ضرب و تقسیم ؛ هیچ مبنایی به اندازه ی مبنای باینری ؛ دقیق نیست . اما در استفاده از سایر مبناها ممکن است در محاسبات دچار اشتباه شوید که می تواند بسیار خطرناک باشد .
بنابراین باید همیشه و تحت هر شرایطی فقط از مبنای باینری استفاده شود تا هیچگونه خطایی رخ ندهد .
با این مقدمه ی طولانی ؛ اولین جلسه ی آموزش زبان ماشین که البته منحصرا در مبنای باینری خواهد بود را همینجا شروع می کنم و مابقی مطالب به مرور زمان در پست های بعدی منتشر خواهند شد .انشاا...
جلسه ی اول ؛ بسیار کوتاه و مختصر است و سعی می شود تا حد امکان ؛ در جلسات بعدی نیز ؛ مطالب بصورت مختصر و مفید و کاربردی تدریس شوند تا از اطاله ی کلام خودداری شود .
درس اول :
ما پنج دستور زبان اسمبلی داریم که برای عمل جمع دو عدد باینری البته فقط در حالت ماسک گذاری روی بیت ها ، بکار می گیریم :
and
or
xor
not
test
این پنج دستور زبان اسمبلی ؛ هرکدام نتایج متفاوتی در عملیات جمع دو عملوند باینری و در حالت ماسک ؛ ایجاد می کنند .
ماسک گذاری روی بیت ها یعنی دسترسی کاملا مستقیم به بیت های درون بایت و ویرایش و دستکاری آنها و انجام عملیات خاص روی آنها .
مثال
or 10101010, 11111111
دستور بالا که در زبان اسمبلی نوشته می شود عملیات زیر را روی این دو عدد باینری اجرا می کند:
10101010+
11111111
‐--------------
11111111
عملگر or فقط در یک حالت ، عدد صفر را تولید می کند :
00000000+
00000000
‐------------
00000000
عملگر and دقیقا برعکس رفتار می کند
and 10101010, 11001011
مثال:
10101010+
11001011
-------------
10001010
یعنی عملگر and فقط درصورتی عدد 1 را تولید می کند که عملوندهای مبدا و مقصد ؛ 1 باشند
یعنی
1+
1
---
1
اینها جزو عجایب و اسرار زبان ماشین محسوب می شوند که بامزه و شگفت انگیز هستند و شما را غافلگیر می کنند .
خب ادامه ی درس را به جلسه ی بعدی یعنی پست بعدی موکول می کنم .