我正在进行一项赋值,即添加DWORD数组的元素并在屏幕上打印它们。由于某种原因,它输出的数字错误。我错过了什么吗?
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,1
dec ecx
jnz loop_start
call DumpRegs
INVOKE ExitProcess, 0
main ENDP
END main
答案 0 :(得分:2)
查看数据量的大小DWORD
以及增加索引寄存器的数量。
添加esi,4
在这种情况下,使用sizeof
会有所帮助。