title: ARM assembly pointers to pointers?
body: <p>Suppose I am given as input to a function <code>foo</code> some pointer <code>*pL</code> that points to a pointer to a struct that has a pointer field next in it. I know this is weird, but all I want to implement in assembly is the line of code with the ** around it:</p>
  
  <pre><code>typedef struct CELL *LIST;
  struct CELL {
    int element;
    LIST next;
  };
  void foo(LIST *pL){
  **(*pL)-&gt;next = NULL;**
  
  }
  </code></pre>
  
  <p>How do I implement this in ARM assembly? The issue comes from having nested startements when I want to store such as:</p>
  
  <pre><code>    .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.
  </code></pre>