آموزش انواع داده ها در زبان اسمبلی Assembly
در این بخش از آموزش زبان اسمبلی برای شما کاربران عزیز آموزش انواع داده ها در زبان اسمبلی Assembly را آماده کرده ایم که می توانید در ادامه آن را مشاهده کنید.
در برخی مواقع نیاز است در زبان اسمبلی مقداری را در جای ذخیره کنید و بعدا از آن استفاده کنید در چنین مواقعی باید در قسمت سگمنت داده متغیری تعریف کنید تا این مقدار در آن متغیر قرار بگیرد. این مقادیر ممکن است رشته ای یا عددی باشند. ثابت های عددی می توانند در مبنای ۲ یا مبنای ۸ یا مبنای ۱۰ و یا مبنای ۱۶ تعریف شوند. در حالت پیش فرض عددهای نوشته شده، در مبنای ۱۰ درنظر گرفته می شوند ولی اگر بخواهید در مبناهای دیگر این اعداد را بنویسید برای مبنای ۲ از حرف b برای مبنای ۸ از حرف o یا q و برای مبنای ۱۶ از حرف h استفاده می کنیم.
توضیحات بیشتر آموزش انواع داده ها در زبان اسمبلی Assembly را در ادامه مطلب می توانید مشاهده کنید.
در زبان اسمبلی ۳ نوع داده DB,DW,DD می توانیم تعریف کنیم که در ادامه به توضیحات هر کدام از این انواع داده ها در زبان اسمبلی می پردازیم.
تعریف داده با دستور DB:
شناسه DB مقدار
دستور DB یا Define Byte برای تعریف داده های ۱ بایتی مورد استفاده قرار می گیرد. مقادیری که این نوع داده می تواند به خود بگیرد به این صورت است که اگر عدد بدون علامت باشد بین ۰ تا ۲۵۵ خواهد بود. اعداد منفی ۱۲۸- تا ۱- نیز در یک بایت ذخیره می شوند، اما به اعداد منفی ۲۵۵- تا ۱۲۹- یک کلمه اختصاص می یابد ولی بایت باارزش آن نادیده گرفته خواهد شد. در دستور DB در زبان اسمبلی می توان مقادیر کاراکتری و رشته ای را نیز تعریف کرد که برای این منظور می توان از علامت نقل قول یکانی یا علامت نقل قول دوتایی استفاده کرد. به دستورات زیر توجه کنید.
P1 db ۰ ;value is 0
P2 db -۱۲۸۰ ;value is 80
P3 db ۲۵۵ ;value is FF
P4 db +۹۱ ;value is 5B
P5 db ۰۱۱۱۱۱۰۱B ;value is 7D
P6 db ۱,۵,۲ ;value is ۱ , ۵ , ۲
P7 db ‘a’ ;value is 61
P8 db “ab” ;value is 61 , 62
تعریف داده با دستور DW:
شناسه DW مقدار
دستور DW یا Define Word برای تعریف داده های یک کلمه ای یا همان ۲ بایتی مورد استفاده قرار می گیرد. مقادیری که این نوع داده می تواند به خود بگیرد به این صورت است که اگر عدد بدون علامت باشد بین ۰ تا ۶۵۵۳۵ خواهد بود. اعداد منفی ۳۲۷۶۸- تا ۱- نیز در یک کلمه ذخیره می شوند، اما به اعداد منفی ۶۵۵۳۵- تا ۳۲۷۶۹- چهار بایت اختصاص می یابد ولی دو بایت باارزش آن نادیده گرفته خواهد شد. در دستور DW در زبان اسمبلی می توان مقادیر کاراکتری و رشته ای را نیز تعریف کرد که در این صورت کاراکتر مورد نظر در بایت کم ارزش قرار می گیرد و بایت با ارزش آن ۰ خواهد شد برای رشته ها هم رشته مورد نظر حتما باید دو کاراکتر باشد. به دستورات زیر توجه کنید.
W1 dw -۳۲۷۶۸ ;value is 8000
W2 dw ۶۵۵۳۵ ;value is FFFF
W3 dw -۱۰۰۰۰ ;value is D8F0
W4 dw ۴۰۰ ;value is 190
W5 dw ‘a’ ;value is 0061
W6 dw “ab” ;value is 6261
تعریف داده با دستور DD:
شناسه DD مقدار
دستور DD یا Define Double word برای تعریف داده های ۴ بایتی مورد استفاده قرار می گیرد. مقادیری که این نوع داده می تواند به خود بگیرد بین ۰ تا ۰FFFFFFH خواهد بود. به دستورات زیر توجه کنید.
D1 dd ۲۱۴۷۴۸۳ ;value is C49B
مثال کاملی از آموزش انواع داده ها در زبان اسمبلی:
stkseg segment stack
db 32 dup(“stack”)
stkseg ends
dataseg segment para ‘data’
P1 db ۰ ;value is 0
P2 db -۱۲۸ ;value is 80
P3 db ۲۵۵ ;value is FF
P4 db +۹۱ ;value is 5B
P5 db ۰۱۱۱۱۱۰۱B ;value is 7D
P6 db ۱,۵,۲ ;value is ۱ , ۵ , ۲
P7 db ‘a’ ;value is 61
P8 db “ab” ;value is 61 , 62
W1 dw -۳۲۷۶۸ ;value is 8000
W2 dw ۶۵۵۳۵ ;value is FFFF
W3 dw -۱۰۰۰۰ ;value is D8F0
W4 dw ۴۰۰ ;value is 190
W5 dw ‘a’ ;value is 0061
W6 dw “ab” ;value is 6261
D1 dd ۲۱۴۷۴۸۳ ;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
مشاهده ویدئو در این باره
عالی بود . زنده باد اسمبلی