هل من الممكن استخدام أسماء تسجيل MIPS مع الغاز (GNU Assembler)؟

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

  •  05-09-2019
  •  | 
  •  

سؤال

إذا كنت تستخدم أسماء التسجيل أحصل على:

Error: illegal operands `add $t0,$zero,$zero'

إذا كنت تستخدم رقم التسجيل ($8 بدلا من $t0 و $0 بدلا من $zero) إنها تعمل. (أنا أستخدم Binutils 2.17).

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

المحلول

لا يدعم مجمع جنو أسماء السجلات الرمزية مباشرة. نهج مشترك، إذا كان استخدام دول مجلس التعاون الخليجي لدفع المجمع، هو استخدام ملحق ".s" لملف مصدر المجمع (الذي يروي دول مجلس التعاون الخليجي لتمرير المصدر من خلال Preprocessor C قبل المجمع) و #include ملف رأس يحتوي على تعريفات مثل:

#define zero $0
#define v0   $2
#define v1   $3

ثم مصدر المجمع يمكن أن يكون لها بيانات مثل

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