Me podrian ayudar a salir de la anidacion error "A1010 Unmatched block nesting"

Iniciado por gotic_zero, 21 Marzo 2014, 05:19 AM

0 Miembros y 1 Visitante están viendo este tema.

gotic_zero

Hola amigos .. soy nuevo en el lenguaje ensamblador. No logro encontrar mi error espero me puedan ayudar. Si les sirve utilizo MASM611 desde dosbox.

MODEL TINY
.LISTALL
.386
.CODE
.STARTUP

MOV EAX, 123455H
CALL DISPE
.EXIT
DISPE PROC NEAR
    MOV EBX, 10 
    PUSH BX
    MOV CL, 0

    .WHILE 1   
        MOV EDX, 0 
        DIV EBX
        ADD DL, 30H
        PUSH DX
       .BREAK

       .IF EAX==0 
       INC CL

       .IF CL==3   
           PUSH '.'
           MOV CL, 0   
          .ENDIF 
    .ENDW

    .WHILE 1   
        POP DX 
        .BREAK

        MOV AH, 2       
        INT 21H
    .ENDW

    RET
DISPE ENDP
END

MCKSys Argentina

Si utilizas las etiquetas, verás mejor el código (y el error):

Código (asm) [Seleccionar]

MODEL TINY
.LISTALL
.386
.CODE
.STARTUP

MOV EAX, 123455H
CALL DISPE
.EXIT
DISPE PROC NEAR
    MOV EBX, 10 
    PUSH BX
    MOV CL, 0

    .WHILE 1   
        MOV EDX, 0 
        DIV EBX
        ADD DL, 30H
        PUSH DX
       .BREAK

       .IF EAX==0 
           INC CL
       .ENDIF                 <---- Faltaba
       .IF CL==3   
           PUSH '.'
           MOV CL, 0   
       .ENDIF 
    .ENDW

    .WHILE 1   
        POP DX 
        .BREAK

        MOV AH, 2       
        INT 21H
    .ENDW

    RET
DISPE ENDP
END


Bueno, al menos ese parece ser...  :P

Saludos!
MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."