There's different forms such as a base pointer and a multiple pointer, most codes have a single base pointer in which case you can easily non-dma the code, however some more complex DMA is an example of Kills in SFDM, where there are more than 2 base pointers in which csae you have to write a subroutine.