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

Ввести 3 символа и вывести больше чётных или не чётных

27.06.2018, 14:18. Показов 1270. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте. Помогите решить задачу. Ввести 3 символа и вывести словами больше чётных или не чётных цифр.
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
.Model tiny
.Code
org 100h
start:
 
 mov ah,0ah
 lea dx,a
 int 21h
 
 mov ah,2
 mov dl,10
 int 21h
 
 xor ax,ax
 
 
 
ret
 a db 4,?,5 dup('$')
 b db 3,?,4 dup('kolichestvo chitnix bolche $')
 c db 3,?,4 dup('kolichestvo ne chitnix bolche $')
end start
Дальше не понимаю как реализовать
TASM 1.4 , DOSBox

Добавлено через 24 минуты
вот моя задумка , но программа работает не правильно, прошу вас объяснить и показать почему так
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
.Model tiny
.Code
org 100h
start:
 
 mov ah,0ah
 lea dx,a
 int 21h
 
 mov ah,2
 mov dl,10
 int 21h
 
 xor bx,bx
 xor cx,cx
 mov al,0
 mov ah,0
 
 mov cx,3
 
 K: mov bl,a+2
    div bl
    cmp ah,0
    jnz u ; esli ne ravno nul
    inc ah ; hitnoe
 u: inc al
loop k
 
cmp ah,al
jb hit ; esli al>ah
mov ah,9
mov dl,b
int 21h
ret 
hit:
mov ah,9
mov dl,c
int 21h
 
ret
 a db 4,?,5 dup('$')
 b db 3,?,4 dup('kolichestvo chitnix bolche $')
 c db 3,?,4 dup('kolichestvo ne chitnix bolche $')
end start
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.06.2018, 14:18
Ответы с готовыми решениями:

Вводим число вывести каких делителей у него больше,четных или не четных
Вводим число, вывести каких делителей у него больше,четных или не четных. :)

Массив. Определить каких значений больше четных или не четных
Массив 10 элементов. Определить каких значений больше четных или не четных и напечатать. Значения...

Вывести, каких цифр в числе больше: четных или нечетных, и насколько (цикл While)
Дано число, кол-во цифр неизвестно, вывести каких цифр больше четных или нечетных, и насколько.

Ввести массив, состоящий из 20 элементов целого типа. Определить, каких элементов больше (четных или нечетных)
Ввести массив, состоящий из 20 элементов целого типа. Определить, каких элементов больше (четных...

3
Ушел с форума
Автор FAQ
16281 / 7605 / 1066
Регистрация: 11.11.2010
Сообщений: 13,618
27.06.2018, 15:00 2
yashenko2016,
в корне неправильно, "Ввести 3 символа и вывести словами больше чётных или не чётных цифр", пользователь может ввести три символа "запятых"? Может, а латинские буквы ввести? Это символы или нет? А управляющие символы "Ctrl+Ins", "Ctrl+Del"? Пользователю нужно, по крайней мере, в приглашении написать "нажми на три любые цифры", дальше для чего-то в регистр BL заносятся символы из строки, в которую пользователь введет символы с клавиатуры, а там между прочим 4 символа, а не 3. Что на что мы делим и для чего? Чтобы узнать четный символ или нет? Так для этого достаточно проверить чему равен последний бит 0 или 1. Попробуй ту же задачу сформировать на Паскале или Си. Разберешься -- поможем перевести на ассемблер...
0
0 / 0 / 0
Регистрация: 08.06.2016
Сообщений: 32
27.06.2018, 15:38  [ТС] 3
вот так работает если вводить числа

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
.Model tiny
.Code
org 100h
start:
 
 mov ah,0ah
 lea dx,a
 int 21h
 
 mov ah,2
 mov dl,10
 int 21h
 
 xor bp,bp
 xor bx,bx
 xor cx,cx
 xor ax,ax
 
test a+2,1
jnz f1  ;ne hitnoe
inc ah ; hitnoe
jmp f
 
f1:
inc al ;ne hitnoe
 
f:
 
test a+3,1
jnz f3  ;ne hitnoe
inc ah ; hitnoe
jmp f2
 
f3:
inc al ;ne hitnoe
 
f2:
test a+4,1
jnz f5  ;ne hitnoe
inc ah ; hitnoe
jmp f4
f5:
inc al ;ne hitnoe
 
f4:
 
cmp al,ah
ja hit ; esli al>ah
mov ah,9
lea dx,b+2
int 21h
ret 
hit:
mov ah,9
lea dx,c+2
int 21h
 
ret
 a db 4,?,5 dup('$')
 b db 3,?,4 dup('kolichestvo chitnix bolche $')
 c db 3,?,4 dup('kolichestvo ne chitnix bolche $')
end start
0
Ушел с форума
Автор FAQ
16281 / 7605 / 1066
Регистрация: 11.11.2010
Сообщений: 13,618
27.06.2018, 15:58 4
Лучший ответ Сообщение было отмечено yashenko2016 как решение

Решение

yashenko2016,
Assembler
1
2
3
4
5
6
mov ax,word ptr a+2
and ax,0101h
add ah,al
mov al,a+4
and al,1
add al,ah; в AL количество нечетных символов
0
27.06.2018, 15:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.06.2018, 15:58
Помогаю со студенческими работами здесь

Ввести массив, состоящий из 20 элементов целого типа. Определить каких элементов больше четных или нечетных по значению
Ввести массив, состоящий из 20 элементов целого типа. Определить каких элементов больше четных или...

Определить каких элементов больше четных или нечетных
Дан двумерный массив. Определить каких элементов в массиве больше четных или нечетных.

Выяснить каких чисел больше четных или нечетных
Помогите правильно формулу записать. Мне что-то подсказывает, что надо пользоваться массивами, но я...

Каких цифр в числе больше чётных или нечётных
Здравствуйте! Мне нужно написать программу в VB: должна быть экранная форма, на которой расположено...


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

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