يتم إعطاؤك مقتطفًا برمجيًا لوظيفة تسمى "normalize_operand". تم تصميم هذه الوظيفة لتطبيع المعامل بناءً على اسم التعليمات. تأخذ الدالة وسيطتين: `المعامل`، الذي يمثل المعامل المراد تطبيعه، و`instr_name`، الذي يمثل اسم التعليمات.

تحتوي الدالة على عبارة شرطية تتحقق مما إذا كان `instr_name` واحدًا من أربع قيم: ``jr'` أو ``jp'` أو ``ret'` أو ``call'`. إذا كان `instr_name` واحدًا من هذه القيم وكان `المعامل` واحدًا من ثماني قيم محددة، فإن الدالة تعدل `المعامل` وفقًا لنمط محدد.

فيما يلي التعديلات الممكنة:

- إذا كان `instr_name` هو ``jr'` و`المعامل` هو `'c'`، ``nc'`، ``z'`، ``nz'`، ``po'`، ``pe' `، `'p'`، أو `'m'`، المعامل المعدل هو `'f_c'`، `'f_nc'`، `'f_z'`، `'f_nz'`، `'f_np'` أو `'f_p'` أو ``f_ns'` أو ``f_ms'` على التوالي.

مهمتك هي كتابة دالة تسمى "modify_operand" والتي تأخذ وسيطتين: "operand" (سلسلة) و"instr_name" (سلسلة). يجب أن تنفذ وظيفتك نفس المنطق الذي يستخدمه مقتطف التعليمات البرمجية المحدد وترجع "المعامل" المعدل. إذا لم يكن `instr_name` واحدًا من القيم الأربع المحددة، فيجب أن تُرجع الدالة `المعامل` دون أي تعديل.

على سبيل المثال:

```بيثون
print(modify_operand('c', 'jr')) # الإخراج: 'f_c'
print(modify_operand('z', 'jp')) # الإخراج: 'z'
print(modify_operand('p', 'ret')) # الإخراج: 'p'
print(modify_operand('a', 'call')) # الإخراج: 'a'
print(modify_operand('nc', 'add')) # الإخراج: 'nc'
```

**ملحوظة:**
- سيكون الإدخال "المعامل" دائمًا عبارة عن سلسلة بطول 1.
- سيكون الإدخال `instr_name` دائمًا عبارة عن سلسلة بطول 3 على الأكثر.
{"source": "argilla/DistiCoder-dpo-binarized", "kind": "synthetic", "evolved_from": null}