Форум программистов, компьютерный форум, киберфорум
Наши страницы

C++

Войти
Регистрация
Восстановить пароль
 
 
Kukushkha
0 / 0 / 0
Регистрация: 16.05.2017
Сообщений: 29
Завершенные тесты: 2
#1

Вывод текста без WinAPI - C++

24.12.2017, 13:20. Просмотров 814. Ответов 23
Метки нет (Все метки)

Здравствуйте!

Пишу OS на C++. Как мне создать функцию printf() без использования айостримов и т.д.?
Как создать функции ввода?

И все чтобы работало на чистом железе.

Заранее спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.12.2017, 13:20
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Вывод текста без WinAPI (C++):

Создание окна без WinAPI - C++
Хотелось узнать, как создавать окна без использования WinAPI.

Вывод текста не экран с помощью DrawText (DirectX) - C++
Здравствуйте, проблема такая: пытаюсь вывести текст на экран, если я пишу вот так pFont->DrawText(NULL, L"Все работает", -1, &rc,...

Перетаскивание окна за любую его точку без WinApi - C++ Builder
Дело в том, что в апи я 0 даже как вставить туда пару строк я не знаю могу только в VCL Form Application что-то писать подскажите код...

Отключить форму без смены цвета текста - C++ Builder
На экране есть форма (Memo). Можно ли сделать так, чтобы при отключении цвет текста не менялся?

Вывод текста - C++ Builder
Мне нужно выводить текст (служебная информация) Ест критерии: 1) скорость вывода (мне чем меньше задержка , тем лучше) 2)...

Вывод текста с изображениями - C++ Builder
Всем привет! Пишу программу тест, в котором имеется раздел "теория", в котором в свою очередь необходимо вывести Форматированный текст, с...

23
Kastaneda
Jesus loves me
Эксперт С++
4756 / 2960 / 243
Регистрация: 12.12.2009
Сообщений: 7,517
Записей в блоге: 2
Завершенные тесты: 1
28.12.2017, 14:24 #16
Цитата Сообщение от Kukushkha Посмотреть сообщение
надо прописать чтобы произвести запись в регистр.
Тебе не надо в регистр писать, писать надо в память. В каком режиме процессора работаешь?
0
DobroAlex
Модератор
365 / 310 / 87
Регистрация: 30.04.2016
Сообщений: 1,618
Завершенные тесты: 3
28.12.2017, 15:56 #17
Kastaneda, прямое отображение в память, сейчас вообще можно так? (Я работал с асмом только в ДОС и не силён в его современных возможностях)
0
Kastaneda
Jesus loves me
Эксперт С++
4756 / 2960 / 243
Регистрация: 12.12.2009
Сообщений: 7,517
Записей в блоге: 2
Завершенные тесты: 1
28.12.2017, 16:22 #18
Цитата Сообщение от DobroAlex Посмотреть сообщение
Kastaneda, прямое отображение в память, сейчас вообще можно так?
Под DOS'ом можно конечно, там же real mode и (естественно) ring 0.
0
Kukushkha
0 / 0 / 0
Регистрация: 16.05.2017
Сообщений: 29
Завершенные тесты: 2
02.01.2018, 15:41  [ТС] #19
Цитата Сообщение от Kastaneda Посмотреть сообщение
Тебе не надо в регистр писать, писать надо в память.
Ок. Но все же напишите, как это сделать.

Цитата Сообщение от Kastaneda Посмотреть сообщение
В каком режиме процессора работаешь?
В protected. Если записывать в память, надо сначала переходить в real, писать и обратно?

Не по теме:

Кстати, с новым годом!



Добавлено через 18 часов 21 минуту
Я тут хабр почитал... Узнал про архитектуру и формат ядра.
С архитектурой разобрался, но еще не решил: "экзо" или "гибридное" ядро. А формат, без понятия. Что такое "elf", "a.out", "coff"?
0
Kastaneda
Jesus loves me
Эксперт С++
4756 / 2960 / 243
Регистрация: 12.12.2009
Сообщений: 7,517
Записей в блоге: 2
Завершенные тесты: 1
04.01.2018, 20:17 #20
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Kukushkha Посмотреть сообщение
Что такое "elf", "a.out", "coff"?
Ты где-то далеко от своей ОС Хотя если ты пишешь и постигаешь все с нуля то норм, узнаешь об этом когда дойдешь до исполнения программ.

Цитата Сообщение от Kukushkha Посмотреть сообщение
В protected. Если записывать в память, надо сначала переходить в real, писать и обратно?
Да, либо держать где-то адрес замапленой страницы (если работаешь в protected с включенной страничной адресацией). Короче твоя задача записать текст в определенный физический адрес памяти.

Добавлено через 5 минут
Советую http://wiki.osdev.org/Main_Page тонна полезного материла на эту тему. Скопипастил оттуда много кода в свой древний рабочий проект)
0
Kukushkha
0 / 0 / 0
Регистрация: 16.05.2017
Сообщений: 29
Завершенные тесты: 2
27.01.2018, 15:18  [ТС] #21
Цитата Сообщение от Kastaneda Посмотреть сообщение
Короче твоя задача записать текст в определенный физический адрес памяти.
Хорошо. Но, расскажите все-таки как в регистры писать.
0
Mirmik
techpriest
216 / 187 / 49
Регистрация: 27.02.2014
Сообщений: 973
31.01.2018, 10:19 #22
На том же хабре много статей, аля "пишем ОС с нуля", где вывод в видеопамять изложен довольно хорошо. ( Как правило такие статьи недалеко заходят, но загрузка, вывод в видеопамять и работа с процессором там освещены. Если сделаете функцию write для монитора, можно будет обсудить, как printf писать.
0
Kastaneda
Jesus loves me
Эксперт С++
4756 / 2960 / 243
Регистрация: 12.12.2009
Сообщений: 7,517
Записей в блоге: 2
Завершенные тесты: 1
31.01.2018, 10:41 #23
Цитата Сообщение от Kukushkha Посмотреть сообщение
Но, расскажите все-таки как в регистры писать.
На ассемблере, либо через расширения компилятора. gcc например позволяет связать переменную с регистром и при записи в эту переменную будет происходить запись в регистр.
0
_lunar_
1386 / 1317 / 108
Регистрация: 03.05.2011
Сообщений: 3,046
Завершенные тесты: 1
05.02.2018, 19:56 #24
на будущее, также можно порыться в сорсах ReactOS (video.h) много интересного можно накапать о работе "windows"
0
05.02.2018, 19:56
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.02.2018, 19:56
Привет! Вот еще темы с ответами:

Вывод текста на форму - C++ Builder
Привет. Мне надо вывести в label или edit переменную плюс текст: как это можно сделать? Form1->Edit1->Text ="КДО1:"+ diaganal;...

Вывод текста в файл - C++ Builder
Вот этот код ofstream fout (SaveDialog1->FileName.c_str()); fout<<Edit1->Text.c_str()<<" "<<Edit2->Text.c_str()<<endl; fout.close ();...

Вывод текста на Панель - C++ Builder
- Здравствуйте Форумчане !!! Проблема вывести текст в нужном месте Панели. - На Форме я делал это просто: // положение...

Вывод текста в WinAPI - C++ WinAPI
Подскажите, пожалуйста, есть ли какие-то стандартные функции для вывода текста по вертикали? или например такой вариант - вывести по...


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

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

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