Я пытаюсь создать программу на ассемблере, которая копирует массив X
в кадр стека и отображает кадр стека на экране перед выходом из процедуры. Это то, что я написал до сих пор, и оно только дает мне ошибки, поскольку не компилируется в Microsoft C ++ Visual Studio.
ExitProcess PROTO, dwExitCode:DWORD
calSumP PROTO,baseP:ptr dword, sumP:ptr dword, incre:dword, count:dword
.data
X sdword 10, -10, 20, -20, 30, -30, 40, -40
.code
begin:
invoke calSumP,addr X, addr X, type X, lengthof X
invoke exitProcess,0
calSumP
proc,baseP:ptr dword, sumP:ptr dword, incre:dword, count:dword
local array1[8]:dword
mov esi,[ebp+8]
mov esi,[ebp+12]
mov esi,[ebp+16]
mov esi,[ebp+20]
mov esi,[ebp+24]
mov esi,[ebp+28]
mov esi,[ebp+32]
mov esi,[ebp+36]
mov eax,0
nextP:
add eax,[esi]
loop nextP
ret
calSumP endp
invoke ExitProcess,0
end begin
Это правильный способ добавить массив в стек? Как бы я отобразил его содержимое?
Задача ещё не решена.