ورود

نسخه کامل مشاهده نسخه کامل : مرتب کردن یک آرایه به زبان اسمبلی ( با روش Indexing و Indirect)



aroosak_kooki
11-12-2008, 20:52
(فورییییییی)

سلام

برنامه ی مرتب کردن آرایه رو با دو روش Indexing و Indirect میخوام

يه توضيح كوچولو :
Indexing یا همون شاخص بندی همونطور که می دونید یعنی این که مثلا" از این ایندکس استفاده کنیم...



برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

و indirect یا همون غیر مستقیم هم یعنی این که از [BX] استفاده کنیم یا هر ایندکس دیگری بدون این که پشتش اسم بگذاریم...

فرض کنیم که آرایه هم این باشه ...



برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
خيلي خيلي ممنونم:11:

aroosak_kooki
13-12-2008, 23:42
يعني هيچ كس بلد نيست مرتب كردن يه آرايه رو به زبان اسمبلي ؟!!!

يه كمك كوچولو !!!!!

aroosak_kooki
20-12-2008, 14:12
سلام...

خوب گویا اینقدر این برنامه سخت بوده که کسی نتونست جواب بده !!!

عیبی نداره ...

خودم برنامه ای رو که وشتم و برای استادم فرستادم رو اینجا مینویسم...شاید این سوال خیلی های دیگه باشه .... پس مینویسمش و شما تصحیحش کنید اگر ایرادی داره ... تا به درد دیگران هم بخوره ...

ممنون :11:


این برنامه ی مرتب کردن آرایه با روش ایندکسه



برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


با روش غیر مستقیم رو هم نوشتم ولی فکر میکنم خیلی ایراد دشته باشه !!!



برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

skylarker
21-12-2008, 15:10
عالیه اسیسم ... :-*

aroosak_kooki
20-01-2009, 03:16
عالیه اسیسم ... :-*

چه فایده !!!

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

hoax3r
21-01-2009, 15:35
سلام

برنامه دومت یه چنتا مشکلش ایناس:

1 - عضوهای آرایه چون 2 بایتی هستن این دو دستور درست عمل نمیکنه

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

به جای 1 باید 2 بزاری که به عنصر 2 بایتی بعدی اشاره کنه

2 - شما مقدرا cx رو count - 1 دادین که میشه 9 بعد در این دستور cx رو با SI مقایسه کردین،

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

در حالی که مقدرا SI حاوی آدرس آرایه a هست و نباید یه آدرس رو یه مقدار ثابت عددی مقایسه کرد

شاد باشید

aroosak_kooki
22-01-2009, 21:06
ممنونم
منم دقیقا" مشکلم همین قسمت دوم بود ...
میدونستم که این دستور اشتباهه ولی نمیدونستم که برای مقایسه تو این روش که دیگه اندیس نیست باید چی کار کنم ...

چی باید جای این دستور بنویسم !!! می دونید ؟

hoax3r
22-01-2009, 23:59
خوب یه راه میتونه این باشه که یه ثبات دیگه رو هم در نظر بگیری مثل bx که هر بار یک واحد بهش اضافه کنی بعد با cx مقایسه کنی

parhizckarireza
15-12-2014, 15:15
قطعه برنامه زير آرايه N عنصری را بروش حبابي مرتب مي نمايد.
Bubble ; Sort
N DW ?
MOV CX , N
DEC CX
LOOP 1: MOV DI , CX
MOV BX , 0
LOOP2: MOV AX , A
CMP AX, A[BX+2]
JGE CONTINUE
XCHG AX, A[BX+2]
MOV A [BX] , AX
CONTINUE[B]: ADD BX,2
LOOP LOOP2
MOV CX , DI
LOOP LOOP1