close
دانلود فیلم
تعريف داده ها در سگمنت داده
 

 

تعريف داده ها در سگمنت داده صورت می گيرد که با راهنمای .data شروع می شود.

ثابت ها

يک ثابت واقعی ثابتی است که مقدارش صريحا ذکر شده است. ثابت های واقعی نمايش آنچه هستند که معمولا برای مقدار دنيای واقعی انتظار داريم. ماکرو اسمبلر دارای انواع مختلفی از ثابت های صحيح، حقيقی، رشته و غيره است.


مثال.

123
3.14159
"Literal String Constant"
0FABCh
'A'


يک ثابت عددی مقداری است که می تواند در مبنای 2، 10 يا 16 نوشته شود. برای مشخص کردن مبنای عدد از پسوندهای جدول زير استفاده می شود. اگر مبنا صريحا ذکر نشود پيش فرض مبنای 10 است.

مبناپسوند
BinaryB يا b
decimalD يا d يا T يا t
hexadecimalH يا h

ثابت های رشته ای درون گيومه (") يا تک گيومه (') قرار می گيرند.


مثال. ثابت های عددی.

0F000h
12345d
0110010100b

مثال. ثابت های رشته ای.

"This is a string"
'So is this'
'Doesn''t this look weird?'
"Doesn't this look weird?"
"Microsoft claims ""Our software is very fast."" Do you believe them?"
'Microsoft claims "Our software is very fast." Do you believe them?'


ثابت نامدار (named constant) نام سمبليکی است که نشانگر مقدار ثابتی طی فرآيند اسمبلی است. ثابت ها به صورت کلی زير تعريف می شوند:

ConstantName EQU Value
ConstantName = Value

ConstantName نام ثابت است و Value مقداری است که به ثابت اختصاص داده می شود.


مثال.

One         equ 1
Minus1    equ -1
TryAgain equ 'Y'
String      equ "Hello there"
Num = 16
Size = Count * Element


نکته. علامت مساوی تنها برای مقدارهای عددی بکار می رود.

متغيرها

متغيرها را در هر سگمنتی می توان تعريف کرد اما اکثر برنامه نويسان همه آنها را در سگمنت داده تعريف می کنند. هر متغير به فرم کلی زير تعريف می شود:

VariableName Type InitialValue|?

Type نوع متغير را مشخص می کند که می تواند يکی از نوع های جدول زير باشد. نوع هائی که اغلب مورد استفاده قرار می گيرند DB و DW هستند. InitialValue مقداراوليه متغير است. اگر نخواهيم مقدار اوليه بدهيم علامت سوال (?) می گذاريم.

تعداد بايتنوع
1byte/sbyte/db
2word/sword/dw
4dword/sdword/dd
8qword/dq
10tbyte/dt

مثال.

num db 25h
sum dd ?
ANum db -4

مثال. محل های پشت سر هم که دارای يک نوع هستند آرايه ناميده می شود. رشته ها توسط راهنمای db اعلان می شوند.

X dw 040Ch,10b,-13,0
Y db 'This is an array'
Z dd 10, 13, 'A','B','C'

مثال. برای تعريف يک متغير آرايه از راهنمای dup استفاده می شود.

Memory db 30 dup('$')
BigAry   dw 100 dup(?)

به کانال تلگرام سایت ما بپیوندید