As much fun as learning assembler can be, it confuses the heck outta me sometimes :)

So maybe you guys can clear a few things up for me. For instance, what is Ringn? I've seen numerous mentions of Ring0, Ring3, etc., and I have no clue what it means.

Another thing.. some code I've been looking at have labels like @@ or @F and such. Is there some sort of "proper" notation for labels?

cmp eax, 0
jnz here

xor eax, eax

Hmm.. I have many many more questions, but one step at a time. :alright:
Besides, I'm a bit too sleepy to think of anything else lol. Thanks a lot!
Posted on 2002-04-26 02:46:41 by Miko

Ring0 Ring3 are privelege level in the processor that are mainly defined by operating system design. The best literature on this is the Intel manuals which explain how they are used.

In Windows you mainly get Ring3 for application code and Ring0 for system device drivers.

Lables like @@: are anonymous labels and are useful in the middle of an algorithm when a named label does not tell you anything in terms of information.

jmp @F means jump to the NEXT @@:. jmp @B means jump to the PREVIOUS @@: label.

Posted on 2002-04-26 02:55:42 by hutch--