Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
 
by_haskell
0 / 0 / 1
Регистрация: 17.12.2012
Сообщений: 13
#1

Вывод числа повторений слов - Assembler

12.11.2013, 02:13. Просмотров 372. Ответов 2
Метки нет (Все метки)

В заданном тексте найти количество повторений заданного слова.
Текст и количество повторений вывести на экран.

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
67
68
69
70
data segment
string_s db "qwerty qwerty uytrewq qwertyui"
word_p db "qwerty $"
divider db 30 dup("="),13,10,36
ends
 
stack segment
dw 128 dup(0)
ends
 
code segment
start: 
mov ax, data
mov ds, ax
mov es, ax
 
cld 
mov cx, 30 
xor si, si 
xor di, di 
 
xor al, al 
xor ah, ah 
 
main_cycle:
 
mov dl, string_s[si] 
mov dh, word_p[di] 
cmp dl, dh 
je first_char_found 
jne not_found 
 
first_char_found: 
inc di 
inc al 
cmp al, 6 
je word_found 
jne next 
 
not_found:
xor al, al 
jmp next
 
word_found:
inc ah
xor al, al 
xor di, di
 
next:
inc si
loop main_cycle
 
exit:
 
lea dx, string_s
mov ah, 9
int 21h
 
lea dx, word_p
mov ah, 9
int 21h 
 
mov ah, 1
int 21h
 
mov ax, 4c00h ; 
int 21h 
ends
 
end start ;
Вот пример программы, вывел строки, сделал сравнение строк, но никак не сделаю так что бы вывело желанное количество повторений..может кто подскажет)) Буду благодарен))
http://www.cyberforum.ru/asm-beginners/thread1694954.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.11.2013, 02:13
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Вывод числа повторений слов (Assembler):

Вывод двойных слов
Сап анон, полгода учу MASM 4.0 (Intel 8086). Возникла проблема с красивым...

Вывод слов из строки TASM
Ввести с клавиатуры строку, состоящую из нескольких слов. Вывести каждое слово...

Формирование строки из исходной путем заданного числа повторений исходной строки (TASM)
Задание: Написать программу формирования строки из исходной путем заданного...

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

Формирование строки из исходной путём заданного числа повторений исходной строки
Помогите пожалуйста написать программку формирования строки из исходной путём...

2
Mikl___
Автор FAQ
11368 / 5911 / 534
Регистрация: 11.11.2010
Сообщений: 10,933
12.11.2013, 06:17 #2
by_haskell,
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
; masm dos exe #
.286
.model small
.data
string_s db "aqwerty qwerty uytrewq qwertyui"
num = $ - string_s
divider db "Слово "
word_p db "qwerty"
num1 = $ - word_p - 1
db " встречается в строке "
count db 30h,' раз$'
.stack 256
.code
start:  mov ax,@data
    mov ds,ax
    mov es,ax 
    mov cx,num
    mov di,offset string_s
    mov si,offset word_p+1
    mov al,[si-1]
main_cycle:repne scasb; ищем первый символ подстроки
    jcxz not_found  ; если закончилась строка СХ=0
first_char_found: push si ; найден первый символ  - проверяем остальные
    push cx
    mov cx,num1
    mov bx,cx
    repe cmpsb
    jcxz found
    jmp a0
found: inc count ; найдена вся подстрока
a0: sub bx,cx
    pop cx
    pop si
    sub cx,bx 
        jmp main_cycle
not_found:lea dx,divider
    mov ah,9
    int 21h  
    mov ah,0
    int 16h 
    mov ah,4Ch
    int 21h 
end start
1
by_haskell
0 / 0 / 1
Регистрация: 17.12.2012
Сообщений: 13
12.11.2013, 23:51  [ТС] #3
Спасибо большое)))
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.11.2013, 23:51
Привет! Вот еще темы с решениями:

Формирование строки из исходной путем заданного числа повторений исходной строки
Помогите написать программу формирования строки из исходной путем заданного...

В массиве слов заменить все отрицательные числа нулями
Здравствуйте, в универе изучаем ассемблер, а я что-то настолько олень, что...

Вывод числа
org 100h jmp start msg: db "Hello, World!", 0Dh,0Ah, 24h ...

Вывод числа
masm model tiny use16 org 100h data segment para public "data" massage...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru