To work in assembler, you need to have a thorough knowledge 
of the CPU's programming model (i.e. what all the registers, 
flags etc are for) and a thorough knowledge of the op codes 
and their effect on the registers, flags etc. Don't use an 
op code unless you understand exactly what it does; wishful 
thinking is a common source of bugs.

You also need to be able to step through the code and work 
out where it's going wrong. If, like me, you started out by 
hand-assembling assembler mnemonics into hexadecimal machine 
code on paper, you do this with pencil and paper or in your 
head. But nowadays I suppose debuggers are the way to go. 
Presumably the assembler you're using has an accompanying 
debugger and disassembler for the CPU you're using? If not, 
you need to find one that does.

Sorry, I don't know x86 assembler so I can't offer any 
specific help. In my day the targets were 8-bit 
microprocessors and a 1MHz clock was considered fast. ;-)

David

Reply via email to