قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

   

sskk77
:: مهندس متميز ::
تاريخ التسجيل: Jan 2005
المشاركات: 711
نشاط [ sskk77 ]
قوة السمعة:
قديم 11-07-2013, 06:02 PM المشاركة 113   
افتراضي



السلام عليكم
هذا هو الدرس الخامس من تعليمات الاسمبلي
http://www.4shared.com/rar/eNnsGlGa/_5_online.html

اعلانات

الصورة الرمزية Sallam
Sallam
:: مهندس متميز ::
تاريخ التسجيل: Mar 2006
الدولة: Syria
المشاركات: 515
نشاط [ Sallam ]
قوة السمعة:
قديم 12-07-2013, 01:47 AM المشاركة 114   
افتراضي


شكرا على الدرس الجديد ويبدو أنه يحتوي على معلومات كثيرة

أشكر تعبك وأنا بصدد دراستها وفهمها وان شاء الله سأقوم بتقديم الواجب المطلوب

مع كل التقدير والشكر الجزيل

اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )

الصورة الرمزية soukdok
soukdok
:: مهندس متواجد ::
تاريخ التسجيل: Sep 2012
المشاركات: 155
نشاط [ soukdok ]
قوة السمعة:
قديم 12-07-2013, 07:59 AM المشاركة 115   
افتراضي


جاري التحميل والقراءة شكرا أستاذنا العزيز,بمناسبة ذكرت في الدرس الأول بأن مجموع تعليمات أسمبلي 35 تعليمة فقط,هل ماقلته: يخص البيك فقط أم حتى المعالج الذي أعمل عليه الاْن(microprocisseur intel).


sskk77
:: مهندس متميز ::
تاريخ التسجيل: Jan 2005
المشاركات: 711
نشاط [ sskk77 ]
قوة السمعة:
قديم 12-07-2013, 09:55 AM المشاركة 116   
افتراضي


جاري التحميل والقراءة شكرا أستاذنا العزيز,بمناسبة ذكرت في الدرس الأول بأن مجموع تعليمات أسمبلي 35 تعليمة فقط,هل ماقلته: يخص البيك فقط أم حتى المعالج الذي أعمل عليه الاْن(microprocisseur intel).
أهلاً بك أخي العزيز soukdok
عنوان الموضوع الرئيسي هو (دورة اسمبلي لبرمجة الميكرو شيب)
فالدورة تخص الميكرو شيب وما نذكره هنا لا ينطبق على اي نوع من العالجات غير الميكرو شيب ربما يكون هناك بعض التشابه في بعض التعليمات لكن هذا لا يعني انه ينطبق عليه الكلام فلكل نوع من العالجات طريقة للبرمجة وتعليمات تخصه


الصورة الرمزية soukdok
soukdok
:: مهندس متواجد ::
تاريخ التسجيل: Sep 2012
المشاركات: 155
نشاط [ soukdok ]
قوة السمعة:
قديم 12-07-2013, 08:01 PM المشاركة 117   
افتراضي


أهلاً بك أخي العزيز soukdok
عنوان الموضوع الرئيسي هو (دورة اسمبلي لبرمجة الميكرو شيب)
فالدورة تخص الميكرو شيب وما نذكره هنا لا ينطبق على اي نوع من العالجات غير الميكرو شيب ربما يكون هناك بعض التشابه في بعض التعليمات لكن هذا لا يعني انه ينطبق عليه الكلام فلكل نوع من العالجات طريقة للبرمجة وتعليمات تخصه
مفهوم,شكرا لك


sskk77
:: مهندس متميز ::
تاريخ التسجيل: Jan 2005
المشاركات: 711
نشاط [ sskk77 ]
قوة السمعة:
قديم 13-07-2013, 01:47 AM المشاركة 118   
افتراضي


ما رأيكم ياشباب
هل نتابع أم ننتظر قليلاً


الصورة الرمزية Sallam
Sallam
:: مهندس متميز ::
تاريخ التسجيل: Mar 2006
الدولة: Syria
المشاركات: 515
نشاط [ Sallam ]
قوة السمعة:
قديم 13-07-2013, 02:30 AM المشاركة 119   
افتراضي


