Assembly 如何初始化数组的大小和指向程序集中数组的指针?
我对这个很陌生,我正在做一项作业,基本上是将c翻译成armv7。以下代码是初始化Assembly 如何初始化数组的大小和指向程序集中数组的指针?,assembly,arm,armv7,Assembly,Arm,Armv7,我对这个很陌生,我正在做一项作业,基本上是将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
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] //
我现在做的一切都对吗?我也不知道该怎么应付这么大的事情。我期待着你的帮助 对于汇编程序和汇编代码,指针就是指针,指针就是指针。它只是一个内存地址。由您来编写适合所指向对象类型的汇编代码。同样,汇编代码对数组的大小一无所知。由您来编写保持在数组范围内的代码。通常这意味着您定义了一个常量,即数组的大小,然后根据需要使用该常量使代码正常工作。这里没有魔法。。。。。。。。。。。。