بسم الله الرحمن الرحيم
أخواني مشرفي وأعضاء المنتدى الكرام أقدم لكم طريقة جديدة لتعلم اللغة وهي طريقة عملية وسهلة من خلالها إن شاء الله سنتعلم أغلب أموامر اللغة وهي بوضع أكواد برامج جاهزة مع شرحها ومناقشتها وتطبيقها ومن ثم نترك مجالا للسؤال فيها أتمنى من المشرفي والأعضاء التفاعل والمناقشة .. واعتقد أن هذه الطريقة تغرس فينا التعاون والتكاتف وتغرس فينا مفهو الteem هدفنا الإفادة والإستفادة والعمل إلى مافية صالح الامة نسأل الله أن يوفقنا لما يحبه ويرضاه.
وسنبداء بالبرامج البسيطة ومن ثم سنتدرج شيئاً فشيئا.
سأضع بينكم هذا البرنامج البسيط وهو لإدخال حرف واحد من الكيبورد وطباعته في نفس السطر
طريقة تنفيذ البرنامج وكتابته على الجهاز:
1- عليك بفتح أي محرر لكتابة الرنامج .
2- أحفظ الملف على إمتداد asm مثال:kk.asm
3- انقل الملف الى مجلد cpp\bin يختلف المسار في كل جهاز ضع الملف مجلد الbin وهذا النقل لتفادي مشاكل ال path ولإننا لسا في البداية.
4- افتح نافذة الدوس وأدخل على مجلد ال bin
5- أكتب الأمر التالي c:\cpp\bin\tasm kk.asm
6- ستظهر لك رسالة الأخطاء والتحذيرات إذاكان هناك خطا سيعطيك رقم اليطر الموجد فيه الخطاء
7- من ثم اذا لم يكن اخطاء اكتب الأمر التالي: c:\cpp\bin\tlink kk.obj
8- أخر خطوة ماعليك سوى كتابة اسم الملف فقط kk .
.model small ; SMALL من نوع MODEL أولا: نحدد ال .stack 100h ; 100H في الذاكرة وليكن STACK ثانيا : نحجز ال .data msg db "Enter any charcter :$" ; DB من نوع MSG نعرف المتغيرات .code main proc mov ax,@data ; AX حق المتغيرات ونحفضه في ال ADRESSنأخذ ال mov ds,ax mov ah,1h ; 1لإدخال حرف واحد من الكيبوردH الدالة int 21h mov ah,9h ;وذلك لعرض المسج STRING 9مخصصة لطباعة H الدالة mov dx,offset ms int 21h mov dl,al ;DL نحطه في ال AL الحرف الذي سوف تدخله سيختزن في الريجستر mov ah,2h ; 2لطباعة حرف واحد في الشاشة وهو الحرف الذي قمت بإدخالهH الدالة int 21h mov ah,4ch ;4CH لإنهاء البرنامج والعودة الى الدوس int 21h main endp ;proc لانهاء ال end main
إليكم إخواني مقدمة ميسرة وبسيطة عن لغة الاسمبلي فيها بعض المفاهيم ومبادي اللغة واسماء الريجسترات وكيفية كتابة البرنامج في الdebug وغيرها
في المرفقات
