Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
коба
0 / 0 / 0
Регистрация: 25.05.2011
Сообщений: 12
#1

Нужно переделать прогу

27.04.2012, 01:23. Просмотров 534. Ответов 6
Метки нет (Все метки)

Пожалуста, помогите переделать програму с одного задания на другое...
Нужно сделать что бы находило каких букв в введенном тексте больше гласных или не гласных.
С вот такой програмы (она выводит ошибку если в введенном тексте две запетые подряд)
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
Model Small
Stack 256
DATASEG
 
MessageInputString db 'Please input the string $' ; повідомлення "введіть рядок"
MessageError db 'Error , please try again $';повід. "помилка ,попробуйте ще раз"
MessagePoint db , 'The string was inputed without error $' ; пов "рядок введено без помилки"
MessageEndl db 13,10,'$' 
exCode DB 0
CODESEG
Begin:
    mov ax,@data
    mov ds, ax
 
    mov ah , 09h                            ;виводимо повідомлення про 
    lea dx , MessageInputString ;початок введення рядка
    int 21h                                 ;із клавіатури
 
    call endl ; перевести каретку на початок наступного рядка
    
INPUT:            ; введення рядку з клавіатури
    mov bl , al
    mov ah , 01h         ; функція 21го переривання 
    int 21h            ; що відповідає за введення символу з клавіатури
    
    cmp al , '.'     ; порівнюємо введений символ з "."
    je AFTER       ; якщо "." то перейти на мітку "AFTER"
    
    cmp al , ','
    jne INPUT
    cmp al ,bl
    jne INPUT
    call endl
    mov ah ,09h
    lea dx , MessageError
    int 21h
    jmp exit
    
AFTER:    
    call endl
    mov ah ,09h
    lea dx , MessagePoint
    int 21h
Exit:
 
    mov ah, 04Ch    
    mov al , [exCode] 
    int 21h
 
endl:
    push ax
    push dx
    mov ah , 09h
    mov dx , offset MessageEndl
    int 21h
    pop dx
    pop ax
ret 
 
END Begin
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.04.2012, 01:23
Ответы с готовыми решениями:

Переделать прогу под эмулятор z80
Доброго всем времени суток. Помогите переделать прогу написанную для...

Здравствуйте, можно ли переделать прогу для того, чтобы она работала на виндовс 7?
.model tiny .486 .code org 100h start: mov ax,13h int 10h xor ax,ax...

нужно переделать программу из си в ассемблер!
Есть такая программка на си,нужно ее переделать на ассемблер,я вообще ассемблер...

Нужно переделать программу. TASM.
Здравствуйте уважаемые обитатели данного форума. Так вышло, что мне нужна ваша...

Нужно переделать готовую программу
Здравствуйте есть готовая программ http://allasm.ru/soft/stat/tut09.zip, цель...

6
AFP
649 / 336 / 37
Регистрация: 04.04.2012
Сообщений: 887
27.04.2012, 10:38 #2
Можно попробовать. Только мне проще свою написать, а не переделать чужую.
0
коба
0 / 0 / 0
Регистрация: 25.05.2011
Сообщений: 12
27.04.2012, 12:39  [ТС] #3
Попробуй написать свою пожалуйста тогда
0
AFP
649 / 336 / 37
Регистрация: 04.04.2012
Сообщений: 887
27.04.2012, 16:00 #4
Какой алфавит, русский или украинский? Прописные и строчные (маленькие большие) или только прописные? Только прописные будет проще.

Добавлено через 16 минут
В чистом ДОСе или в окне ДОС?

Добавлено через 2 часа 43 минуты
Может только латинские символы? Тогда проблем наверное не будет.
Гласные: A, E, I, O, U (Y также иногда рассматривается как гласная)
0
Ant1971on
265 / 260 / 11
Регистрация: 24.12.2010
Сообщений: 328
27.04.2012, 19:07 #5
Да вобщем-то несложно и все символы обрабатывать, если использовать xlat.
0
коба
0 / 0 / 0
Регистрация: 25.05.2011
Сообщений: 12
27.04.2012, 19:11  [ТС] #6
Парни спасибо всем, но уже не нужно..
0
AFP
649 / 336 / 37
Регистрация: 04.04.2012
Сообщений: 887
28.04.2012, 15:23 #7
Сделал для себя, и вам показать.
Вывод сообщений на экран на русском языке.
Ввод латинскими символами.
Равное количество гласных и согласных – не обрабатывается.
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
;TASM, COM-файл
.model tiny
.code
.386
org 100h
start:
    mov ax,3
    int 10h
 
    mov ah,9
    lea dx,str1
    int 21h
 
    mov ah,10
    lea dx,strbuf
    int 21h
 
    mov ah,2
    mov dl,10
    int 21h
 
    mov si,dx
    inc si
    xor ax,ax
    xor cx,cx
    mov al,[si]
    mov cl,al
    db 0D4h,2
    inc si
    lea di,glas
m1:
push cx
push di
    mov cl,12;strlen
    mov al,[si]
    repne scasb
    jnz short no_glas
    inc bl
no_glas:
pop di
pop cx
    inc si
    loop m1
 
    lea dx,str2
    cmp bl,ah
    jg short m2
 
    lea dx,str3
m2:
    mov ah,9
    int 21h
 
    mov ah,0
    int 16h
    ret
 
str1 db '‚ўҐ¤ЁвҐ бва®Єг: $'
str2 db 'ѓ«*б*ле Ў®«миҐ.$'
str3 db 'Ѓ®«миҐ б®Ј«*б*ле.$'
glas    db 'aeiouyAEIOUY'
;strlen equ $-glas
strbuf  db 200,200  dup ('$')
 
end start
0
28.04.2012, 15:23
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.04.2012, 15:23

Нужно переделать готовую программу из TASM в MASM32
Вот собственно у меня такая проблема. Надо переделать данную программу в MASM32.

Нужно переделать, под программу с использованием механизма подпрограмм.
Даны натуральные числа A1,…An. Найти максимальный элемент массива. Нужно...

перевести прогу на асемблер
Задана строка из смеси русских строчных и заглавных букв. Преобразовать её в...


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

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

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