如何找到DWORD数组的意思

时间:2014-12-04 09:06:29

标签: assembly masm irvine32

对于我的赋值,我需要添加DWORD数组的元素,然后找到均值并将其放在ebx寄存器中。

TITLE Assignment 2



INCLUDE Irvine32.inc
.data
array1  DWORD   10h,20h,30h,40h,11h,12h,16h,14h,18h,22h,96h,44h,89h,17h,94h,27h,16h,82h, 33h
N = ($ - array1)/4
.STACK 4096
ExitProcess PROTO, dwExitCode:DWORD 
DumpRegs PROTO
.code
   main PROC
    mov esi, OFFSET array1
    mov ecx, N
    mov eax, array1
    loop_start:
    add eax,[esi]
    add esi,4
    dec ecx
    jnz loop_start
    call DumpRegs
    INVOKE ExitProcess, 0   

main ENDP
END main

我找到了阵列的总和,但是分裂对我来说很困惑。根据我的阅读,它涉及将edx设置为0然后使用div命令。如何处理除法以及将其放在我的代码中?

1 个答案:

答案 0 :(得分:0)

此说明mov eax, array1需要更改为mov eax,0(或xor eax,eax

jnz loop_start

下方插入您的部门
xor edx,edx
mov ecx, N
div ecx

现在EAX保持平均值,而EDX保留该部门的其余部分。