I answer you between lines...
--> This probably means that you nasm compiler has failed to generate a proper frame info for your asm function or something similar.
How can I know if nasm has compiled my assembler code correctly?
--> Does stepping using the instruction commands?
Well, in Dissassembly window I can see assembler generated code from my binary. Also, I can mark "Mixed Mode" that allows me check dissassembly assembler code and C source code (from my source C file). But if my breakpoint is inside my asm file, step-by-step doesn't jump to asm code, so F7 executes correctly each line from my asm code but breakpoint mark stills at C file. So I can debug each of my asm code.
--> Does breaking on an address works?
Mmm, not. I have added breakpoints asm function start point (in asm file) and, also, I have added some breakpoints in "mov" or "jmp" instructions, but F7 still remains at line in C file from I call my asm function.