هل هناك طريقة لتخزين جزء من قيمة 16 بت في متغير 8 بت في التجميع؟
-
19-09-2019 - |
سؤال
قمت بإنشاء متغير واحد يخزن متغير 16 بت، وأنا جري لتخزين النصف العلوي في متغير 8 بت. كيف أقوم بهذا العمل؟
تحرير: لها ل IA-32، ولا أعتقد أنني أستطيع استخدام السجلات
Edit2: أنا مسموح لي باستخدام السجلات.
المحلول
يمكنك أن تفعل ذلك مثل هذا:
mov AX, [var16]
mov [var8], AH
نصائح أخرى
بدلا من ذلك، يمكنك استخدام SHR أو SHL أو ROR و ROL لتحويل تدوير البتات في السجل الخاص بك.
لا تنتمي إلى StackOverflow