السلام عليكم ورحمة الله وبركاته
ممكن احد من الاخوة ان يشرحلي كيف تحويل الشفرة التالية الى اسيمبلي لانني جديد على هذه اللغة .
for(i=0;i<=4;i++)
{
Field = Field +Field[i+1]
}اعرف ممكن يكون سهل لكن على مبتدئ مثلي صعب شوي :)
السلام عليكم ورحمة الله وبركاته
ممكن احد من الاخوة ان يشرحلي كيف تحويل الشفرة التالية الى اسيمبلي لانني جديد على هذه اللغة .
for(i=0;i<=4;i++)
{
Field = Field +Field[i+1]
}اعرف ممكن يكون سهل لكن على مبتدئ مثلي صعب شوي :)
لست متواجد بشكل يومي
السلام عليكم,
سأعطيك هنا مبادرة وهي مكتوبة بطريقة جد بدائية حتى يسهل فهمه. وهنا أعتبر أن المتغير Field هو من نوع Word .
lea si,Field mov di,si add di,2 mov cx,4 TheLoop: mov ax,[di] add [si],ax add si,2 add di,2 loop TheLoop
وهذا الكود كما يلي :
نضع عنوان المتغير في الرجستر si
نضع نفس العنوان في di
نزيد له 2 ليؤشر إلى المتغير الموالي .نوع word يساوي 2 بايت
نضع في cx قيمة for
نضع ما يوجد في di في الرجستر ax يعني هنا Field[i+1]
نزيد هذا في si
نزيد لكاتا الرجسترين 2 ليشيرا إلى المتغيرين المواليين
إلى اللقاء
هذا الموضوع مغلق.