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

من كثر ما فكرت .....حسيت اني افهم لغز غريب ؟؟؟؟

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

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

اخواني ..اولااااا اشكر القائمين على هذا القسم ..(( قسم الأسمبلي )) واتمنا لهم التوفيق

ندخل الموضوع بلاش مجاملااااات ههههههههههههههههه المهم

الان الكل يعرف ....

A بتساوي بالشيفرة الثنائية 01000001

كذا حلووو .... طيب الان الكثير يعرف ان مكونات الحاسب يتفاهم مع هذه الارقام 01000001 الي هي شيفرة A

وكذلك نعرف انها تعني نبضات كهربائية ... on of of of of of on of

السؤال هنا ...اشلون فهمها بهذه الطريقة ...يعني اشلون جعها تفهم كذا تحت ..تفهم انها حرف A

لا احد يقول ما فهمنا وش تبي توصل له ...انا اقلك وش ابي اوصل له ؟؟؟

الان عندك جهاز اشلون تعطيه هذه الاشارات On Of على حسب الي تبي ..بحيث تكون على تفكيرنا بانها ارقام ثنائية ....

كيف تصير مثل هذه الأمور ؟؟؟؟؟

ارجوووو ان احد يوضح لي هذه العمليه كيف . يعني وش الشي الي يسويه ..حتى يجعل الامر يكون مثلاا OF OF ON ON.؟؟

#2

بخصوص النقطة الأولى,

اقتباس
طيب الان الكثير يعرف ان مكونات الحاسب يتفاهم مع هذه الارقام 01000001 الي هي شيفرة A

وكذلك نعرف انها تعني نبضات كهربائية ... on of of of of of on of

السؤال هنا ...اشلون فهمها بهذه الطريقة ...يعني اشلون جعها تفهم كذا تحت ..تفهم انها حرف A

الكومبيوتر ما يعتبرها "A" ولا يفهم انها "A"

انت تكتب كود يتفرض ان الرقم 0100001 هو 'A', يعني لما تكتبه على الشاشة تكتبها على شكل حرف A, مثلا ..

#3

on = high / off = low

on تمثل بشحنة قدرها 5فولت والاخرى بشحنة 0 .. هل هذا ما تبحث عنه.. وهل يوجد سؤال اخر ضمن الكلام السابق, منقحي توقف عن العمل منذ الساعة 5 صباحا!

Do as I say, not as I do

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

#4

سؤال الأخ صعب ... وأنا دائماً يأتيني مثل هذا التساؤل

ربما لأنـه سؤال فلسفي

#5

اعتقد ان الـ 1 هي عادة 12 فولت و الـ 0 هي 5 فولت ... no؟

#6

اشكركم ..على التجاوب .....

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

انا قائل لك نعلم ..انه عند الضغط على حرف A من الكيبورد ...انه يتعامل معها على انها ثلاثي ..يتم معالجتها ... من هناك ...وتظهر على الشاشة .. حرف A

الأ خ \ Xacker

جميل يبدووو انك بديت تفهم وش المقصود ....

انا اوضح لك ما هو السؤال ؟؟؟

الان انت اعطيت جهاز مربع الشكل اوكيه .... يوجد على سطح عشرة ازرار ...... طلب منك انك تجعل لك زر خاصيه ...

يعني فيه زر بهذا الشكل ^-^ بحيث مجرد اذا ظطت عليه ..يعطيك على الشاشة اسم Xacker

اقرأ لا تستعجل لم انتهي .... انا اعرف انها لغة برمجة مجرد اضغط على زر ^-^ يظهر لي Xacker

هنا المهم ::

اشلون جعلت مجرد اظغط على الزر البلاستيك ..ويعطي شحنه كهربائية ويظهر لي بالاخير Xacker

يعني كيف انا اقوم بتحديد الشحنات ... ؟؟؟

يعني افترظ ان شيفرة ^-^ تساوي 110001 افهم انه قدر الشحنات مجموعها 15 فولت ..

