2010-06-02 5 views
2

J'essaie de créer une macro qui rendrait plus facile de pointer vers un membre de structs. Actuellement, je pointe vers un membre de structure dans le fichier d'assemblage à l'aide de la méthode STRUCT_NAME + offset.comment faire un pointeur de membre struct dans assembly?

Par exemple, si je veux souligner struct troisième membre, je dois le faire comme ceci:

STRUCT_NAME + 3 

Cela semble façon stupide de le faire, et si j'insère plus de membres dans le struct, je avoir à mettre à jour toutes les valeurs de décalage dans le code.

Existe-t-il un moyen de pointer en utilisant STRUCT_NAME + macro(struct_name, member_name)?

J'utilise du matériel Texas Instruments TMS320C28x.

Merci!

Répondre

1

Votre compilateur doit avoir la macro offsetof, mais vous ne savez pas si vous pouvez l'utiliser depuis l'assemblage en ligne.

Questions connexes