به نام خدا

سلام! تصمیم گرفتم مقدمات اسمبلی رو در این پست بگم که کسی مشکلی نداشته باشه!

خوب با امید خدا شروع میکنیم!

 

»گروه بندی بیت ها

به هر هشت بیت کنار هم یک بایت گفته میشودو دو بایت کنار هم یعنی 16 بیت متوالی را Word مینامند. بیت های یک word از 0 تا 15 شماره گذاری میگردد. در یک word بایت سمت راست را بایت مرتبه پایین (Low order byte) و بایت سمت چپ را بایت مرتبه بالا (High order byte) گفته میشود!

 

در یک word بیت شماره 0 را LSB و بیت شماره 15 را MSB مینامند.

از طرف دیگر چهار بایت متوالی تشکیل یک Double word میدهند!

هر هشت بایت متوالی تشکیل یک Quadword میدهند و نهایتا هر ده بایت متوالی تشکیل یک Tenbyte میدهند!

جدول زیر مقادیری که یک double word, word ,byte میتوانند اختیار کنند را نشان میدهد!

 

مقادیر علامت دار مقادیر بدون علامت نوع
128- تا 127 0 تا 255 Byte
32768- تا 32767 0 تا 65535 Word
2147483647- تا 2147483647 0 تا 4294967295 Double word

 

» سیستم مبنای شانزده

ارقام در مبنای شانزده یا Hexadecimal عبارتند از 0 تا 15. به منظور جلوگیری از ابهام، ارقام دو رقمی یعنی از 10 تا 15 به ترتیب با حروف A تا F نشان داده می شود.

10 A
11 B
12 C
13 D
14 E
15 F

 

برای تبدیل مقداری از سیستم دهدهی به سیستم مبنای شانزده آن عدد را به طور متوالی بر 16 تقسیم می نمائیم.

هر رقم در سیستم مبنای شانزده را میتوان بوسیله ی چهار رقم در سیستم باینری نمایش داد.

 

0         0000
1       0001
2         0010
3       0011
4        0100
5        0101
6        0110
7        0111
8        1000
9        1001
A        1010
B        1011
C        1100
D        1101
E        1110
F        1111

 

حال برای تبدیل یک مقدار در سیستم مبنای شانزده به سیستم باینتری می توان از جدول بالا استفاده کرد و ازقام معادل آن را جایگزین نمود

مثال: عدد 2AE9 را می توان به شکل زیر در سیستم مبنای دودویی نمایش داد

0010101011101001

 

برای تبدیل یک مقدار دودویی به سیستم مبنای شانزده ابتدا ازقام را از سمت راست چهار تا چهارتا جدا میکنیم سپس با استفاده از جدول بالا معادل آن را قرار میدهیم

مثال: عدد باینری 0101000100101011 را به سیستم مبنای شانزده تبدیل کنید!

اعداد بالا را چهار تا چهار تا جدا کردیم ( با بزرگ کردن اعداد) حالا معادل هر کدام را مینویسیم!

512B

خوب قسمت اعداد به پایان رسید!

 

» رجیستر ها در زبان اسمبلی

در زبان اسمبلی به دلیل سطح پایین بودن این زبان و درگیری با سخت افزار با مفاهیمی از جمله رجیستر ها سروکار داریم! هر پردازنده بسته به معماری خود تعداد ثبات یا رجیستر های مختلغی دارد که به وسیله ی آنها عملیات های ریاضی را انجام میدهیم! در فصل های آینده بیشتر در مورد استفاده از ثبات ها در اسمبلی توضیح میدیم!

فعلا کافیه!

شاید بعدا این پست آپدیت بشه و چیزای جدیدی بهش اضافه بشه! ولی فعلا....

یا علی مدد....!