انت قلت لي يا Xacker انها الاوف تساوي صفر فولت وان الواحد تساوي 5 فولت ...

طيب كيف انا اقوم بتحديد مثل هذه الشحنات ..حتى اجعلها يفهمها بهذا المنطق ؟؟

اتمنا انك فهمتني ....

#7

أنا لاأعرف في لغة الآلة ولا شيء لكن راح أتكلم بالمنطق ولايوجد به أي كلام مصدري سوا الأساسيات البسيطة يعني ممكن كلامي صح أو خطأ ولكنه قد يفك عقدت البعض من الموضوع

1- الجهاز مكون من وحدات بناء وأحنا الآن يهمنا لوحة المفاتيح والمعالج وكرت الشاشة

2- سنقوم بتعريف لماهو عمل كل قطعة من القطع السابقة :

1- لوحة المفاتيح : وطريقة عملها هو أنها تضهر لك حروف ورموز مترجمة وحين ضغطك على حرف ما فإنها تقوم بإرسال وحدات باينري وليست أحرف حقيقية مثال حين أضغط على الحرف A مثلا فإنه يرسل الرمز 01000001 وكذلك فإنه فور وصول البيانات إلى المنفذ فإنه يتم مثلا إضافة تعريف للمكان الذي جاءت منه مثلا 10010010

2- المعالج : المعالج هو لعمل إعادة تنضيم للوحدات التنائية وهو أصلا لايستقبل سواها وذلك عنطريق توزيعه للبيانات / وهو معرفة فيه عدة نقاط مثلا من أين جاءت البيانت فمثلا أنه يعرف فيه أن أول 8 وحدات تأتي للمعاج فإنها تشير إلى المكان القادم منه مثلا إذا كانت البيانات قد جاءت من لوحة المفاتيح فإنه ستكون أول ثمان خانات هي 10010010

3- كرت الشاشة : وهو يحتوي على معالج يقوم بتحويل الوحدات الثنائية إلى الشكل الذي يناسب الشاشة ومن ثم إرساله لها

الآن وبعد معرفة قواعد تصورية دعنا نعمل مثال إفتراضي :

1- سنفرض أن الرقم الثنائي لـ A هي 01000001 ولنفرض أن تعريف بيانات الكيبورد هي 10010010 الآن لنبدا تجربتنا الإفتراضي

الآن لنبدأ :

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

#8

انا حوضحلك مفهوم بس الله اعلم ايه الحقيقة

هل انت متخيل ان الكمبيوتر والاسلاك تستطيع فهم 0 او 1

------------------------

لا طبعا

------------------------

المعالج مثبت بداخله ان كل اشارة كبرباء او نبضات او عدد من النبضات تساوى امر

---------------------------------------------------------

اشارة كهربا للطباعة حرف A مثلا تساوى 01000100 المسجلة داخل المعالج

--------------------------------------------------------

هذه بيانات مسجلة على المعالج :

" بان كل اشارة كهرباء او ليزر لها تعليمة من 0 او 1 لتنفيذ مهمة معينة وكل تعليمة من 0 او 1 لها تعليمة مقابلة الى الاسمبلى"

يعنى :

------------------------------------------

اكواد الاسمبلى :

مجرد تعليمات من 0 او 1

===================

-------------------------------------------

اكواد لغة السى :

مجموعة تعليمات اسمبلى

===========================

المهم :

الشركات

يقوموا بدال ما المبرمج

يحتاس ويدوخ نفسه فى اشارات الكهرباء

فعمله على مااعتقد انها

كل كام مجموعة صفر واحد 0001110 تمثل اشارة

هذه الاشارة نسميها " خدمة او امر او ماكرو "

المهم انا عاوز اقولك ان الكمبيوتر نفسة مش بيفهم الصفر والواحد بحد ذاتهم بس تم تصميم لغة خاصة بالمعالج عشان احنا المبرمجين نستخدم لغات يتم تحويلها الى المعالج

