السلام عليكم
بارك الله فيك أخي ياسين ...وصلت فكرة المصفوفة.
لكنني لم أفهم معنى الكود التالي:
كود:
asm bsf STATUS, C ;
asm rlf portb ,1 ;
تقبل تحياتي.
|
طبعا تبقى مجرد فكرة.. لا تنسى انه بامكانك ايجاد حلول أخرى ابسط
هذا كود بالأسمبلي يمكنك استبداله بهذا السطر في السي:
(مع انها ترجمة غير دقيقة لكن سيؤدي نفس الوظيفة)
التعليمة rlf في الاسمبلي تعمل دوران للسجل portb بمقدار خانة واحدة نحو اليسار، وهذا ما نريد.. حتى ينتقل ال 0 ويشغل كل صف في الماتركس على حدى
التعليمة قبلها تضع في كل مرة 1 في بت ال CARRY BIT حتى تملئ الخانات الجديدة بالوحدات
في السي توجد الإزاحة:
هذه ازاحة نحو اليسار خانة واحدة لكنها تملئ البتات الجديدة على اليمين بالأصفار ..
اتركك تفهم الحل أعلاه بالسي
تحياتي,,