|
Basic ASM, what some math operands do, the working of registers and stacks.
Like
MOV eax, 4301h
Moves the hex value 4301 into the eax register
SUB eax, 10h
Subtract the value in eax, by 10 hex (10h = 16 decimal)
JMP ********= unconditional jump to address ********
to
JNE ********= Condintional jump to address ******** if result from a previous operand proved to be false.
For example
CMP eax, 50h - Compare the value in eax register with the value 50h
JNE 0048FF21 - not equal to 50h? then Jump to this address, or....
XOR eax,eax - clear the value in eax
JMP 0049EA2B - then jump to this address
To make it a bit easier to understand a simple basic proggy for the example above.
IF eax<>50h (greater or less than)
GOTO to_first_addy
ELSE
LET eax = 0
GOTO to_second_addy
But then it gets increasingly harder when you introduce other operands like
FSUBR
MOVQ
SAR
etc etc
|