عبدالله ناشب نشر 2 أكتوبر 2015 أرسل تقرير نشر 2 أكتوبر 2015 السلام عليكم ورحمة الله وبركاتة ممكن مساعدتكم هذا الواجب في الصور أرجو حله لي بلغة أسمبلي (نظامDos) وجزاكم الله خير. اقتباس
0 هشام رزق الله نشر 3 أكتوبر 2015 أرسل تقرير نشر 3 أكتوبر 2015 لست خبيرا في الأسمبلي لكن لدي معرفة ببعض أساسيات البرمجة باستخدامها، لذلك قمت بالبحث في عدة منتديات أجنبية عن الحل فوجدت هذه الشيفرة البرمجية:data segment num db -3,1,-5,6,-7,9,'#' p_cnt db 0h n_cnt db 0h data ends code segment assume ds:data,cs:code start: mov ax,data mov ds,ax lea si,num main: cmp num[si],0h jg pos inc si add n_cnt,01h cmp num[si],'#' je exit jmp main pos: add p_cnt,01h inc si cmp num[si],'#' je exit jmp main exit: mov bl,p_cnt mov cl,n_cnt mov ax,4c00h int 21h code ends end startسيقوم هذا البرنامج باختبار كل رقم على حدة وسيضيف +1 إلى p_cnt إذا كان الرقم موجب وسيضيف +1 إلى n_cnt إذا كان الرقم سالب، وبعد ذلك سيقوم بطباعة الناتج على شاشة الحاسوب.ملاحظة: سيتوقف البرنامج عند وصوله إلى رمز #وجدت أمثلة أخرى مثل هذه:MOV AX, DATA MOV DS, AX MOV CL, 05 XOR BL, BL XOR DL, DL LEA SI, SERIES NEXT2: MOV AL, [SI] SHR AL, O1 JNC NEXT1 INC BL JMP NEXT3 NEXT1: INC DL NEXT3: INC SI DEC CL JNZ NEXT2 MOV POS, DL MOV NEG, BL END في العادة ستكون شيفرات اختبار نوع الرقم (سالب أو موجب) مشابهة لهذه:cmp eax, 0 jl isNegative ;or test eax, 0x80000000 jne is_signed ;or test eax, eax js signed ;or test al, al js is_signed ; or test eax, 80h jne is_signedالمصادر 1 2 3 1 اقتباس
0 عبدالله ناشب نشر 3 أكتوبر 2015 الكاتب أرسل تقرير نشر 3 أكتوبر 2015 جزاك الله خير اخي هشام وجعلها الله في موازين حسناتك. اقتباس
السؤال
عبدالله ناشب
السلام عليكم ورحمة الله وبركاتة ممكن مساعدتكم هذا الواجب في الصور أرجو حله لي بلغة أسمبلي (نظامDos) وجزاكم الله خير.
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.