الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ارجو المساعدة في تحويل هذا الكود الى لغة الاسيمبلي؟؟

مغلق
بدأه samartoo في 13 يناير 2007 · 1 رد · 867 مشاهدة · في لغة Assembly لأنظمة 16, 32, 64 بت
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

اخواني ارجو المساعدة انا عندي كود يعمل sort ولكن بلغة C++ واريد تحويل هذا الكود الى كود مماثل له تماما بالاسيبلي

حاولت بس مو راضي يضبط معايه ..ارجوكك شوفوا الكود وقولوا وين الخطأ

for(int i=0;i<size;i++)
{
 for(int j=size-1;j>i;j--)
{
  if (array[j-1] > array[j])
 {   temp = array[j-1];
	 array[j-1]=array[j];
	 array[j]=temp;
 }

}

وهذي محاولاتي

mov edi,0
 L1:
   mov ecx,sizeA-4
   mov esi,sizeA-4		
   L2:
	cmp ecx,edi
	jbe L5
	mov ebx,array[esi]
	cmp ebx,array[esi-4]
	jbe L3
	xchg eax,[esi+4]
	mov [esi],eax
	L3:
	 loop L2
	L5:
 inc edi
	 cmp edi,sizeA
	 jae L1
	 jmp L4

  L4:ret
#2

السلام عليكم ورحمة الله وبركاته,

اتصور ان هذا يفي بالغرض, لم اختبره

.data
array	dw	20 dup (0)
size	dw	?

.code
; initialize "size" value first
mov	size, 0FFh
xor	ecx, ecx
mov	edx, size

_S:
cmp	cx, size
ja	_F
_B:
dec	dx
cmp	cx, dx
ja	@F
mov	ax, array[edx-1]
mov	bx, array[edx]
cmp	ax, bx
ja	@F
mov	array[edx], ax
mov	array[edx-1], bx
jmp	_B
@@:
inc	cx
jmp	_S
_F:

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…