Форум программистов, компьютерный форум, киберфорум
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
15 / 15 / 0
Регистрация: 06.06.2012
Сообщений: 58
1

Посчитать количество слов в строке: исправить код

13.12.2012, 14:00. Показов 1027. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите пож. поправить программу. Она должна считать кол-во слов в строке. (но считает не верно) Заранее огромное спасибо!
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
.386           ;поддержка команд   
 
         ;процессора 80386
.model flat, stdcall         ;плоская модель памяти
option casemap:none 
include WINDOWS.INC
include kernel32.inc
include user32.inc
includelib kernel32.lib
includelib user32.lib
 
BSIZE equ 256
.data
 msg1 byte 'Enter String: ', 0
 msg2 byte 'Kol-vo slov: ', 0
 buf byte BSIZE dup (?)
 chislo byte  3 dup (?)
 typ db '%i', 0
 len dword ?
 dig dword ?
 cWrite dword ?
 stdin dword ?
 stdout dword ?
.code
start:
 invoke GetStdHandle, STD_INPUT_HANDLE      ;получаем хендл клавиатуры
 mov stdin, eax         ;сохраним
 invoke GetStdHandle, STD_OUTPUT_HANDLE      ;хендл экрана
 mov stdout, eax         ;сохраним
 invoke WriteConsoleA, eax, ADDR msg1, SIZEOF msg1, ADDR cWrite, NULL  ;приглашаем к вводу   
 invoke ReadConsole,  stdin, addr buf, BSIZE, addr len, NULL
 mov ecx, len           ;записываем сколько раз повторить команду rep
 sub ecx, 2
        xor esi, esi           ;si=0
        xor eax, eax           ;ax=0
        cld                 ;DF=0
        mov al,' '          ;символ для сравнивания
        lea edi, buf         ;указатель на строку для обработки
 oi:           
 repne scasb
 je oi2
 cmp byte ptr [edi], 13
 je oi1
 jmp short oi
oi2:
 inc esi
 repe scasb
 dec edi
 inc ecx
 jmp short oi
    oi1:
 
  invoke wsprintf, offset chislo, offset typ, esi
 invoke WriteConsoleA, stdout, ADDR msg2, SIZEOF msg2, ADDR cWrite, NULL
 invoke WriteConsoleA, stdout, addr chislo, SIZEOF chislo, addr cWrite, NULL
exit: invoke ReadConsole, stdin, ADDR buf, BSIZE, ADDR len, NULL   ;ждем нажатия клавиши
 invoke ExitProcess, NULL       ;выходим в windows
end start
Добавлено через 18 часов 18 минут
---UP---
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.12.2012, 14:00
Ответы с готовыми решениями:

Рассматривая массив из восьми пятибитных слов, посчитать количество слов с чётным числом единиц в слове
пожалуйста помогите с решением, плаваю в этих битах немного...(( программа на turboDebaggere ...

Посчитать количество слов с нечётным числом единиц в слове
Дан массив из 5 байт. Рассматривая его, как массив из восьми пятибитных слов, посчитать количество...

Посчитать количество гласных в данной строке
помогите пожалуйста,бьюсь которую неделю,не работает,может подскажет кто что? написать смогла вот...

Посчитать количество точек и запятых в строке
вобщем большая просьба исправить маленькие недочёты в программе на языке Ассемблер..сделать это...

1
15 / 15 / 0
Регистрация: 06.06.2012
Сообщений: 58
15.12.2012, 22:38  [ТС] 2
--up--
0
15.12.2012, 22:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.12.2012, 22:38
Помогаю со студенческими работами здесь

Посчитать количество символов, не являющихся цифрами, в строке
эээ...ну собственно в теме всё написано))) как строка будет заданна без разницы,можно и...

Заменить последний символ в строке (исправить код)
Всем доброго времени суток, только начинаю программировать на ассемблере многого не понимаю... вот...

Посчитать количество символов, у которых равные соседи в исходной строке
В общем задача состоит в том чтобы посчитать количество символов у которых равные соседи в исходной...

Подсчитать количество слов в строке
Доброго времени суток! Прошу помощи в решении следующего задания: Пользователь, вводит несколько...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru