Every
microprocessor has an
instruction set which can perform a series of instructions (called using
assembly commands). Arithmetic instructions are the subcategory of instructions that perform
arithmetic operations (
addition,
subtraction, you know, that shit we learnt in
elementary school) and also,
logical operations (the heart and soul of every
electronic device). Arithmetic operations are in general easily understood, but it must be mentioned that there are only two
operands involved in every such operation and the result is always stored in one of the two operands.
Thus, your typical
addition as seen in
any common programming language does not look like a=b+c but has the nature of the imperative statement:
Add A to B
or rather: Add contents-of-first-register to contents-of-second-register
which in turn, leads to the conclusion that adding two numbers will always overwrite one of them in order to store the
result. In standard
Intel assembly language,
arithmetic and logical operations have a syntax similar to this:
add reg1,reg2
which means "add reg2 to reg1"; oh never uses symbols like
+-*/, etc. as in mathematics. These symbols have
other uses, more important uses.