
void fn2()
fn2: scope:[fn2]  from
  [0] *r = 2
  to:fn2::@return
fn2::@return: scope:[fn2]  from fn2
  [1] return 
  to:@return

void fn1()
fn1: scope:[fn1]  from
  [2] *r = 1
  to:fn1::@return
fn1::@return: scope:[fn1]  from fn1
  [3] return 
  to:@return

void main()
main: scope:[main]  from
  [4] enableDLI::dliptr = (void *)&fn1
  [5] call enableDLI
  to:main::@1
main::@1: scope:[main]  from main
  [6] enableDLI::dliptr = (void *)&fn2
  [7] call enableDLI
  to:main::@return
main::@return: scope:[main]  from main::@1
  [8] return 
  to:@return

void enableDLI(void * volatile dliptr)
enableDLI: scope:[enableDLI]  from main main::@1
  asm { ldadliptr stadlivec ldadliptr+1 stadlivec+1 jmp!+ dlivec: .byte0,0 !:  }
  to:enableDLI::@return
enableDLI::@return: scope:[enableDLI]  from enableDLI
  [10] return 
  to:@return
