دستور mov al, 0x61 یا انتقال عدد 97 به al روی IA32 میتونه چنین معادلی داشته باشه : B061 یا باینری : 101100000110001 ؛ اما این ترجمه زمانی درست انجام میشه که Disassembler بفهمه باید B061 رو اولا" تو بخش کد و دوما" به عنوان کد ماشین در نظر بگیره ؛ دوما" Instruction Set مورد نظر یعنی مثلا" IA32 رو به دقت و با در نظر گرفتن همهء جزئیات پیاده سازی کرده باشه ؛ از اونجائیکه هنوز انسانها برنامهء کامل و بدون نقصی تولید نکرده اند ؛ Disassembler ها هم در اثر پیچیدگیهای نرم افزار ، تفاوت خروجی کامپایلرها مختلف و تفاوتهای جزئی برخی از Binary Encoding های Assembler ها ( مثلا" MASM که مایکروسافت ازش استفاده میکنه و BASM که بورلند ازش استفاده میکنه و تفاوتهاشون ) ایضا" نقائص موجود در پیاده سازی IS باعث میشه Disassembler نتونه همیشه همه چیز رو درست تشخیص بده . به عنوان مثال 10110000 01100001 همواره معادل یک دستور ماشین نیست ؛ فقط به شرطی که در محل مناسب قرار بگیره یک دستور ماشینه در حالیکه داخل برنامه اجرائی وجود داره . برای دیدن این تفاوتها دو تا فایل اجرائی ، یکی ساده و یکی بزرگ و پیچیده رو به هر دوی IDA Pro و WinDasm بده و خروجی ها رو تماشا کن .