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

سؤال في أحد أوامر الاسمبلي

مغلق
بدأه فارس2005 في 6 نوفمبر 2005 · 1 رد · 555 مشاهدة · في الميكروكنترولر (المتحكم) و الدوائر الرقمية و المنطقية
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

هناك اربعة أوامر لها لنفس الاداء في الانتقال من تعليمة الي أخر وهي

BTFSC, BTFSS, DECFSZ, INCFSZ وكما هو معروف هناك شرط اذا تحقق فانه يتم تجاوز الامر التالي والانتقال

مباشرتا للتعليمة ولكن عندي سؤال

لنقل هذا مثال بسيط

1. movlw 06h
2. movwf 0ch
3. clrw
4. btfsc 0ch,0
5. movlw 07h
6. movlw 09

كما هو واضح من المثال نعمل اختبار للبيت رقم 0 فاذا كان البيت رقم 0 = 0 فاننا نتجاوز التعليمة رقم 5 وننتقل الي التعليمة رقم 6

وان لم يتحقق الشرط نمر علي التعليمة رقم 5 . ولكن السؤال المطروح هل اذا لم يتحقق الشرط نمر علي التعليمة رقم 5 ثم رقم 6 ام يمر التنفيذ

علي السطر رقم 5 ثم يتم تجاوز السطر رقم 6 الي السطر رقم 7 ؟؟؟؟

#2

اذا لم يتحقق الشرط يمر على التعليمه رقم 5 ثم يمر على التعليمه رقم 6 , أي لا يغير شيء وكأن التعليمه رقم 4 غير موجوده

التعليمه رقم 4 وظيفتها تنفيذ التعليمه رقم 5 من عدمه بناء على الاختبار

في الغالب تكون التعليمه رقم خمسه أمر goto لتغيير مسار البرنامج الى نقطه اخرى

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

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