Q&A

  • 델 7에서 어셈블러 오퍼랜드 길이 에러
델 5에서는 컴파일이 잘 되는데 델 7에서 에러가 나는데
어떻게 변경해야 하는지요?

    Mov   EDX,EAX          //save it in EDX
    And   EDX,31           //bit index
    Mov   DH,AL

    Shr   EAX,5            //byte index, divide by 32
    Shl   EAX,2            //multiply by 4 for dbl-word

    Mov   EBX,[EDI+EAX]    //get the dbl-word
    Bts   EBX,DL           //set the bit             <- Operand size mismatch Error
    
    
    Mov   DL,AL            //save it in DL
    Mov   DH,DL            //and in DH
    And   DL,31            //bit index
    Shr   EAX,5            //dbl-word index
    Shl   EAX,2
    Mov   EBP,[EDI+EAX]    //get the dbl-word
    Bt    EBP,DL           //test the bit            <- Operand size mismatch Error
    

    Test  EDX,$60000000    //quotes clear ?
    Jnz   @Write           //no, then write it out
    And   DL,31            //bit index
    Shr   EAX,5            //dbl-word index
    Shl   EAX,2
    Mov   EBP,[EDI+EAX]    //get the dbl-word
    Bt    EBP,DL           //test the bit            <- Operand size mismatch Error


    Mov   BL,AL            //save it in BL
    Mov   BH,AL            //and in BH
    And   BL,31            //bit index
    Shr   EAX,5            //dbl-word index
    Shl   EAX,2
    Mov   EBP,[EDX+EAX]    //get the dbl-word from table
    Bt    EBP,BL           //test the bit            <- Operand size mismatch Error
  
0  COMMENTS