|
0 / 0 / 0
Регистрация: 16.05.2017
Сообщений: 35
|
|
Вывод текста без WinAPI24.12.2017, 13:20. Показов 2089. Ответов 23
Метки нет (Все метки)
Здравствуйте!
Пишу OS на C++. Как мне создать функцию printf() без использования айостримов и т.д.? Как создать функции ввода? И все чтобы работало на чистом железе. Заранее спасибо!
0
|
|
| 24.12.2017, 13:20 | |
|
Ответы с готовыми решениями:
23
Создание окна без WinAPI Перетаскивание окна за любую его точку без WinApi
|
|
зомбяк
1585 / 1219 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
|
|
| 24.12.2017, 13:26 | |
|
Если на чистом железе (т.е. без операционной системы) - смотри документацию к микроконтролеру, к которому пишешь, какие там регистры отвечают за передачу на дисплей и т.п.
0
|
|
|
0 / 0 / 0
Регистрация: 16.05.2017
Сообщений: 35
|
|
| 24.12.2017, 17:38 [ТС] | |
|
0
|
|
|
зомбяк
1585 / 1219 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
|
|
| 24.12.2017, 17:44 | |
|
У каждой материнки есть как минимум биос, т.е. тоже изначально заложенная программа, к которой можно было бы как-то сделать вывод. Но в в вашем вопросе было "сделать всё с нуля", значит и сделано будет даже не для отдельной материнской платы, а для отдельной конфигурации оборудования. Если конечно за эту бессмысленную затею таки возьмётесь. Но предлагаю для начала потренироваться "на кошках", т.е. на оценочных платах каких-нибудь микроконтроллеров.
0
|
|
|
1272 / 1029 / 470
Регистрация: 25.12.2016
Сообщений: 3,333
|
|
| 26.12.2017, 09:28 | |
|
Kukushkha, можете ещё здесь спросить: https://www.cyberforum.ru/low-level/
0
|
|
|
0 / 0 / 0
Регистрация: 16.05.2017
Сообщений: 35
|
||||
| 26.12.2017, 11:12 [ТС] | ||||
|
Ладно! Допустим, я посмотрел документацию к И узнал что за это отвечают регистры AX и AH(Например). Тогда каким кодом мне произвести запись буквы Е в AX и буквы Б AH?
0
|
||||
|
зомбяк
1585 / 1219 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
|
|||
| 26.12.2017, 12:31 | |||
|
Добавлено через 1 минуту
0
|
|||
|
0 / 0 / 0
Регистрация: 16.05.2017
Сообщений: 35
|
|||
| 26.12.2017, 16:46 [ТС] | |||
Я имею в виду код C++. Какой функцией.
0
|
|||
|
Заклинатель змей
705 / 560 / 219
Регистрация: 30.04.2016
Сообщений: 2,605
|
|
| 26.12.2017, 23:36 | |
|
Kukushkha, а у вас есть компилятор С++ под вашу ОС?
1
|
|
|
0 / 0 / 0
Регистрация: 16.05.2017
Сообщений: 35
|
||
| 27.12.2017, 12:57 [ТС] | ||
|
Вы имеете ввиду OS которую пишу Я или ту, которая у меня сейчас на компе?
0
|
||
|
Заклинатель змей
705 / 560 / 219
Регистрация: 30.04.2016
Сообщений: 2,605
|
|
| 27.12.2017, 13:16 | |
|
Kukushkha, для той, на которую пишите. Это называется "Целевая платформа"
0
|
|
|
0 / 0 / 0
Регистрация: 16.05.2017
Сообщений: 35
|
||
| 27.12.2017, 14:27 [ТС] | ||
|
Вы хотите чтобы я искал компилятор C++ для BIOS?
0
|
||
|
Заклинатель змей
705 / 560 / 219
Регистрация: 30.04.2016
Сообщений: 2,605
|
|
| 27.12.2017, 14:42 | |
|
Kukushkha, а как вы будете запускать ваш С++ код или готовый исполнимый файл?
Добавлено через 2 минуты Могу ещё предложить int 09h из старых добрых времён
0
|
|
|
|
||
| 28.12.2017, 07:26 | ||
Сообщение было отмечено SatanaXIII как решение
Решениеint XXНа х86 архитектуре видепамять мапится на определенный адрес (на память не скажу, нужно гуглить), соответственно что бы напечатать текст на экран нужно скопировать твой текст в эту память. Можно задавать смещение на экране. Например base_address + 80 выведет тебе текст на второй строчке. Конечно речь о real mode, если у тебя например protected или любой другой, то фукнция печати должна переводить процессор в real, копировать строку в видеопамять и возвращаться в исходный режим.
0
|
||
|
0 / 0 / 0
Регистрация: 16.05.2017
Сообщений: 35
|
||||||||
| 28.12.2017, 11:17 [ТС] | ||||||||
Или вы предлагаете написать это на ASM, а потом запускать функции на C++? Если да, то как?
0
|
||||||||
|
Заклинатель змей
705 / 560 / 219
Регистрация: 30.04.2016
Сообщений: 2,605
|
|
| 28.12.2017, 15:56 | |
|
Kastaneda, прямое отображение в память, сейчас вообще можно так? (Я работал с асмом только в ДОС и не силён в его современных возможностях)
0
|
|
|
0 / 0 / 0
Регистрация: 16.05.2017
Сообщений: 35
|
|||
| 02.01.2018, 15:41 [ТС] | |||
|
Не по теме: Кстати, с новым годом! Добавлено через 18 часов 21 минуту Я тут хабр почитал... Узнал про архитектуру и формат ядра. С архитектурой разобрался, но еще не решил: "экзо" или "гибридное" ядро. А формат, без понятия. Что такое "elf", "a.out", "coff"?
0
|
|||
|
|
|||
| 04.01.2018, 20:17 | |||
Сообщение было отмечено DrOffset как решение
Решение Хотя если ты пишешь и постигаешь все с нуля то норм, узнаешь об этом когда дойдешь до исполнения программ.Добавлено через 5 минут Советую http://wiki.osdev.org/Main_Page тонна полезного материла на эту тему. Скопипастил оттуда много кода в свой древний рабочий проект)
0
|
|||
| 04.01.2018, 20:17 | |
|
Помогаю со студенческими работами здесь
20
Как создать winform в vs2012(3) быстро и без WinAPI, сохранив возможности С++ Вывод текста в WinAPI WinAPI и вывод текста Странный вывод текста в WinApi Вывод текста из файла в диалоговое окно winAPI Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях.
Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её.
Последовательность действий:. . .
|
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|