View Single Post
  #6  
Old 19-03-2005, 11:11
DABhand DABhand is offline
Banned
 
Join Date: Nov 2004
Location: Near my PC
Posts: 5,406
Thanks: 0
Thanked 3 Times in 3 Posts
DABhand is on a distinguished road
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