Форум программистов, компьютерный форум, киберфорум
Assembler: Windows/protected mode
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/21: Рейтинг темы: голосов - 21, средняя оценка - 4.52
0 / 0 / 0
Регистрация: 08.12.2019
Сообщений: 3
FASM

Изменить цвет текста, выводимого в консоль

28.10.2020, 11:53. Показов 4254. Ответов 5
Метки fasm (Все метки)

Студворк — интернет-сервис помощи студентам
Как сделать чтобы текст был красным или зел-ый тоесть имя и фамилия

Название: 003bc38c6048e44acc8183b70634c73a_i-319.jpg
Просмотров: 107

Размер: 10.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
format PE console
entry N99481205
include "win32a.inc"
stack 400h
 
section ".code" code readable executable
N99481205:
cinvoke printf, NamePrompt
cinvoke scanf_s, InpFormat, Name, 32
cinvoke printf, FamilyPrompt
cinvoke flushall
cinvoke scanf_s, InpFormat, Family, 32
cinvoke printf, Accost
cinvoke printf, Name
cinvoke putch, 32
cinvoke printf, Family
cinvoke putch, '!'
cinvoke flushall
cinvoke getch
cinvoke exit, NULL
 
section ".data" data readable
NamePrompt db "Введите имя: ", 0
FamilyPrompt db "Введите фамилию: ", 0
Accost db "Привет, ", 0
InpFormat db "%s", 0
 
section ".bss" data readable writeable
Name rd 32
Family rd 64
 
section ".idata" import data readable
library msvcrt, "msvcrt.dll"
import msvcrt, printf, "printf", getch, "_getch",\
scanf_s, "scanf_s", flushall, "_flushall",\
putch, "_putch", exit, "_exit"
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.10.2020, 11:53
Ответы с готовыми решениями:

Изменить цвет выводимого текста
Здравствуйте помогите вывести текст другим цветом и фоном, код под DOS .model tiny .code .286 ORG 100h start: mov ax,3 int...

Изменить цвет выводимого текста
Добрый вечер! Как изменить цвет текста? Использую Code::Blocks и Windows 7 x64. Такой способ не работает: #include<conio.h> ...

Изменить цвет выводимого поля из БД
Здравствуйте! Есть следующий код, выводящий данные из БД. Так вот, я хочу сначала проверить значение, а затем присвоить тексту цвет в...

5
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8644 / 4479 / 1669
Регистрация: 01.02.2015
Сообщений: 13,883
Записей в блоге: 11
28.10.2020, 12:15
Не знаю, сработает ли со средствами msvcrt - используйте функции WinAPI для работы с консолью
http://www.vsokovikov.narod.ru... con_fn.htm
https://docs.microsoft.com/en-... -functions
а именно SetConsoleTextAttribute
Вот какой-то пример для masm32
Assembler
1
2
3
4
5
6
7
8
9
10
hConsoleOutput  HANDLE  ?
hConsoleInput   HANDLE  ?dwColorWhite    dd      FOREGROUND_RED + FOREGROUND_GREEN + FOREGROUND_BLUE
................
        ; получение описателей ввода и вывода консоли
        invoke  GetStdHandle,   STD_INPUT_HANDLE
        mov     [hConsoleInput],  eax
        invoke  GetStdHandle,   STD_OUTPUT_HANDLE
        mov     [hConsoleOutput], eax
.................
invoke  SetConsoleTextAttribute, hConsoleOutput, [dwColorWhite]
Правда, вывод делал при помощи WriteConsole, а не printf.

Попробуйте - может заработает и с msvcrt.
0
0 / 0 / 0
Регистрация: 08.12.2019
Сообщений: 3
28.10.2020, 21:12  [ТС]
Прошлый вопросе не получилось помогите пожалуйста ребята!
Не могу изменить цвет текста на красный тоесть "Hello World"
Если можно напишите в мою код или укажите куда написать буду очень блогодарень!
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
format PE64 GUI 
entry start 
 
section '.text' code readable executable 
 
  start: 
      sub     rsp,8*5         ; reserve stack for API use and make stack dqword aligned 
 
    mov     r9d,0 
    lea     r8,[_caption] 
    lea     rdx,[_message] 
    mov    rcx,0 
    call    [MessageBoxA] 
 
    mov     ecx,eax 
    call    [ExitProcess] 
 
section '.data' data readable writeable 
 
  _caption db 'Win64 assembly program',0 
  _message db 'Hello World!',0
 
section '.idata' import data readable writeable 
 
  dd 0,0,0,RVA kernel_name,RVA kernel_table 
  dd 0,0,0,RVA user_name,RVA user_table 
  dd 0,0,0,0,0 
 
  kernel_table: 
    ExitProcess dq RVA _ExitProcess 
    dq 0 
  user_table: 
    MessageBoxA dq RVA _MessageBoxA 
    dq 0 
 
  kernel_name db 'KERNEL32.DLL',0 
  user_name db 'USER32.DLL',0 
 
  _ExitProcess dw 0 
    db 'ExitProcess',0 
  _MessageBoxA dw 0 
    db 'MessageBoxA',0
Название: bandicam 2020-10-28 23-08-55-191.jpg
Просмотров: 103

Размер: 8.1 Кб
0
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8644 / 4479 / 1669
Регистрация: 01.02.2015
Сообщений: 13,883
Записей в блоге: 11
28.10.2020, 22:35
Покажите, как вы пытались менять цвет.
Ну не мне же набирать минимальный тестовый пример...

Добавлено через 1 час 6 минут
Минимальный тестовый пример вывода цветного текста при помощи WriteConsole и printf из msvcrt
На masm32 - мне так проще, а fasm для меня проблематичен, с трудом им пользуюсь. На fasm переведёте самостоятельно.
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
.686
.model flat, stdcall
option casemap :none
 
        include \masm32\include\windows.inc
 
        include \masm32\include\user32.inc
        include \masm32\include\kernel32.inc
        include \masm32\include\msvcrt.inc
 
        includelib \masm32\lib\user32.lib
        includelib \masm32\lib\kernel32.lib
        includelib \masm32\lib\msvcrt.lib
 
.const
        dwWhiteOnBlack  dd      FOREGROUND_RED + FOREGROUND_GREEN + FOREGROUND_BLUE + FOREGROUND_INTENSITY
        dwLightGray     dd      FOREGROUND_BLUE + FOREGROUND_GREEN + FOREGROUND_RED
        dwYellowOnBlue  dd      FOREGROUND_GREEN + FOREGROUND_RED + FOREGROUND_INTENSITY +\
                                BACKGROUND_BLUE
        azString        db      "String", 0Dh, 0Ah, 0
.data
 
.data?
        hConsoleOutput  HANDLE  ?
        hConsoleInput   HANDLE  ?
        iTemp           dd      ?
        dwColor         dd      ?
.code
 
print   proc
        ;установка цвета
        invoke  SetConsoleTextAttribute, [hConsoleOutput], [dwColor]
        ;вывод строки
        invoke  WriteConsole, [hConsoleOutput], ADDR azString,\
                LENGTHOF azString - 1, ADDR iTemp, NULL
        ret
print   endp
 
msv     proc
        ;установка цвета
        invoke  SetConsoleTextAttribute, [hConsoleOutput], [dwColor]
        invoke  crt_printf,     ADDR azString
        ret
msv     endp
 
main    proc
        ; получение описателей ввода и вывода консоли
        invoke  GetStdHandle,   STD_INPUT_HANDLE
        mov     hConsoleInput,  eax
        invoke  GetStdHandle,   STD_OUTPUT_HANDLE
        mov     hConsoleOutput, eax
 
        mov     eax,    [dwYellowOnBlue]
        mov     [dwColor],      eax
        call    print
 
        mov     eax,    [dwLightGray]
        mov     [dwColor],      eax
        call    print
 
        mov     eax,    [dwWhiteOnBlack]
        mov     [dwColor],      eax
        call    print
 
        mov     eax,    [dwYellowOnBlue]
        mov     [dwColor],      eax
        call    msv
 
        invoke  ExitProcess, 0
main    endp
 
end     main
0
0 / 0 / 0
Регистрация: 08.12.2019
Сообщений: 3
29.10.2020, 09:49  [ТС]
@ФедосеевПавел я уже и на MASM32 пробовал.Не могу открыть консольный окно.
Console написал = >
ml /c /coff test.asm
link /subsystem:console test.obj
и появилось два файла test.exe , test.obj почему не запускается? тоесть запускается и сразу закрывается почему так происходит?
0
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8644 / 4479 / 1669
Регистрация: 01.02.2015
Сообщений: 13,883
Записей в блоге: 11
29.10.2020, 19:43
В той же консоли наберите и test.

Или в конец программы добавьте вызов _getch (fasm) или crt__getch (masm32)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.10.2020, 19:43
Помогаю со студенческими работами здесь

Изменить размер выводимого текста в текстовом режиме
Мне нужно, чтобы процедурой write(<текст>) выводился текст в 2 или 3 раза больше обычного. В процедуре модуля crt (textmode) я вводил...

Как изменить шрифт текста выводимого в новом окне?
Есть форма которая при отправке генерирует новую html-страницу открываемую в новом окне. Кроме того есть функция, которая по-идее должна...

Изменить цвет строк и цвет текста через одну в listbox
Всем привет! Есть код который изменят стиль и цвет строк и текста в datagridview For intCount As Integer = 1 To...

Консоль: изменить цвет определенного предложения или слова в тексте
как можно изменить цвет определенного предложения или слова в тексте в консоли? Помогите пожалуйста ¤:]

Как изменить цвет /шрифт символов , которые выводятся на консоль ?
Подскажите , пожалуйста


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
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 . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru