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

مساعده في سؤالين ضروري ؟

مغلق
بدأه DataBase في 3 أغسطس 2004 · 5 رد · 702 مشاهدة · في لغة Assembly لأنظمة 16, 32, 64 بت
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

أخوانى اعضاء هذا الصرح التعليمي الرائع اشكر جهودكم الكبيرة في خدمة المستخدم

العربي ...

انا عضو جديد معاكم وهذه اول مشاركه لى هنا وان شاء الله تعالى لن تكون الاخيرة .

عندى سؤالين واتمنى ان اجد الحل لديكم ؟

السؤال الاول :- Read a digit and count numbers of ones in the binary

representation of the digit ?

يعني اذا ادخلنا الرقم 4 على سبيل المثال فان البرنامج سيطبع 1 واذا ادخلنا

13 يطبع 3 ... يقوم بتحويل العدد المدخل الى Binary System ويحسب

كم 1 موجود . 13= 1101b وهكذا .

السؤال الثاني : - Print the following message after changing to uppercase

every letter preceded by Space .

مثال عندنا هذه المسج : char db " My name is essa"$ a

فانها ستصبح My Name Is Essa .

علما ان الايعازات (Instructions ) تتضمن Shl Shr Cbw Sal Sar

اتمنى ان تكون الاجابه بسرعه لان موعد التسليم غدا .

اخوكم DataBase .

#2

السلام عليكم,

مرحبا بالأخ DataBase واتمنى أن تجد راحتك بيننا.

أعتدر لأني ليس بإمكاني كتابة البرامج الآن ولكن لقد سبق وأعطيت مثل هده البرامج في هدا المنتدى . فقد أعطيت مثالا يحول الأرقام إلى بايناري ومن ثم يمكن بسهولة حسب كم عدة مرات توجد فيه الوحدات كما أعطيت مثالا يحول الحروف من الصغيرة إلى الكبيرة.

أتمنى أن تجدها مفيدة وإلى اللقاء.

#3

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

أخى chik اشكرك على سرعة الرد على موضوعي ....

بالنسبه للسؤال الثاني لم اطلب التحويل من LowerCase الى UpperCase

فقط لاني اعلم ال Code لذلك وانما طلبت تحويل الاحرف الصغيرة التى تأتي بعد

ال Space الفراغ فقط وهذه هي فكرة السؤال .. كيف اعرف ان الفراغ في ال

Stings قد ظهر ثم احول الحرف الذي يلي الفراغ الى كبير .

بالنسبه للسؤال الثاني سوف ابحث عنه . ومشكوووور اخى .

#4

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

اولا اخي بالنسبة لسؤال عدد البتات التي قيمتها 1 في رمز معين يمكن حله بالشكل التالي:

الالغوريثم التالي:

1.ضع القيمة صفر في العداد (العداد المسؤول عن عدد البتات التي قيمتها 1)

2.استقبل رمزا من لوحة المفاتيح

3.نفذ ما يلي 8 مرات

3.1 . عليك تدوير القيمة الى جهة اليمين دورة واحدة

3.2 .افحص carry flag اذا كان cf=1 عندها اضف واحد للعداد

4.اطبع قيمة العداد

الحل:

mov cx,8

mov bh,0

mov ah,1

int 21h

sub al,30h

t1:ror al,1

jc t2

jmp t3

t2:inc bh

t3:loop t1

mov dl,bh

add dl,30h

mov ah,2

int 21h

#5

السلام عليكم

اقدم لك اقتراحا لحل السؤال الثاني

مرفق ملف

string1.asm

تم تعديل هذه المشاركة بواسطة afeef في 3 أغسطس 2004 في 23:28

#6

أرجو تغيير العنوان لكي يدل على محتوى المشاركة

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

===

صورة
صورة

حسابي في الفيس بوك
http://goo.gl/XIzwL

حسابي في تويتر
http://goo.gl/6p4e3

 

 
 

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

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