الى ان تاتى لغة برمجة جديدة تتحول الى اشارت كهربائية تنفذ نفس الغرض الذى ينفذه الاوامر 001100 بدل ما تترجم الى 011001

اتمنى ان تكون الفكرة وصلت

_____________________________

C Language && Windwos_API

_____________________________

#9

hamada hassan ali

اشكرك ياخي ..... انت شرحت الذيي كن ابيه ...يعني انت فهمت سؤالي ..واشكر الأخوان ...

بس هنا نقطه مهمه .....هل اذا عندك عدت اسالك صغيرة الحجم ...وشرائح ....وتوصيلات ...

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

هل اقدر احدد شحنه لها الزر بحيث ...اجعهل مجرد اضغط عليه ..يطلع لي اي حرف او كلمه انا احددها ....وهي تكون بطريقه المعروفه اننا نفهمها كبرمجين انها عن واحدات واصفار

هل لي القدره ... بتحديد الشحنات لهذا الزر ..حتى يفهم ماذا اريد ..وبعدها اقوم بعملية برنامج بالاسمبلي واحدد له الاظهار

انا ابي الزر خصوصي ..يعني احدده انا ..... اوصل المعلومه ...( مثل اني اقوم بصناعة جهاز صغير ... فيه زر واحد فقط ..يعني بدائي ..وانا اقوم بتفعيل الشحنات له ) هل لي القدرة ؟؟

#10

الى هنا لا استطيع الكلام فى شحن الكهرباء ان فهمتك العملية بس لكن انت باء تبحث عن التعامل مع الكهرباء

ياراجل حرام عليك باء عندك لغة الالة اللى منها ممكن تبرمج البروسيسور انت عاوز تبرمج بالاشارت الكهربئية نفسها

على العمو من ناحية تقدر تقدر

انت تعمل شحنة كهرباء

بص هما المطورون صممه الاجهزة باستخدام الاسلاك وكل نبضة كهرباء تساوى خدمة

اذا كان هما عملوها انت مش حتعرف

اكيد ممكن تصمم جهاز صغير وانت اللى تتحكم فى خدماته عن طريق ارسال الاشارات بس لازم تفهم كويس جدا كيفية التعامل مع المنافذ والداخل والخارج

اشارات داخلة و اشارات خارجة

الداخل مطلوب

الخارج نتيجة

ما ينفعك على ما اعتقد هو علم الاليكترونيات

تم تعديل هذه المشاركة بواسطة hamada hassan ali في 11 نوفمبر 2005 في 21:30

_____________________________

C Language && Windwos_API

_____________________________

#11

شكراللجميع....

و أنا لست العبقرينو الذي سيتخطى أحد!!

ولكن ربما بسط الفكرة كما أراها.....

أرجوك اقرا كلامي للآخر ولا تستعجل...

طبعا أناأفترض أنك لا تعرف عن الدوائر المنطقية...

أولا: مسألة اللوح الاكتروني:

اللوح معروف وتسري فيه كهرباء محددة لأنه لا يتحمل أكثر من 5 فولت كفرق جهد و تيار معين...

اللوح يأخذ الكهرباء من المصدر وهو عادةيكون 110 أو 220 فولت..

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

التخيل: تخيل معي أن الكهرباء مثل الماء وأن اللوح الالكتروني هو عبارة عن مكان وفي داخله أنابيب تجري فيها المياه (الكهرباء)...

ثانيا: لكي نجعل مسار الماء ذا معنى ، يجب أن نمرره بطريقة بحيث نستطيع أن نكون شيئا منطقيا منها...

ثالثا: معروف أن المنطق يعرف ثلاث أشياء وهي:( صح ، خطاء ، لايهم)...ولقد اصطلحنا أن الـ"صح" هو عبارة عن تيار مفتوح أو ماء جاري وهو مايعرف بالفولت العالي..وإذا اقفلنا المحبس تحبس الكهرباء وهي المياه ومن ثم نكون فرق جهد صفر تقريبا أو مايعرف بالجهد المنخفض (وليس شرطا أن يكون يكون من 0 إلى 5 ولكن هذا المشهور) ...

