and opened exe in debug.exe - see picture below.
1."lea sp" --> "mov sp" - optimized replacing by compiler
2. "t" (trace) - executes current instruction, then shows next
3. after int you do not see "hello" - needs carrige return to not be overwritten on the screen
4. you do not see "mov sp" instruction - cpu does not let interrupts after "mov ss" to keep stack loading correct. next instruction - usually "mov sp" - executing immediatelly, so, debugger works same.
if it is not enough - attach your source and exe where you have problem (preferable as full winasm studio project)