Since you have 'asp.net' in your signature I'm guessing you mean CIL (Common Intermediate Language)? or x86 Assembly?
Assembly languages are a type of low-level languages for programming computers. They implement a symbolic representation of the numeric machine codes and other constants needed to program a particular CPU architecture. This representation is usually defined by the hardware manufacturer, and is based on abbreviations called mnemonics that help the programmer remember individual instructions, registers, etc. A utility program called an assembler is used to translate assembly language statements into the target computer's machine code. The assembler performs a more or less isomorphic translation (a one-to-one mapping) from mnemonic statements into machine instructions and data. This is in contrast with high-level languages, in which a single statement generally results in many machine instructions.
If you want to learn about assembly code, start with the Motorola 68000 cpu. You will need a simulator.