gpt4 book ai didi

c - ARM汇编指针指向指针?

转载 作者:太空宇宙 更新时间:2023-11-04 06:23:57 25 4
gpt4 key购买 nike

假设我得到了一个函数 foo 的输入,一些指针 *pL 指向一个结构体的指针,该结构体中有一个指针字段。我知道这很奇怪,但我想在汇编中实现的只是带有 ** 的代码行:

typedef struct CELL *LIST;
struct CELL {
int element;
LIST next;
};
void foo(LIST *pL){
**(*pL)->next = NULL;**

}

我如何在 ARM 汇编中实现它?问题来自于当我想存储时有嵌套的开始:

    .irrelevant header junk
foo:
MOV R1, #0
STR R1, [[R0,#0],#4] @This is gibberish, but [R0,#0] is to dereference and the #4 is to offeset that.

最佳答案

顺序类似于:

        ...                 ; r0 = LIST *pL = CELL **ppC (ptr2ptr2cell)
ldr r0,[r0] ; r0 = CELL *pC (ptr2cell)
mov r1,#0 ; r1 = NULL
str r1,[r0,#4] ; (*pL)->next = pC->next = (*pC).next = NULL

关于c - ARM汇编指针指向指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29502549/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com