هل هناك طريقة لتخزين جزء من قيمة 16 بت في متغير 8 بت في التجميع؟

StackOverflow https://stackoverflow.com/questions/1512582

سؤال

قمت بإنشاء متغير واحد يخزن متغير 16 بت، وأنا جري لتخزين النصف العلوي في متغير 8 بت. كيف أقوم بهذا العمل؟

تحرير: لها ل IA-32، ولا أعتقد أنني أستطيع استخدام السجلات

Edit2: أنا مسموح لي باستخدام السجلات.

هل كانت مفيدة؟

المحلول

يمكنك أن تفعل ذلك مثل هذا:

mov AX, [var16]
mov [var8], AH

نصائح أخرى

بدلا من ذلك، يمكنك استخدام SHR أو SHL أو ROR و ROL لتحويل تدوير البتات في السجل الخاص بك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top