Test Foro de elhacker.net SMF 2.1

Programación => Programación General => ASM => Mensaje iniciado por: gotic_zero en 21 Marzo 2014, 05:19 AM

Título: Me podrian ayudar a salir de la anidacion error "A1010 Unmatched block nesting"
Publicado por: gotic_zero en 21 Marzo 2014, 05:19 AM
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
Título: Re: Me podrian ayudar a salir de la anidacion error "A1010 Unmatched block nesting"
Publicado por: MCKSys Argentina en 21 Marzo 2014, 07:41 AM
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!