Being a non-CS major, I always found disassemble and decompile close to the same thing... sort of like burglary and robbery. Tonight I finally decided to see what the fine print said the difference was and it seems to come down to this: if you are taking a raw file and converting it to a form of assembler then it is called “disassemble”, if you are taking a raw file and converting it to a higher level language representation then it is “decompile”. I guess this would make Lutz's Reflector tool both a decompiler (VB/C# or anyother langugae you want to add) and a disassembler (MSIL)... Does this sound right to you?