Sem título a esquerda Sem título a direita
P$ASMCHECKBEFOREASSIGNMENT_TMYDBEDIT_$__DOIT$TOBJECT$TOBJECT$TOBJECT: P$ASMCHECKBEFOREASSIGNMENT_TMYDBEDIT_$__DOIT$TOBJECT$TOBJECT$TOBJECT:
# Temps allocated between ebp-52 and ebp+0 # Temps allocated between ebp-52 and ebp+0
# [86] begin # [88] begin
   pushl   %ebp    pushl   %ebp
   movl    %esp,%ebp    movl    %esp,%ebp
   subl    $52,%esp    subl    $52,%esp
# Var Sender located in register edx # Var Sender located in register edx
# Var Sender2 located in register ecx # Var Sender2 located in register ecx
# Var Sender3 located in register eax # Var Sender3 located in register eax
# Var $self located in register ebx # Var $self located in register ebx
  # Var DataLinkField located in register esi
   movl    %ebx,-52(%ebp)    movl    %ebx,-52(%ebp)
   movl    %esi,-48(%ebp)    movl    %esi,-48(%ebp)
   movl    %eax,%ebx    movl    %eax,%ebx
   movl    8(%ebp),%eax    movl    8(%ebp),%eax
   movl    $0,-44(%ebp)    movl    $0,-44(%ebp)
   leal    -12(%ebp),%ecx    leal    -12(%ebp),%ecx
   leal    -36(%ebp),%edx    leal    -36(%ebp),%edx
   movl    $1,%eax    movl    $1,%eax
   call    FPC_PUSHEXCEPTADDR    call    FPC_PUSHEXCEPTADDR
   call    FPC_SETJMP    call    FPC_SETJMP
   pushl   %eax    pushl   %eax
   testl   %eax,%eax    testl   %eax,%eax
   jne .Lj39    jne .Lj39
# [87] if FDataLink.Field <> nil then begin  # [89] DataLinkField := FDataLink.Field; 
   movl    16(%ebx),%eax    movl    16(%ebx),%eax
   movl    24(%eax),%eax     movl    24(%eax),%esi 
   testl   %eax,%eax  # [90] if DataLinkField <> nil then begin 
   je  .Lj43     testl   %esi,%esi 
# [88] if Alignment <> FDataLink.Field.Alignment then  
   movl    16(%ebx),%eax  
   movl    24(%eax),%eax  
   movl    44(%eax),%eax  
   cmpl    12(%ebx),%eax  
   je  .Lj45    je  .Lj45
# [89] Alignment := FDataLink.Field.Alignment;  # [91] if Alignment <> DataLinkField.Alignment then 
   movl    16(%ebx),%eax     movl    12(%ebx),%eax 
   movl    24(%eax),%eax     cmpl    44(%esi),%eax 
   movl    44(%eax),%edx     je  .Lj47 
  # [92] Alignment := DataLinkField.Alignment;
     movl    44(%esi),%edx
   movl    %ebx,%eax    movl    %ebx,%eax
   call    P$ASMCHECKBEFOREASSIGNMENT_TMYDBEDIT_$__SETALIGNMENT$TALIGNMENT    call    P$ASMCHECKBEFOREASSIGNMENT_TMYDBEDIT_$__SETALIGNMENT$TALIGNMENT
.Lj45:  .Lj47: 
# [92] if Focused and FDataLink.CanModify then begin # [95] if Focused and FDataLink.CanModify then begin
   movl    %ebx,%eax    movl    %ebx,%eax
   call    P$ASMCHECKBEFOREASSIGNMENT_TMYDBEDIT_$__FOCUSED$$BOOLEAN    call    P$ASMCHECKBEFOREASSIGNMENT_TMYDBEDIT_$__FOCUSED$$BOOLEAN
   testb   %al,%al    testb   %al,%al
   je  .Lj51     je  .Lj53 
   movl    16(%ebx),%eax    movl    16(%ebx),%eax
   call    P$ASMCHECKBEFOREASSIGNMENT_TMYDATALINK_$__CANMODIFY$$BOOLEAN    call    P$ASMCHECKBEFOREASSIGNMENT_TMYDATALINK_$__CANMODIFY$$BOOLEAN
   testb   %al,%al    testb   %al,%al
   je  .Lj51     je  .Lj53 
