Форум программистов, компьютерный форум, киберфорум
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 01.06.2015
Сообщений: 19
TASM

Подсчитать количество одинаковых и различных элементов в вашей фамилии, начиная с последнего, в обратном порядке

08.05.2018, 13:36. Показов 770. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пожалуйста помогите.
Мне нужно создать программу на турбо ассемблере по заданию.
Подсчитать количество одинаковых и различных элементов в вашей фамилии, начиная с последнего, в обратном порядке.

Добавлено через 12 минут
У меня есть программа, которая сравнивает числа в двух массивах и если они совпадают, то она выводит их сумму. может можно как нить переделать. Подскажите прошу.

Добавлено через 23 секунды
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
.model tiny
 
.stack 100h
 
.data
 
      ArrayA                 db  05,10,06,44,20,32,05,11,46,0
 
      ArrayB                 db  35,10,15,44,20,02,65,10,46,0
 
      Difference           db  10 dup(0)
 
      NumOfDiff          dw  0
 
      NumOfEqual       dw  0
 
.code
 
start:
 
       mov ax,@data
 
       mov ds,ax
 
       push ds
 
       pop es
 
       mov di,offset Difference
 
       mov cx,10
 
       mov al,'Y'
 
       cld
 
       rep stosb
 
       mov si,offset ArrayA
 
       mov di,offset ArrayB
 
       mov bx,offset Difference
 
       mov cx,10
 
       cld
 
findDE:
 
       cmpsb
 
       jne NotEqual
 
       inc NumOfEqual
 
       inc bx
 
       dec di
 
       dec si
 
       mov al,byte ptr ds:[si]
 
       cbw
 
       add SumOfEqual, ax
 
       mov al,byte ptr ds:[di]
 
       cbw
 
       add SumOfEqual, ax
 
       inc si
 
       inc di
 
       jmp NextElement
 
NotEqual:
 
       inc NumOfDiff
 
       mov byte ptr ds:[bx],'N'
 
       inc bx
 
       dec di
 
       dec si
 
       mov al,byte ptr ds:[si]
 
       cbw
 
       add SumOfDiff, ax
 
       mov al,byte ptr ds:[di]
 
       cbw
 
       add SumOfDiff, ax
 
       inc si
 
       inc di
 
NextElement:
 
       loop findDE
 
       mov ax,4c00h
 
       int 21h
 
end     start
Добавлено через 1 час 23 минуты
Помогите пожалуйста.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.05.2018, 13:36
Ответы с готовыми решениями:

Подсчитать количество нулевых элементов массива и вывести его в обратном порядке
Подсчитайте количество нулевых элементов в массиве из 7 целых чисел и распечатайте исходный массив в обратном порядке.

