Форум программистов, компьютерный форум CyberForum.ru

Ошибка в коде.не пойму из-за чего - C++

Восстановить пароль Регистрация
 
ivladden
17 / 6 / 0
Регистрация: 16.02.2013
Сообщений: 98
13.10.2013, 17:48     Ошибка в коде.не пойму из-за чего #1
Задача была таковой.
Проанализировать массив данных с 15 элеметов.Элементами массива являются числа 10,20,30,180
Подсчитать кол-во повторов,каждого элемента.
Вывести с помощью Msgbox сообщение соответственное уведомление.

Составил программу,по идее должна работать.Мучаюсь никак не могу понять в чем дело.
(Ассемблер изучаю меньше месяца)
Помогите исправить ошибку,что бы код работал.

Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
     
.386    ; директива визначення команд мікропроцесора
.model  flat,stdcall ; завдання лінійної моделі пам’яті 
option casemap:none ; відмінність рядкових та прописних літер
include \masm32\include\windows.inc ; файли структур, констант …
include \masm32\include\kernel32.inc ; файли систем. функцій застосувань…
include \masm32\include\user32.inc
includelib \masm32\lib\user32.lib
includelib \masm32\lib\kernel32.lib
 
 
.data                     
               
_mas dd 10,20,30,180,30,20,10,20,30,180,30,20,10,180,30
len equ ($-_mas)/type _mas
_n1 dd ?
 _n2 dd ?
_n3 dd ?
_n4 dd ?
const1 dd 10   
const2 dd  20
const3 dd 30
const4 dd 180
fName db "10_.txt",0
FHandle DWORD ?
cWritten DWORD ?
 
msg1 db "Kol-vo el-tov: ",0ah,0dh,\
"10 - %d",0ah,0dh,\
"20 - %d",0ah,0dh,\
"0 - %d",0ah,0dh,
"180 - %d",0
titl db "Rez-tat",0
.code
_start:
lea esi,_mas
mov ecx,len
cycle2:
mov eax,[esi]
.if eax==const1
inc _n1
.elseif eax==const2
inc _n2
.elseif eax==const3
inc _n3
.else
inc _n4
.ENDIF  
add esi,4h
loop cycle2
next:
invoke CreateFile,ADDR fName,GENERIC _WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_ARCHIVE,0 ;
mov fhandle,EAX
INVOKE writeFile,fHandle,
ADDR_n1,
16,
ADDR cWritten,0
invoke CloseHandle,fHandle
mov eax, _n1
mov ebx, _n2;
mov ecx, _n3
mov edx, _n4
invoke wsprint,ADDR msg1,ADDR msg1,eax,abx,ecx,edx
invoke MessageBox,0,ADDR msg1,ADDR titl,MB_ICONINFORMATION;
invoke ExitProcess,0
end _start
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.10.2013, 17:48     Ошибка в коде.не пойму из-за чего
Посмотрите здесь:

C++ Не пойму в чём ошибка
C++ Не пойму где ошибка
Не пойму в чем ошибка C++
Не пойму свою ошибку в коде C++
C++ не пойму из-за чего Access violation
Не пойму чего хочет компилятор C++
Не пойму где ошибка C++
Ошибка в Линуксе, не пойму C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
newb_programmer
 Аватар для newb_programmer
237 / 237 / 19
Регистрация: 03.09.2011
Сообщений: 553
13.10.2013, 18:05     Ошибка в коде.не пойму из-за чего #2
ivladden, по-моему вы ошиблись разделом
ivladden
17 / 6 / 0
Регистрация: 16.02.2013
Сообщений: 98
13.10.2013, 18:33  [ТС]     Ошибка в коде.не пойму из-за чего #3
ойойойойой
Спасибо,не заметил.
Yandex
Объявления
13.10.2013, 18:33     Ошибка в коде.не пойму из-за чего
Ответ Создать тему
Опции темы

Текущее время: 10:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru