Выводится ошибка. Не могу найти где.
Вот мой код
Код: Выделить всё
; Template for console application
.586
.MODEL flat, stdcall
OPTION CASEMAP:NONE
Include kernel32.inc
Include masm32.inc
IncludeLib kernel32.lib
IncludeLib masm32.lib
.CONST
MsgExit DB 0AH,0DH,"Press Enter to Exit",0AH,0DH,0
.DATA
Note DB 13,10,'input array 6x6 ',0
ResultMsg DB 'Result= '
resstr db 16 dup(' ')
.DATA?
buffer db 100 dup (?)
inbuf DB 100 DUP (?)
result dword ?
array dword 36 dup (0)
r dword ?
k dword ?
.CODE
Start:
;vvod massiva
Mov ECX,36
Mov EBX,0
Label1:
push ECX
Invoke StdOut,addr Note
Invoke StdIn,addr buffer,lengthof buffer
Invoke StripLF,addr buffer
Invoke atol,addr buffer
mov dword ptr array[EBX],eax
add EBX,4
pop ECX
Mov r,0 ;perviy prohod po vnutrennemu ciklu 0 raz
Loop Label1
mov EAX,0
lea EBX,array ;postavil ukazatel' v nachalo matrici
mov ECX,5 ;zadal kolichestvo povtoreniy
cycle:
Push ecx ;pomeschayu v stek schetchik
mov ECX,r ;zadayu noviy schetchik
cycle2:
add EAX,0[EBX] ;nachinayu c 1 elementa no ne prohogu v perviy raz t.k. schetchik = 0
add ebx,4 ;pribavlyayu 4 bayta
inc r ;uvelichivayu sled prohod po vnutrennemu ciklu na 1
pop ecx ;vitaskivayu znachenie dlya vneshnego schetchika
loop cycle2
add ebx,24 ;izmenyayu sled poziciyu na 6 elementov
Loop cycle
mov result,EAX ;zapisivayu resultat
Invoke dwtoa,result,addr resstr
Invoke StdOut,addr ResultMsg
XOR EAX,EAX
Invoke StdOut,ADDR MsgExit
Invoke StdIn,ADDR inbuf,LengthOf inbuf
Invoke ExitProcess,0
End Start