tags:

views:

177

answers:

1

Hello. Help me please, i don't understand this code:

...
BUFFER = 0x0600
...
rep movs jmpf BUFFER+migrate, 0 ;???
migrate:
findactive:
testb dl,dl ; ???
jns nextdisk
+1  A: 

I'm an old x86 coder. I have to admit I don't understand your code either. The "movs" instruction line looks illegal. Are you sure you've transcribed the code correctly?

Ira Baxter
this code may be AVC(or AVK) - assembler for minix os.translate testb to test, jmpf to jmp, and movs to mov.And help me understend this code plz.
GLeBaTi
movs ins't the same as mov, if they are using the intel mnemonics. If his isn't microsoft syntax, then my best guess is: [rep movs] means "repeat movs for ECX count" (see Intel instrution set manual). [jmpf BUFFER+migrate] means go to the label migrate + 0x600; that location isn't listed in your code and this is a pretty strange thing to say. [migrate:] and [findactive:] are code labels on the testb instruction. [testb dl,dl] means check to see if the [dl] register is signed/zero, and [jns nextdisk] branches if the [dl] register top bit was set.
Ira Baxter
.... somehow I doubt this analysis will help you. I think you've left a lot of critical code out of this example. And what do you mean *may* be AVC/AVK? Either you know what it is, or you don't. If you don't know which assembler it is, you'll never quite be sure you've understood what it says.
Ira Baxter
thanks for the help.I forgot the name: ACK(http://en.wikipedia.org/wiki/Amsterdam_Compiler_Kit)
GLeBaTi