آموزش انواع داده ها در زبان اسمبلی Assembly
در این بخش از آموزش زبان اسمبلی برای شما کاربران عزیز آموزش انواع داده ها در زبان اسمبلی Assembly را آماده کرده ایم که می توانید در ادامه آن را مشاهده کنید.
در برخی مواقع نیاز است در زبان اسمبلی مقداری را در جای ذخیره کنید و بعدا از آن استفاده کنید در چنین مواقعی باید در قسمت سگمنت داده متغیری تعریف کنید تا این مقدار در آن متغیر قرار بگیرد. این مقادیر ممکن است رشته ای یا عددی باشند. ثابت های عددی می توانند در مبنای 2 یا مبنای 8 یا مبنای 10 و یا مبنای 16 تعریف شوند. در حالت پیش فرض عددهای نوشته شده، در مبنای 10 درنظر گرفته می شوند ولی اگر بخواهید در مبناهای دیگر این اعداد را بنویسید برای مبنای 2 از حرف b برای مبنای 8 از حرف o یا q و برای مبنای 16 از حرف h استفاده می کنیم.
توضیحات بیشتر آموزش انواع داده ها در زبان اسمبلی Assembly را در ادامه مطلب می توانید مشاهده کنید.
در زبان اسمبلی 3 نوع داده DB,DW,DD می توانیم تعریف کنیم که در ادامه به توضیحات هر کدام از این انواع داده ها در زبان اسمبلی می پردازیم.
تعریف داده با دستور DB:
شناسه DB مقدار
دستور DB یا Define Byte برای تعریف داده های 1 بایتی مورد استفاده قرار می گیرد. مقادیری که این نوع داده می تواند به خود بگیرد به این صورت است که اگر عدد بدون علامت باشد بین 0 تا 255 خواهد بود. اعداد منفی 128- تا 1- نیز در یک بایت ذخیره می شوند، اما به اعداد منفی 255- تا 129- یک کلمه اختصاص می یابد ولی بایت باارزش آن نادیده گرفته خواهد شد. در دستور DB در زبان اسمبلی می توان مقادیر کاراکتری و رشته ای را نیز تعریف کرد که برای این منظور می توان از علامت نقل قول یکانی یا علامت نقل قول دوتایی استفاده کرد. به دستورات زیر توجه کنید.
P1 db 0 ;value is 0
P2 db -1280 ;value is 80
P3 db 255 ;value is FF
P4 db +91 ;value is 5B
P5 db 01111101B ;value is 7D
P6 db 1,5,2 ;value is 1 , 5 , 2
P7 db ‘a’ ;value is 61
P8 db “ab” ;value is 61 , 62
تعریف داده با دستور DW:
شناسه DW مقدار
دستور DW یا Define Word برای تعریف داده های یک کلمه ای یا همان 2 بایتی مورد استفاده قرار می گیرد. مقادیری که این نوع داده می تواند به خود بگیرد به این صورت است که اگر عدد بدون علامت باشد بین 0 تا 65535 خواهد بود. اعداد منفی 32768- تا 1- نیز در یک کلمه ذخیره می شوند، اما به اعداد منفی 65535- تا 32769- چهار بایت اختصاص می یابد ولی دو بایت باارزش آن نادیده گرفته خواهد شد. در دستور DW در زبان اسمبلی می توان مقادیر کاراکتری و رشته ای را نیز تعریف کرد که در این صورت کاراکتر مورد نظر در بایت کم ارزش قرار می گیرد و بایت با ارزش آن 0 خواهد شد برای رشته ها هم رشته مورد نظر حتما باید دو کاراکتر باشد. به دستورات زیر توجه کنید.
W1 dw -32768 ;value is 8000
W2 dw 65535 ;value is FFFF
W3 dw -10000 ;value is D8F0
W4 dw 400 ;value is 190
W5 dw ‘a’ ;value is 0061
W6 dw “ab” ;value is 6261
تعریف داده با دستور DD:
شناسه DD مقدار
دستور DD یا Define Double word برای تعریف داده های 4 بایتی مورد استفاده قرار می گیرد. مقادیری که این نوع داده می تواند به خود بگیرد بین 0 تا 0FFFFFFH خواهد بود. به دستورات زیر توجه کنید.
D1 dd 2147483 ;value is C49B
مثال کاملی از آموزش انواع داده ها در زبان اسمبلی:
stkseg segment stack
db 32 dup(“stack”)
stkseg ends
dataseg segment para ‘data’
P1 db 0 ;value is 0
P2 db -128 ;value is 80
P3 db 255 ;value is FF
P4 db +91 ;value is 5B
P5 db 01111101B ;value is 7D
P6 db 1,5,2 ;value is 1 , 5 , 2
P7 db ‘a’ ;value is 61
P8 db “ab” ;value is 61 , 62
W1 dw -32768 ;value is 8000
W2 dw 65535 ;value is FFFF
W3 dw -10000 ;value is D8F0
W4 dw 400 ;value is 190
W5 dw ‘a’ ;value is 0061
W6 dw “ab” ;value is 6261
D1 dd 2147483 ;value is C49B
dataseg ends
codeseg segment para ‘code’
main proc far
assume ds:dataseg,cs:codeseg,ss:stkseg
main endp
codeseg ends
end main











(43 امتیاز از 10 رای)






























عالی بود . زنده باد اسمبلی