Foro de elhacker.net

Programación => 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
  1. span style="color: #000000; font-weight: bold;"> MODEL TINY
  2. .LISTALL
  3. .386
  4. .CODE
  5. .STARTUP
  6.  
  7. MOV EAX, 123455H
  8. CALL DISPE
  9. .EXIT
  10. DISPE PROC NEAR
  11.    MOV EBX, 10  
  12.    PUSH BX
  13.    MOV CL, 0
  14.  
  15.    .WHILE 1    
  16.        MOV EDX, 0  
  17.        DIV EBX
  18.        ADD DL, 30H
  19.        PUSH DX
  20.       .BREAK
  21.  
  22.       .IF EAX==0  
  23.           INC CL
  24.       .ENDIF                 <---- Faltaba
  25.       .IF CL==3  
  26.           PUSH '.'
  27.           MOV CL, 0  
  28.       .ENDIF  
  29.    .ENDW
  30.  
  31.    .WHILE 1    
  32.        POP DX  
  33.        .BREAK
  34.  
  35.        MOV AH, 2      
  36.        INT 21H
  37.    .ENDW
  38.  
  39.    RET
  40. DISPE ENDP
  41. END
  42.  

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

Saludos!