我对此还是个新手,我正在做一个任务,就是把c语言翻译成armv7。以下代码是初始化
int array[] = {5, 6, 7, 8};
size_t n = sizeof(array) / sizeof(array[0]);
int *ptr;
ptr = &array[0];以下是汇编中的指针:
array: .word 5, 6, 7, 8
LDR R0, =array //R0 is the address where the array starts
MOV R1, #0 // for teh iteration variable i
LDR R1, [Ro, R1] //现在我做的一切都是正确的吗?我不知道如何处理这么大的东西。我期待着您的帮助!
发布于 2020-10-04 20:41:43
对于汇编程序和汇编代码来说,指针就是指针。这只是一个内存地址。您可以自行编写适合于所指向的对象类型的汇编代码。同样,汇编代码对数组的大小一无所知。由您决定是否编写保持在数组范围内的代码。通常,这意味着您需要定义一些数组大小的常量,然后根据需要使用该常量来使代码正常工作。这里没有魔法。
https://stackoverflow.com/questions/64190946
复制相似问题