Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Assembly 如何初始化数组的大小和指向程序集中数组的指针?_Assembly_Arm_Armv7 - Fatal编程技术网

Assembly 如何初始化数组的大小和指向程序集中数组的指针?

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

我对这个很陌生,我正在做一项作业,基本上是将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] //

我现在做的一切都对吗?我也不知道该怎么应付这么大的事情。我期待着你的帮助

对于汇编程序和汇编代码,指针就是指针,指针就是指针。它只是一个内存地址。由您来编写适合所指向对象类型的汇编代码。同样,汇编代码对数组的大小一无所知。由您来编写保持在数组范围内的代码。通常这意味着您定义了一个常量,即数组的大小,然后根据需要使用该常量使代码正常工作。这里没有魔法。

。。。。。。。。。。。