할당 코드에 문제가 있습니다. 평균을 구하기 위해 배열의 숫자를 계산하기 위해 참조되는 함수입니다. 그것은 아래의 함수로 전달됩니다. 배열에서 실제 값을 가져 오는 데 문제가 있습니다. 어셈블리에서 배열 사용에 대한 정보를 찾으려고 무서운 시간을 보내고 있습니다. 참조/주소 데이터를 가져 오는 것 같습니다. 도움????어셈블리의 배열 요소 액세스 x86
** 아래 코드 중 일부는 수업 중에 가져온 메모에서 가져온 것이고 나머지는 공백을 채우려는 것입니다. 따라 와서 미안해. 미안해.
.586
.MODEL FLAT, C
.STACK
.DATA
.CODE
AverageFunc PROC
NoOfElemenstsDW EQU 08 ArrayAddrStartPtr EQU 12
push ebp
mov ebp, esp
push edi
push ecx
mov ecx, [ebp + NoOfElemenstsDW ]
mov edi, [ebp + ArrayAddrStartPtr]
sub ebx, ebx ;set ebx to 0
sub eax, eax ;set eax to 0
sub edx, edx ;must set to 0 to get accurate division
L1:
add eax, [edi] ;add value to total
inc edi ;go to next point in the array
add ebx, 1 ;add 1 to the counter
cmp ebx, ecx ;compare ecx and ebx
jl L1 ;If ebx < ecx, loop again
div ecx ;divide sum by total numbers
pop ecx
pop edi
pop ebp
ret
AverageFunc ENDP
END
이 함수를 어떻게 호출하는지 (즉, 실제 매개 변수로 전달하는 것) 표시하지 않았습니다. – Michael