.text .global _pre_load# .type _pre_load#,@function .global _my_entry_code# .proc _my_entry_code# _my_entry_code: // I assume entry point doesn't get any arguments... Well, at least // _tmainCRTstartup in $MSSdk\src\crt\crt0.c doesn't expect any... {.mii; alloc loc0=ar.pfs,0,4,1,0 mov out0=ip;; add loc1=.L1-_my_entry_code,out0 };; {.mmi; ld8 loc2=[loc1],8;; mov loc3=gp mov b6=loc2 };; {.mib; ld8 gp=[loc1],-(.L1-_my_entry_code+8) mov loc2=b0 br.few b6 };; .L1: .endp _my_entry_code# .global _my_cutin_code# .proc _my_cutin_code# _my_cutin_code: {.mib; br.call.sptk.many b0=_pre_load# };; {.mii; mov ar.pfs=loc0 mov b6=loc1 };; {.mib; mov gp=loc3 mov b0=loc2 br.many b6 };; .endp _my_cutin_code#