Функция: переставить в обратном порядке k элементов массива, начиная с i-го
Добрый день. Помогите, пожалуйста, составить функцию, которая переставляет в обратном порядке k элементов массива A, начиная i-го (числа...

В строке указанное количество символов, начиная с заданной позиции, переписать в обратном порядке
В строке указанное количество символов, начиная с заданной позиции, переписать в обратном порядке. Ребята, напишите пожалуста!

6
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8644 / 4479 / 1669
Регистрация: 01.02.2015
Сообщений: 13,883
Записей в блоге: 11
08.05.2018, 19:43
Цитата Сообщение от вероник Посмотреть сообщение
Подсчитать количество одинаковых и различных элементов в вашей фамилии, начиная с последнего, в обратном порядке.
Это как?
На примере фамилии "ИВАНОВ" что должно вывести на экран?
0
0 / 0 / 0
Регистрация: 01.06.2015
Сообщений: 19
09.05.2018, 08:47  [ТС]
ЧИсло сколько всего букв тоесть 6.
И буква которая повторяется. То есть В
Это все.
0
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8644 / 4479 / 1669
Регистрация: 01.02.2015
Сообщений: 13,883
Записей в блоге: 11
09.05.2018, 15:17
Перед компиляцией поменяйте кодировку текста с cp1251 (ANSI) на cp866 (OEM)
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
.model small
 
.stack 100h
 
.data
        msgName         db      'Name: ', '$'
        asName          db      'ИВАНОВА'
        LenName         dw      $-asName
        msgTotal        db      'ЧИсло сколько всего букв тоесть ', '$'
        msgChar         db      'И буква которая повторяется. То есть '
        msgChar2        db      ?, 0Dh, 0Ah, '$'
        CrLf            db      0Dh, 0Ah, '$'
        msgPressAnyKey  db      'Press any key to exit...', '$'
        FreqChars       db      256 dup(0)
.code
 
main    proc
        ;инициализация сегментного регистра ds адресом сегмента данных
        mov     ax,     @data
        mov     ds,     ax
 
        ;
        mov     cx,     [LenName]
        lea     si,     [asName]
        lea     di,     [FreqChars]
        xor     bx,     bx
        @@For:
                mov     bl,     [si]
                inc     si
                inc     byte ptr[di+bx]
        loop    @@For
 
        ;вывод результатов
        mov     ah,     09h
        lea     dx,     [msgName]
        int     21h
        mov     ah,     40h
        mov     bx,     1
        mov     cx,     [LenName]
        lea     dx,     [asName]
        int     21h
        mov     ah,     09h
        lea     dx,     [CrLf]
        int     21h
        mov     ah,     09h
        lea     dx,     [msgTotal]
        int     21h
        mov     ax,     [LenName]
        aam
        add     ax,     '00'
        mov     dl,     ah
        mov     dh,     al
        mov     ah,     02h
        int     21h
        mov     dl,     dh
        int     21h
        mov     ah,     09h
        lea     dx,     [CrLf]
        int     21h
 
        mov     cx,     256
        lea     si,     [FreqChars]
        mov     bh,     0
        @@ForResult:
                lodsb
                cmp     al,     1
                jbe     @@Skip
                mov     [msgChar2],     bh
                mov     ah,     09h
                lea     dx,     [msgChar]
                int     21h
        @@Skip:
                inc     bh
        loop    @@ForResult
        ;ожидание нажатия любой клавиши
        mov     ah,     09h
        lea     dx,     [msgPressAnyKey]
        int     21h
 
        mov     ah,     00h
        int     16h
 
        mov     ax,     4C00h
        int     21h
main    endp
 
end     main
Результат прогона программы
Миниатюры
Подсчитать количество одинаковых и различных элементов в вашей фамилии, начиная с последнего, в обратном порядке  
0
0 / 0 / 0
Регистрация: 01.06.2015
Сообщений: 19
09.05.2018, 15:52  [ТС]
Я вам безумно благодарна, как неописуемо доброму человеку. Но вы мне не можете подсказать компилировать это команда TASM в командной строке. А поменять кодировку текста это чтобы русские буквы он понимал да? Просто в учебном заведении очень старый ассемблер.

Добавлено через 2 минуты
И как менять кодировку. Просто я смотрю мы на ассемблере что то делали там писали start а у вас main -это ничего страшного?
0
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8644 / 4479 / 1669
Регистрация: 01.02.2015
Сообщений: 13,883
Записей в блоге: 11
09.05.2018, 15:57
У меня текстовый редактор (старый AkelPad 2.x) позволяет менять кодировки.
Копилировать
tasm tak.asm
tlink tak.obj


Добавлено через 2 минуты
Цитата Сообщение от вероник Посмотреть сообщение
Просто я смотрю мы на ассемблере что то делали там писали start а у вас main -это ничего страшного?
Не знаю. Как для компиляции - так безразлично, как для защиты преподавателю - на удачу.
Образец имеется - разбирайтесь.
Будут вопросы - задавайте. Только комментировать каждую строчку не буду.
0
0 / 0 / 0
Регистрация: 01.06.2015
Сообщений: 19
09.05.2018, 16:03  [ТС]
Комментировать не надо. Спасибо вам огромное.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.05.2018, 16:03
Помогаю со студенческими работами здесь

Заполнить массив из N элементов степенями числа 2, начиная с 2 1 до 2 N, в обратном порядке
Напишите программу, которая заполняет массив из N элементов степенями числа 2, начиная с 2 1 до 2 N , в обратном порядке.

Заполнить массив из N элементов степенями числа 2, начиная с 2 1 до 2 N , в обратном порядке
Напишите программу, которая заполняет массив из N элементов степенями числа 2, начиная с 2 1 до 2 N , в обратном порядке. Используйте...

Вывести в консоль символы алфавита, начиная с первого символа вашей фамилии и заканчивая первым последним символом имени
Вывести в консоль символы алфавита, начиная с первого символа вашей фамилии и заканчивая первым последним символом имени.

Подсчитать сумму четных элементов матрицы, расположенных в шахматном порядке, начиная с элемента [0][0]
Подсчитать сумму четных элементов матрицы, расположенных в шахматном порядке, начиная с элемента .

Подсчитать количество слов, которые совпадают с введенным, прочитанным в обратном порядке
Прошу совета и помощи я работаю в qt грешу на него, у многих тут студия прошу проверить на ней, но думаю эффект будет тот же. под катом...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru