Форум программистов, компьютерный форум, киберфорум
Assembler: DOS/Real Mode/16-bits
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/18: Рейтинг темы: голосов - 18, средняя оценка - 4.72
0 / 0 / 0
Регистрация: 21.10.2013
Сообщений: 7

Вывод букв разным цветом в разных строках. ассемблер

21.10.2013, 23:22. Показов 3904. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ввести последовательность английских букв с консоли ЭВМ. Вывести в 12 строке экрана все гласные буквы (зеленым цветом), а в 20 строке все согласные (красным цветом). Также указать количество специальных символов, встречающихся в строке.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.10.2013, 23:22
Ответы с готовыми решениями:

Нарисовать 5 разных кругов разным цветом
нарисовать 5 разных круга разным цветом Добавлено через 9 минут Необходимо нарисовать 5 различных радиусом и цветом круга

Нужно в ассемблере вывести в текстовом режиме строку в разных частях экрана разным цветом
НАРОД,помогите сдать лабу! Нужно в ассемблере вывести в текстовом режиме строку в разных частях экрана разным цветом,очень...

Вывод текста разным цветом
program n01; uses crt; var s,z,n4,n3,n2,n,n1:integer; begin write('Вывести до:'); readln(n); write(' Выводить по:'); ...

5
Ушел с форума
Автор FAQ
 Аватар для Mikl___
16373 / 7685 / 1080
Регистрация: 11.11.2010
Сообщений: 13,759
22.10.2013, 03:28
паСLenok,
смотри прикрепленную тему F.A.Q. для раздела Assembler, MASM, TASM раздел Написать программу, выводящую строку "Hello, World!" на экран топик разноцветная надпись в DOS
0
0 / 0 / 0
Регистрация: 21.10.2013
Сообщений: 7
22.10.2013, 18:35  [ТС]
вот программа, которая различает гласные и согласные и выводит их нужными мне цветами. с этим разобраться получилось но все эти буквы выводятся в одной строке в такой же последовательности, какая была задана изначально. как сделать так, чтобы гласные и согласные выводились в разных строках? помогите

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
model small
.stack 100h           ;сегмент стека и его размер
.data                 ;сегмент данных
sogl        db 'bcdfghjklmnpqrstvwxzBCDFGHJKLMNPQRSTVWXZ'   ;Список согласных английских
sogllen     equ $-sogl  ;количество гласных в списке
a db 15, 16 dup (0)              
 
.code
.486                  ; сегмент кода
start:                ; начало главной процедуры
mov ax, @data         ; передаётся адрес сегмента данных
mov ds,ax             ; адрес сегмента данных присваивается сегментному регистру
xor ax,ax
 
;kyrsor
mov ah,2    ; ф-я установки курсора
mov dh,4 ; строка
mov dl,0     ; столбец
mov bh,0   ;видео страница
int 10h        ;прерывание
 
lea dx,a     ; в дх адрес, в котором хранятся данные из а
mov ah,0ah     ;ввод строки с клавиатуры
int 21h      
 
;kyrsor
mov ah,2
mov dh,12
mov dl,0
mov bh,0
int 10h
 
mov di,2
m1:
 cmp a[di],0dh
je m2            ; прыгает если числа равны
mov al,a[di]
                 mov     ah, 9
                 mov     bh, 0
                 mov     cx, sogllen
                 lea     si, sogl
 
 loc_3E:                                 ; CODE XREF: start+45j
                 cmp     [si], al
                 jz      short loc_4C
                 nop
                 nop
                 inc     si
                 loop    loc_3E    ; передача управления
                 mov     bl, 2    
                                  
                 jmp     short loc_4E
 ; ---------------------------------------------------------------------------
 
 loc_4C:                                 ; CODE XREF: start+40j
                 mov     bl, 4
 
 loc_4E:                                 ; CODE XREF: start+49j
                 mov     cx, 1
                 int     10h             ; - VIDEO - WRITE ATTRIBUTES/CHARACTERS AT CURSOR POSITION
                                         ; AL = character, BH = display page
                                         ; BL = attributes of character (alpha modes) or color (graphics modes)
                                         ; CX = number of times to write character
        mov ah,2
                 inc     dl         ;перех на след позицию курсора
                 int     10h
 
 
                 inc     di
                 jmp     short m1
 
 
int 21h
inc di
jmp m1
exit:
m2:
 
mov ax, 4c00h    ; код завершения программы
int 21h          ; завершение выполнения программы
end start        ; окончание главной процедуры
0
1779 / 757 / 153
Регистрация: 03.06.2009
Сообщений: 5,940
23.10.2013, 09:48
Хоть бы признался, что стырил отсюда https://www.cyberforum.ru/asse... post601229
0
0 / 0 / 0
Регистрация: 21.10.2013
Сообщений: 7
23.10.2013, 09:57  [ТС]
а я и не утверждаю, что код написан мной. а говорю, что получилось разобраться какие функции отвечают за какие цвета. и удалось их поменять. суть вопроса то в другом. как вывести согласные и гласные в разных строках?
0
0 / 0 / 0
Регистрация: 21.10.2013
Сообщений: 7
25.10.2013, 19:57  [ТС]
вот готовая программа для вывода в различных строках гласных и согласных разным цветом. осталось написать код для подсчета специальных символов. всем спасибо.

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
model small
.stack 100h          
.data                 
sogl        db 'bcdfghjklmnpqrstvwxzBCDFGHJKLMNPQRSTVWXZ'  
glas     equ $-sogl 
a db 15, 16 dup (0)              
 
.code
.486               
start:            
mov ax, @data        
mov ds,ax             
xor ax,ax
 
;kyrsor
mov ah,2    
mov dh,4 ; stroka
mov dl,0     ; stolbik
mov bh,0   ;stranica
int 10h        ;bios
 
lea dx,a    
mov ah,0ah     
int 21h      
 
mov di,2
m1:
 cmp a[di],0dh
je m2           
mov al,a[di]
                
                 mov     cx, glas
                 lea     si, sogl
 
 loc_3E:                               
                 cmp     [si], al
 jz      short loc_4C
                 nop
                 nop
                 inc     si
  loop    loc_3E   
                 mov ah,2      ;kyrsor
                 mov bh,0  
                 mov dh,12
                 int 10h
                mov     ah, 9   ;vivod
                 mov     bh, 0
                 mov bl, 2 ; krasniy               
                 mov cx,1                
                 int 10h
                  inc dl
                 inc     di
                 jmp     short m1
 loc_4C:                              
          
                 mov ah,2      ;kyrsor
                 mov bh,0  
                 mov dh,20
                 int 10h
                 mov     ah, 9   ;vivod
                 mov     bh, 0
                 mov bl, 4 ; zeleniy               
                 mov cx,1                
                 int 10h
  
                inc dl
                 inc     di
                 jmp     short m1
int 21h
inc di
jmp m1
exit:
m2:
 
mov ax, 4c00h  
int 21h      
end start
Добавлено через 5 часов 9 минут
код дополнен.. выводит еще и число специальных символов беда осталась одна: как убрать из выведенной зеленой строки специальные символы? помогите

Добавлено через 1 минуту
извините, вот дополненный код
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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
model small
.stack 100h          
.data                 
sogl        db 'bcdfghjklmnpqrstvwxzBCDFGHJKLMNPQRSTVWXZ'  
glas     equ $-sogl 
a db 100, '$'              
inp label byte
max   db     255
num   db      ?
s   db     255 dup(?)  
p2    db     0dh,0ah,'$'
.code
 
glas_sogl proc 
mov di,2
m1:
 cmp a[di],0dh
je m2           
mov al,a[di]
                
                 mov     cx, glas
                 lea     si, sogl
 
 loc_3E:                               
                 cmp     [si], al
 jz      short loc_4C
                 nop
                 nop
                 inc     si
  loop    loc_3E    
                 mov ah,2      ;kyrsor
                 mov bh,0  
                 mov dh,12
                 int 10h
                mov     ah, 9   ;vivod
                 mov     bh, 0
                 mov bl, 2 ; krasniy               
                 mov cx,1                
                 int 10h
                  inc dl
                 inc     di
                 jmp     short m1
 loc_4C:                              
          
                 mov ah,2      ;kyrsor
                 mov bh,0  
                 mov dh,20
                 int 10h
                 mov     ah, 9   ;vivod
                 mov     bh, 0
                 mov bl, 4 ; zeleniy               
                 mov cx,1                
                 int 10h
  
                inc dl
                 inc     di
                 jmp     short m1
int 21h
inc di
jmp m1
exit:
m2:
 ret
 endp
 
simvoly proc
mov si,0      
 
        lea DX,a
        
        mov AH,0ah
        lea DX,inp
  
        
        lea DX,a   
  
        lea SI,s
        mov CL,num
        mov CH,0
        xor BL,BL
 
m3:     mov AL,[si]
        cmp AL,' '
    je m5
        cmp AL,09h
        je m5
        cmp AL,0ah
    je m5 
        cmp AL,';'
    je m5
        cmp AL,','
    je m5
        cmp AL,':'   
           je m5
        cmp AL,'!'
    je m5
        cmp AL,'.'
          je m5
        cmp AL,'@'
           je m5
        cmp AL,'#'
           je m5
        cmp AL,'¹'
           je m5
        cmp AL,'^'
           je m5
        cmp AL,'&'
           je m5
        cmp AL,'%'
           je m5
        cmp AL,'*'
           je m5
        cmp AL,'('
           je m5
        cmp AL,')'
           je m5
        cmp AL,'-'
           je m5
        cmp AL,'_'
           je m5
        cmp AL,'+'
           je m5
        cmp AL,'='  
            je m5
        cmp AL,'/'  
        jne m4
m5:     inc BL       ;kol-vo simvolov
m4:     inc SI       
        loop m3
        
        add BL,30h   ;perevod v ASCII 
mov dl,0Ah
mov ah, 02h
int 21h
        mov AH,02h   ;vivod
        mov DL,BL    
                  int 21h      
        ret
endp
         
start:  
mov ax, @data        
mov ds,ax          
xor ax,ax 
 
;kyrsor
mov ah,2    
mov dh,4 ; stroka
mov dl,0     ; stolbik
mov bh,0   ;stranica
int 10h        ;bios
 
lea dx,a     
mov ah,0ah    
int 21h     
call glas_sogl 
call simvoly
 
mov ax, 4c00h  
int 21h      
end start
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.10.2013, 19:57
Помогаю со студенческими работами здесь

Вывод каждого символа разным цветом
Написал программу(ну как написал, составил скорее) выводит каждый символ строки с новой строчки, а в конце выводит колличество символов....

Вывод текста в Jeditorpane разным цветом
Хочу вывести разноцветный текст, но при использование этого метода выводится только переменная data3(С нужным, но только одним цветом)....

Вывод колонок DataGridView разным цветом
В элементе DataGridView текст в колонках должен выводиться разным цветом. Как это сделать?

Вывод текста сообщений программы разным цветом символов
Можно ли сделать так чтобы символы текстовой строки напрмер при выполнении оператора ShowMessage отображалась разным разным ...

Вывод чисел разным цветом в правой части экрана.
введите три числа и выведите их в столбик в правой части экрана: синим цветом числа до - 5, красным от - 5 до 5 включительно, зеленым числа...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru