thanks for this lesson ;
and this is my answer about the exercice :
global _start
section .text
_start:
jmp short GetStringAddress
GetStringAddressReturn:
;Execve() Syscall
pop esi
xor eax, eax
mov [esi + 7], al
mov [esi + 10], al
mov [esi + 15], al
mov [esi + 16], esi
lea ebx, [esi + 8]
mov[esi +20], ebx
lea ebx, [esi + 12]
mov[esi + 24], ebx
mov [esi + 28], eax
;Preparing Registers For Syscall
mov al, 11
mov ebx, esi
lea ecx, [esi + 16]
lea edx, [esi + 28]
int 0x80
GetStringAddress:
call GetStringAddressReturn
db "/bin/nc#-l##443#AAAABBBBCCCCDDDD"