如何在ARM程序集中访问struct成员?

时间:2017-01-13 19:07:19

标签: c assembly struct

我的任务是在ARM汇编语言中重新创建一个C函数。此函数接受高精度整数对象,并使用二进制加法将它们相加。

该函数有3个参数,它们是struct BigInt_T类型变量的指针:

int BigInt_add(BigInt_T oAddend1, BigInt_T oAddend2, BigInt_T oSum)

BigInt_T有两个结构成员:

int iLength; 
/* The number of used digits in the BigInt object */

unsigned int auiDigits[MAX_DIGITS];
/* The digits comprising the BigInt object */

我知道这些参数的地址将作为寄存器0 - 2传递到汇编函数中,但是我在尝试访问每个BigInt_T参数中的struct成员时遇到了麻烦。

在BigInt_add的C版本中,访问这些变量显然是直截了当的:

oAddend1->iLength;
oAddend1->auiDigits[i];

任何人都可以了解如何在ARM组装中完成此操作吗?

0 个答案:

没有答案