[QUOTE=sskk77;770031]ما رأيكم ياشباب
هل نتابع أم ننتظر قليلاً[/QUO

شكرا لتعبك وصبرك ولكنني كنت أحاول بالمثال الذي طرحته حضرتك فكتبت الكود ولكنني عند المحاكاة لا اجد نتيجة بل تظهر لي الرسالة التالية وتتكرر لمئات المرات وهي :
[PIC16CORE]PC=0X0015 stack overflow excuting CALL instructions.

وهذا هو الكود يرجى ابداء الرأي والملاحظة لأعرف مكان الخطأ مع الشكر سلفا

STATUS EQU 3
TRISA EQU 85
PORTA EQU 5
TRISAB EQU 86
PORTB EQU 6

COUNTER1 EQU H'0C'
COUNTER2 EQU H'0D'
F EQU H'01'
W EQU H'00'
Z EQU H'02'


BSF STATUS,5
MOVLW B'00011111'
MOVWF TRISA
MOVLW B'00000000'
MOVWF PORTB
BCF STATUS,5

CLRF PORTB
CLRF COUNTER1
CLRF COUNTER2



START BTFSC PORTA,0
GOTO UPNUM

BTFSC PORTA,1
GOTO DNNUM

UPNUM INCFSZ COUNTER1,F
CALL TAB
MOVWF PORTB

DNNUM DECFSZ COUNTER1,F
CALL TAB
MOVWF PORTB

GOTO START

TAB ADDWF Z,F
RETLW B'11000000'
RETLW B'11111001'
RETLW B'10100100'
RETLW B'10110000'
RETLW B'10011001'
RETLW B'10010010'
RETLW B'10000010'
RETLW B'10000000'
RETLW B'10010000'

END

بالتوفيق


sskk77
:: مهندس متميز ::
تاريخ التسجيل: Jan 2005
المشاركات: 711
نشاط [ sskk77 ]
قوة السمعة:
قديم 13-07-2013, 04:15 PM المشاركة 120   
افتراضي


[quote=Sallam;770053]
ما رأيكم ياشباب
هل نتابع أم ننتظر قليلاً[/QUO

شكرا لتعبك وصبرك ولكنني كنت أحاول بالمثال الذي طرحته حضرتك فكتبت الكود ولكنني عند المحاكاة لا اجد نتيجة بل تظهر لي الرسالة التالية وتتكرر لمئات المرات وهي :
[PIC16CORE]PC=0X0015 stack overflow excuting CALL instructions.

وهذا هو الكود يرجى ابداء الرأي والملاحظة لأعرف مكان الخطأ مع الشكر سلفا

STATUS EQU 3
TRISA EQU 85
PORTA EQU 5
TRISAB EQU 86
PORTB EQU 6

COUNTER1 EQU H'0C'
COUNTER2 EQU H'0D'
F EQU H'01'
W EQU H'00'
Z EQU H'02'


BSF STATUS,5
MOVLW B'00011111'
MOVWF TRISA
MOVLW B'00000000'
MOVWF PORTB
BCF STATUS,5

CLRF PORTB
CLRF COUNTER1
CLRF COUNTER2



START BTFSC PORTA,0
GOTO UPNUM

BTFSC PORTA,1
GOTO DNNUM

UPNUM INCFSZ COUNTER1,F
CALL TAB
MOVWF PORTB

DNNUM DECFSZ COUNTER1,F
CALL TAB
MOVWF PORTB

GOTO START

TAB ADDWF Z,F
RETLW B'11000000'
RETLW B'11111001'
RETLW B'10100100'
RETLW B'10110000'
RETLW B'10011001'
RETLW B'10010010'
RETLW B'10000010'
RETLW B'10000000'
RETLW B'10010000'

END

بالتوفيق
أخي العزيز هذا الكود تم تحويله الى هكس وهو صحيح بالنسبة لكتابة التعليمات فهذا يدل على أن الخطأ عند في برنامج التحويل
لكن هناك أخطاء منطقية فهو لن يقوم بالعد صعوداً ونزولاً دقق انت الكود وحاول ان تكتشف الأخطاء
وهنا أحب أن أبين أمراً عن الأخطاء
فهناك أخطاء إملائية وأخطاء منطقية
الأخطاء الإملائية وهي الخطأ في كتابة التعليمة كأن تزيد عليها او تنقص من حروفها او نسيان جزء من اجزائها ومثل هذه الأخطاء يكشفها برنامج التحويل ويدلك عليها
لكن الأخطاء المنطقية هي أوامر مكتوبة بشكل صحيح لكن ليست هي التعليمات المناسبة فتكون النتيجة عمل صحيح ونتيجة غير المطلوبة
مثال من احد الأخطاء عندك في هذا الكود
انظر الى القسم الذي كتبته انت للصعود انه سينفذ الصعود لكن سيقوم بالنزول مرة اخرى لأن المعالج سيقرأ تلك الأسطر فتجبره على النقصان لا يوجد عزل بين الكودين الصعود والنزول
وهناك أخطاء أخرى اترك الأمر لك لتجدها
سأقوم في ما بعد بوضع كود يقوم بهذه المهمة ليستفيد منه الجميع في حال فشل الجميع
لكن الآن حاولوا في ايجاد الكود الصحيح


التعديل الأخير تم بواسطة : sskk77 بتاريخ 13-07-2013 الساعة 04:19 PM


الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 07:23 AM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)