Trying to print asteric triangle using nested loop in assembly

I am new at writing code in assembly language. But my code doesn't work. Here is my code:

section .text
    global _start 

_start :

    mov eax, 3       
    mov ebx, 0      
    mov ecx, num2       
    mov edx, 2
    int 80h

    mov ecx,1

    l1 :

    cmp ecx,[num2]
    jg _exit
    push ecx

    l2:     

    cmp ecx,0
    je _exitloop
    push ecx

    mov edx,len
    mov ecx,msg
    mov eax,4
    mov ebx,1
    int 0x80

    pop ecx
    dec ecx
    loop l2


  _exitloop:

    mov edx,len1
    mov ecx,linebreak
    mov eax,4
    mov ebx,1
    int 0x80

    pop ecx
    inc ecx
    loop l1

  _exit:
    mov eax,1
    int 0x80


section .data
msg db '*' ,
len equ $ -msg
linebreak db ' ' , 0xa
len1 equ $ -linebreak


section .bss
num resb 2
num2 resb 2