PDA

View Full Version : نحوه کار با آرایه در اسمبلی



php_love
شنبه 14 اردیبهشت 1392, 12:12 عصر
سلام دوستان

میشه تو قالب یه مثال ساده نحوه کار با آرایه ها در اسمبلی رو آموزش بدید . اگه مثالش این باشه که عالیه . برنامه ای که یک آرایه 5 عنصری از نوع word تعریف کرده و آن را از طریق ورودی مقدار دهی کند .

با تشکر

بهروز عباسی
شنبه 14 اردیبهشت 1392, 15:29 عصر
Arrays in Assembly Language (http://www.cs.uwm.edu/classes/cs315/Bacon/Lecture/HTML/ch12s04.html)

php_love
شنبه 14 اردیبهشت 1392, 15:50 عصر
عزیز میشه به فارسی توضیح بدین

php_love
دوشنبه 16 اردیبهشت 1392, 02:52 صبح
دوستان من به این تمرین خیلی احتیاج دارم . اصلا با نحوه کار با آرایه در اسمبلی هیچ اطلاعاتی ندارم . اگه میشه یه مثاله کوچیک بزنید و این مبحث رو آموزشی بدید .

بازم ممنون

m.j_banitaba
دوشنبه 16 اردیبهشت 1392, 05:56 صبح
آرایه یک مفهوم در برنامه نویسی است . که به این معنا هست که ساختار داده ای با اندازه ثابت و داده مستقل در حافظه تکرار شده است . یک آرایه در حافظه با سه مقدار مشخص می شود آدرس شروع،طول هر واحد ، حداکثر تعداد.آدرس شروع هر خانه به شکل زیر می باشد:


آدرس خانه=آدرس شروع آرایه+اندیس خانه*طول هر خانه

php_love
دوشنبه 16 اردیبهشت 1392, 20:00 عصر
سلام

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

با تشکر

php_love
سه شنبه 17 اردیبهشت 1392, 21:33 عصر
سلام

برنامه ای نوشتم که 10 عدد رو در آرایه num‌ ذخیره می کنه و بعد تک تک عناصر آرایه رو چاپ می کنه - فکر می کنم الگوریتم کار درست باشه - اما تو خروجی عناصر آرایه مقادیری نیست که من به آرایه نسبت دادم - فکر می کنم تو ایندس گذاری آرایه مشکل داره . میشه بگید مشکل از کجاست ممنون



cr EQU 0dh ; carriage return character
Lf EQU 0ah ; line feed
.DATA ; reserve storage for data
prompt BYTE "Enter your numbers : ", 0
string WORD 40 DUP (?)
num WORD 11 DUP (?)
result WORD 11 DUP (?)
BYTE cr, Lf, 0
.CODE
_start:
mov ecx, 10
lea ebp, num
l1 :
output prompt
input string, 40
atod string
mov [ebp], eax
add ebp, 2
loop l1

mov ecx, 10
lea ebp, num
l2 :
mov eax, [ebp]
dtoa result, eax
output result
add ebp, 2
loop l2

INVOKE ExitProcess, 0
PUBLIC _start
END