# [94] RestoreMask(FDataLink.Field.Text);  # [97] RestoreMask(DatalinkField.Text); 
   movl    16(%ebx),%eax  
   movl    24(%eax),%esi  
   leal    -44(%ebp),%eax    leal    -44(%ebp),%eax
   call    FPC_ANSISTR_DECR_REF    call    FPC_ANSISTR_DECR_REF
   movl    $0,-44(%ebp)    movl    $0,-44(%ebp)
   leal    -44(%ebp),%edx    leal    -44(%ebp),%edx
   movl    %esi,%eax    movl    %esi,%eax
   call    DB_TFIELD_$__GETEDITTEXT$$ANSISTRING    call    DB_TFIELD_$__GETEDITTEXT$$ANSISTRING
   movl    -44(%ebp),%edx    movl    -44(%ebp),%edx
   movl    %ebx,%eax    movl    %ebx,%eax
   call    P$ASMCHECKBEFOREASSIGNMENT_TMYDBEDIT_$__RESTOREMASK$ANSISTRING    call    P$ASMCHECKBEFOREASSIGNMENT_TMYDBEDIT_$__RESTOREMASK$ANSISTRING
   jmp .Lj69    jmp .Lj69
.Lj51:  .Lj53: 
# [97] DisableMask(FDataLink.Field.DisplayText);  # [100] DisableMask(DataLinkField.DisplayText); 
   movl    16(%ebx),%eax  
   movl    24(%eax),%esi  
   leal    -44(%ebp),%eax    leal    -44(%ebp),%eax
   call    FPC_ANSISTR_DECR_REF    call    FPC_ANSISTR_DECR_REF
   movl    $0,-44(%ebp)    movl    $0,-44(%ebp)
   leal    -44(%ebp),%edx    leal    -44(%ebp),%edx
   movl    %esi,%eax    movl    %esi,%eax
   call    DB_TFIELD_$__GETDISPLAYTEXT$$ANSISTRING    call    DB_TFIELD_$__GETDISPLAYTEXT$$ANSISTRING
   movl    -44(%ebp),%edx    movl    -44(%ebp),%edx
   movl    %ebx,%eax    movl    %ebx,%eax
   call    P$ASMCHECKBEFOREASSIGNMENT_TMYDBEDIT_$__DISABLEMASK$ANSISTRING    call    P$ASMCHECKBEFOREASSIGNMENT_TMYDBEDIT_$__DISABLEMASK$ANSISTRING
.Lj69: .Lj69:
# [98] if (FDataLink.Field.DataType = ftString) and (MaxLength = 0) then # [101] if (DataLinkField.DataType = ftString) and (MaxLength = 0) then
   movl    16(%ebx),%eax     movl    68(%esi),%eax 
   movl    24(%eax),%eax  
   movl    68(%eax),%eax  
   cmpl    $1,%eax    cmpl    $1,%eax
   jne .Lj87     jne .Lj85 
   movl    8(%ebx),%eax    movl    8(%ebx),%eax
   testl   %eax,%eax    testl   %eax,%eax
   jne .Lj87     jne .Lj85 
# [99] MaxLength := FDataLink.Field.Size;  # [102] MaxLength := DatalinkField.Size; 
   movl    16(%ebx),%eax     movl    180(%esi),%edx 
   movl    24(%eax),%eax  
   movl    180(%eax),%edx  
   movl    %ebx,%eax    movl    %ebx,%eax
   call    P$ASMCHECKBEFOREASSIGNMENT_TMYDBEDIT_$__SETMAXLENGTH$LONGINT    call    P$ASMCHECKBEFOREASSIGNMENT_TMYDBEDIT_$__SETMAXLENGTH$LONGINT
.Lj43:  .Lj45: 
.Lj87:  .Lj85: 
.Lj39: .Lj39:
   call    FPC_POPADDRSTACK    call    FPC_POPADDRSTACK
# [106] end; # [109] end;
   leal    -44(%ebp),%eax    leal    -44(%ebp),%eax
   call    FPC_ANSISTR_DECR_REF    call    FPC_ANSISTR_DECR_REF
   movl    $0,-44(%ebp)    movl    $0,-44(%ebp)
   popl    %eax    popl    %eax
   testl   %eax,%eax    testl   %eax,%eax
   je  .Lj40    je  .Lj40
   call    FPC_RERAISE    call    FPC_RERAISE
.Lj40: .Lj40:
   movl    -52(%ebp),%ebx    movl    -52(%ebp),%ebx
   movl    -48(%ebp),%esi    movl    -48(%ebp),%esi
   leave    leave
   ret $4    ret $4