title: Create a pointer to a specific location
body: <p>I need a pointer to location which is always the same. So, how can I create a pointer to.. lets say memory address 0x20 and store it in some way to be able to access it later.
  Note:
  I do NOT want to store the result, but the actual pointer to the memory address (since I want to point to the beginning of an array).</p>
  
  <p>Thanks in advance.</p>
  
  <p>--</p>
  
  <p>I think I have fixed it now. I use bios interrupt 0x15 to get a memory map. Every interrupt returns 1 entry and you provide a pointer in es:di to a place where the bios can store it. I let the bios build it up from 050h:0h. I needed a pointer to 0x50:0x0 (0x500 linear) to use the map later. I still have to test, but I did the following:</p>
  
  <pre><code>    mov ax, 0x50
      mov es, ax
      xor di, di
  
      shl ax, 4
      add ax, di
      mov [mmr], ax
  </code></pre>
  
  <p>And mmr is declared this way:</p>
  
  <pre><code>mmr:
      dw 0 ; pointer to the first entry
      db 0 ;entry count
      db 24 ; entry size
  </code></pre>