Error de ensamblaje (sintaxis Intel + NASM): intente definir una etiqueta local antes de cualquier etiqueta no local

Soy bastante nuevo con respecto al montaje y estoy tratando de trabajar con un programa. Entonces, cada vez que intento compilarlo, aparece el error de la línea, como se detalla en los comentarios en el código.

Me pregunto si alguien tiene alguna idea de por qué NASM detecta estos errores cuando estoy definiendo algunas cosas para el resto del código de ensamblaje.

Tal vez tiene que ver algo con cómo se define el principal?

PD Enumeré solo la primera parte del código, ya que el programa es bastante largo.

Gracias por la ayuda

.xlist               ;attempt to define a local label before any non-local labels
include  stdlib.a     ;  parser: instruction expected
includelib stdlib.lib    ; parser: instruction expected
.list
.286

dseg            segment para public 'data' 
;  Unknown section attribute 'public' ignored on declaration of section `para'
h               word    ?
i               word    ?

cseg            segment para public 'code'
                assume  cs:cseg, ds:dseg

Main

Respuestas a la pregunta(2)

Su respuesta a la pregunta