How does computer do something, if it understands only bits or threads of bits(e.g. 01001101010101001101010...)?
Ok, people decided to make computer understand commands(or opcode instructons...). It sees some sequence of bits as a command and manipulating these commands we can do just everything...
Read strings, calculate, format disks, read from ports and to ports, produce sound... The possibilities are immense!
Now, closer to the point. The most widely used instructions are:
MOV dest,source
Ok, for example mov a,b is equal to a=b
There are different ways mov can be used, which can be used:
Now, there were some new words here, like:
add value,value
There are different ways to use this one, too:
Ok, now you do know some instructions, let's get closer to reality and to real computers.
Your CPU operates several types of registers. Now we'll examine general purpose registers:
Yes, all of them can be surely used to contain any values, but these are their special uses.
Let's look at a small example, using all the instructions we have learned...
    mov ax,0
    add ax,F                  ax = F
    mov bx,[0123]        bx contains a value, which was in memory at address 123
    sub ax,bx                ax = ax - bx
Ok, what can you do?
Let's suppose we have a value AF at address 723 in memory. And we have ax=65,bx=6BE. How can we have ax=AF, using all these registers and memory? You can't add constants!