一段汇编不知道什么意思,求解?解决思路

一段汇编不知道什么意思,求解?__asm{movzx eax, word ptr memomovzx ebx, word ptr memomovedx, 0ffffffff

一段汇编不知道什么意思,求解?
__asm
{
  movzx eax, word ptr memo
  movzx ebx, word ptr memo
  mov edx, 0ffffffffh
  movzx ecx, word ptr zsync
  idiv ecx
  neg eax
  mov result, ax
}
这段代码就是一个除运算,但是不明白红色部分有什么用?

[解决办法]
edx是用来保存余数的
就是先预先清除一下吧,
是不是你的余数一定为正数,所以预先清除成-1

[解决办法]
DIV、IDIV: 无符号除、有符号除 
--------------------------------------------


;它们没有定义对 EFLAGS 的影响
;它们的指令格式:
;DIV r/m ;参数是除数

;如果参数是 r8/m8, 将把 AX 做被除数; 商 -> AL, 余数 -> AH
;如果参数是 r16/m16, 将把 DX:AX 做被除数; 商 -> AX, 余数 -> DX
;如果参数是 r32/m32, 将把 EDX:EAX 做被除数; 商 -> EAX, 余数 -> EDX