رابعا: الآن توجد هناك وحدات كهربائية توصل الكهرباء تعرف بالبوبات الإلكترونية المنطقية Logical Gate ...

هذه البوابات تكون ما يعرف بالمنطق وجميع عمليات الحساب تتم بها وهي كالتالي ( "و and" , "أوOR" , "النقيضcontradict")...

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

خامسا: المعالج يحوي وحدة تدعى وحدة الحساب المنطقي : وهي وحدة مسؤولة عن الحساب وتقوم بالعمليات بناء على الجمع...بواسطة شيء يعى الجامع Adder...

دعني أرسم لك جامع صغير تصنعه في بيتك لو أردت ، يجمع رقمين كل واحد منهم مكون من خانة واحدة (_ ) لا حظ أن خانة واحدة تحمل أرقام (1 أو 0)...

والعمليات الممكنة هي:

0 + 0 = 0 (صفر عشري)

1 + 0 = 1 (واحد عشري)

0 + 1 = 1 (واحد عشري)

1 + 1 = 10 (إثنان عشري)

لاحظ أحتاج أن يكون عندي الناتج من خانتين لأن العدد إثنان عشري يحتاج إلى خانيتن لتمثيله بالثنائي..

.............................................

الآن أحضر القطع الالكترونية التالية من محل الإلكترونيات:

- بوابة "أو" OR Gate

- بوابتين من فئة "و" And Gate

- بوابة من فئة "النقض" Not Gate...

ووصلهم بأسلاك على هذا الشكل :

HalfAdder.jpg

لا حظ أنك تقرأ من اليسار إلى اليمين وأن كل بوابة مدخلها من اليسار وناتجها إلى اليمين....

ولكي أجمع العدد 1 + 1 و يعطيني الناتج 2 عشري...سيكون كالتالي:

الخانة الأولى [(A and B) and Not (A Or B)]

الخانة الثانية (A and B)

ولو عوضنا في المعادلة المنطقية :

الخانة الأولى
[(A and B) and Not (A Or B)]
= [ X and not Y]
	ولو افترضنا أن
	x = (A and B) --> (1 and 1) -->1
	و أن
	Y = (A or B) --> (1 Or 1) --> 1
= [ 1 and not 1] = 0


الخانة الثانية
(A and B) = (1 and 1) = 1


النهاية 
1 + 1 = 10

سادسا:و أخيرا...

أريدك أن تفهم شيء مهم وهو الجواب على سؤالك..

هو أن المعالج لا يعرف مامعنى 1 أو 0 أو 2 ولكننا رصصنا هذه البوابات واعطتنا هذا الناتج

لا حظ أنك لو وصلت A و B بكهرباء ومررتها في السلكين السلك الناتج الأول(الخانة الأولى) لايعطيك كهرباء وسلك الناتج الثاني (الخانة الثانية) تعطيك كهرباء وهذا يعني أنك حصلت على رقم واحد في هذا السلك وبالتالي مجموع الأسلاك الناتجة تعطيك 10 وهو ما نصطلح عليه برقم اثنين بالعد العشري...

لعمل الحروف التي أردتها نستطيع أن نمثل كل حروف الآسكي ASCII فقط بثمانية أسلاك موصل بعضها بكهرباء والبعض بدون ليمثل لنا الحرف الذي أردنا..

ولن يفهم الحاسب معناها في يوم من الأيام...

فنحن نعطيه ونحن نأخذ ونفهم...

طبعا ماتراه الآن في الحاسب هو عبارة عن طبقية معقدة من الطبقات من المادة والبرامج Harware and Software

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

وبذلك نستطيع اظهار كل شيء بالطريقة التي نراها A BCD...

