وقتی از دستور loop استفاده میکنید باید قبلش ثبات cx را با مقدار مناسبی که قراره حلقه شما اجرا بشه، مقدار دهی کنید. در صورتی که شما در حلقه هایی که از دستور loop استفاده کردید مقدارهای len , len_acc , len_dep را مقدار دهی نکردید و به صورت مقدار نامشخص تعریف کردید که اسمبلر پیش فرض مقدار 0 قرار میده بنابراین حلقه شما اولین بار که اجرا بشه از 0 یکی کم میکنه و مقدار لوپ حلقه بع تعداد ff-ff بار اجرا خواهد شد و طبیعتا بعد از یک تعدادی که در آرایه ها نوشته بشه سیستم عامل هنگ میکنه ویا خطا تولید میکنهاول اینکه وقتی تا 7تا کاربر میگیره مشکلی نداره ولی از 8 به بعد دیگه روی صفحه نمایش هیچی چاپ نمیشه یه جورایی هنگ میکنه .
یک روش خوب برای مرتب سازی این هست که، در زمان دریافت عدد موجودی این اعداد را به صورت مرتب شده از بزرگ به کوچک در آرایه ذخیره کنید، اینطوری آرایه ای که دارید همیشه مرتب خواهد بود ونیازی نیست هربار پردازش جداگانه ای روی داده ها داشته باشیددوم اینکه نمیدونم چطور باید اطلاعات رو بر اساس موجودی مرتب کنم به صورت نزولی.
و اگر هم که بخواهید از یک الگوریتم مرتب سازی جداگانه برای آرایه مورد نظر استفاده کنید کافی است که آرایه را در یک حلقه با یک الگوریتم معتبر مثل Binary Sort , Bubble sort ,Quick sort,... استفاده کنید