对于我的赋值,我需要添加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命令。如何处理除法以及将其放在我的代码中?
答案 0 :(得分:0)
此说明mov eax, array1
需要更改为mov eax,0
(或xor eax,eax
)
在jnz loop_start
xor edx,edx
mov ecx, N
div ecx
现在EAX保持平均值,而EDX保留该部门的其余部分。