و هذه الأشياء لأنها طبقات كل طبقة أعلى من الثانية وتخدم التي فوقها

لذلك يصعب شرح العملية من الأول للآخر...

ولكن أظن أن الآن العمل أوضح إليك تقريبا...

ويجب أن تدرس عدة مواد لكي تفهم أغلب هذه الأشياء..

وإذا أردت البداية الآن إقرا كتاب في الدوائر المنطقية

وأي أسئلة أنا حاضر...

تم تعديل هذه المشاركة بواسطة Xacker في 12 نوفمبر 2005 في 06:14

لماذا تكون الليغو اللعبة الأكثر عبقرية في العالم؟

لأنها غير قابلة للتجزئة ، وتختلف فيما بينها بالألوان و الأشكال ، وتمتلك القدرة على تكوين علاقات مع بعض. نستطيع أن نقول أن أجزاء الليغو أبدية. وهي تشبه الذرات في تراكيبها للكون

-----

وائل بن أحمد كابلي

مستشار تطوير برمجيات | مايكروسوفت للخدمات الاستشارية

MCSE | MCTS SharePoint Infrastructure | MCTS SharePoint - Development | MCP | MSF Essentials

http://blogs.msdn.com/wael

@waelkabli

#12

لا تعليق

MEMONONO

الدرجة : امتياز فى الفلسفة و المنطق

تم تعديل هذه المشاركة بواسطة hamada hassan ali في 12 نوفمبر 2005 في 01:48

_____________________________

C Language && Windwos_API

_____________________________

#13

جزاك الله خير MEMONONO

فعلااااا كلامك بعد ان راجعت عدت كتب وجدت ميه ميه ...لم اتخيل نها كذا ...

لم اتوقع ان البوابات المنطقية ... مهمه للهدرجة ( المنطقي الرقمي ... جبر بول )))

بارك الله فيك .....

#14

من ألبدايه السؤال كان واضح انه استفسار عن طريقة العمل داخل الكمبيوتر باختصار أن الأخ لا يعرف الدوائر المنطقيه

والى المشاره رقم 10 كانت الاجابه بعيده وكنت ناوي أنقل الحاله عندنا في العياده :D لنه محتاج جرعة دوائر منطقيه مع العنايه المركزه

لكن MEMONONO الله يكرمه جاب انتيبايوتك وجه :lol: , شرح جميل فعلا

ملحوظه صغيره ,أكيد سهو

الخانه الاولى =

[(A or B) and not (A and B)]
وتكتب ايضا بهذا الشكل
[(A + B) * (A * B)\]
+ = or
* = and
\ = not

الخانه الثانيه =

A and B
A * B

الآن لو اختبرت المعادلات هذه مع الربع حالات للدخل تخرج قيم صحيحه

A = 0 , B = 0
A + B = 0
A * B = 0
ومنه خرج الخانه الاولى = 0
وخرج الخانه الثانيه = 0

ملحوظه : في دائرة and لو كان احد الدخل صفر يكون الخرج صفر بغض النظر عن باقي الدخل

وفي دائرة or لو كان احد الدخل الواحد يكون الخرج واحد بغض النظر عن باقي الدخل

A = 0 , B = 1
A + B = 1
A * B = 0 >>> (A * B)\ = 1
خرج الخانه الاولى = 1
وخرج الخانه الثانيه = 0
A = 1 , B = 0
A + B = 1
A * B = 0 >>> (A * B)\ = 1
خرج الخانه الاولى = 1
وخرج الخانه الثانيه = 0
A = 1 , B = 1
A + B = 1
A * B = 1 >>> (A * B)\ = 0
خرج الخانه الاولى = 0
وخرج الخانه الثانيه = 1

نقطة السهو لو لم تأخذ بالك كانت

[(A and B) and Not (A Or B)]

وما يترتب عليها أن الخرج دائما على الطرف الأول سيكون صفر

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

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