The addrof statement
The addrof statement gets the address of its input (second) argument and stores it in the output (first) argument. The third argument is a flag which indicates whether the address should be absolute or relative.
Relative addresses can be used like pointers along with the IOMapWrite syscall function. The relative address is an offset from the start of the VM memory pool (CommandOffsetMemoryPool). An absolute address is only useful for cases where module IOMap structures expose a pointer address field. One example is the pFont address in the Display module IOMap structure (DisplayOffsetPFont). The syntax of the addrof statement is shown below.
// addrof dest, src, brelative? addrof ptrFont, fontDataArray, FALSE