Aiwan \ (•◡•) / _bot
.data
var dd ?
Anonymous
Сейчас пробую
Anonymous
.data
MsgBoxCaption db "Rabotay nah",0
MsgBoxText db "Ne rabotaet",0
.code
mov eax,10
mov ebx,5
add eax,edx
start: invoke MessageBox, NULL, addr MsgBoxText, addr MsgBoxCaption, MB_OK
invoke ExitProcess, NULL
end start
Anonymous
\Подскажите куда?
Anonymous
Я например интуитивно делю строчки Код, Дата на процедуры в Делфи)))))))))
Aiwan \ (•◡•) / _bot
Anonymous
Смотрю
Anonymous
Благодарю
Aiwan \ (•◡•) / _bot
#book winapi Console API MSDN - ENG
Anonymous
Anonymous
не, у меня больше нет идей, почему 10h не фуричит вообще никак
Другие прерывания пробовал?
Anonymous
какие например?
Пробовал чужой код 100% рабочий компилить и запускать?
Anonymous
?
EMU8086 поставь себе
Там есть тестовая мини ос
Её собери
Anonymous
но какая разница, qemu что ли глючной получается?
Ты что то делаешь не так получается
Anonymous
ну вот
Я бы это так назвал
Anonymous
я это понимаю и пытаюсь найти причину. Через гуглинк пока чет не вышло
Я тебе написал возможные решения
Ты упорно отказываешься что то предпринимать, зато пишешь в конфу в надежде что по паре обрезанных скриншотов мы укажем на проблему
Как будто мы в ответе за всех, кто решили прикоснуться у ассемблеру и встретили сложности на самых первых шагах.
Это же специальная поделка для базового изучения Асма 8086 а не эмулятор
Vladimir
Vladimir
Просто сам пользуюсь kvm или virtualbox
Vladimir
потому и говорю
s54820
Anonymous
да, уверен. Если использовать режим по умолчанию, все работает. Адреса перепроверил, если касательно текста, все начинаются с 0xb8000
s54820
Anonymous
да, конечно
s54820
А почему ты так уверен, что тебе вообще доступны прерывания реального режима? Я не знаю, как там QEMU подгружает ELF, но я бы засомневался и посмотрел встроенным отладчиком, в каком режиме оно вообще запускается и работает.
Anonymous
а как еще из защищенного графику выводить, было бы странным, если бы они не были доступны
Anonymous
и тоже самое касается клавиатуры, жестких дисков и.т.д.?
Anonymous
т.е. норм оси обходят bios в этом плане
в видеопамять напрямую писать
Anonymous
ну напрямую я и пишу
Anonymous
ужас, всю абсурдность я осмыслил. VESA, я так понимаю, туда же, так?
Anonymous
все, базару ноль, понял. Тогда надо отказываться от GRUB`а
Anonymous
а то он сразу перед загрузкой ядра стартует защищенный режим
Anonymous
Тоже верно, спасибо. Тема с прерываниями биоса в защиенном режиме была до боли очевидна, просто я туп
Anonymous
И ведь по теории я это знал. Но ни в зуб ногой блин
Anonymous
Спасибо
Aiwan \ (•◡•) / _bot
очередной трап
Anonymous
как сделать, чтобы каретка в qemu не перекрывала символ на той же позиции?
𝐦𝐚𝐤𝐟𝐥𝐨𝐲
електр🟢нік ✙🟠рчбеч ඞ
Vladimir
нельзя было только в 80286, который нынче днём с огнём не найдёшь. да и не ребут там нужен был, а микросброс (специальная фича BIOS, процу шлётся INIT, биос по состоянию ячейки часов определяет, что это микросброс и отдаёт тебе управление)
Anonymous
Какой диалект лучше?
Anatoly
Суахили
Alignant
Интеловский православный самый
Vladimir
кому какой нравится и лучше всего соответствует задаче. стандартов на языки ассемблера нет
Alignant
Но так как интелы делают лучшие процессоры 😂
Anonymous
Vladimir
А обратно также просто?
ну установи обратно бит 0 (PE) и, если используешь MMU, бит 31 (PG). Но тут много подводных камней: надо отчётливо понимать, как процессор работает с сегментными регистрами и прерываниями. И что будет, если ПОСЛЕ установки CR0.PE и ДО загрузки сегментных регистров (включая CS) приедет NMI (его не замаскируешь же), и как будешь его обрабатывать.
Vladimir
Надо курить Intel SDM, иначе никак
Anonymous
Капец. Но да, я без mmu
Anonymous
Vladimir
Капец. Но да, я без mmu
Лучше не играться "опасными" флагами (CR0.PE, CR0.PG, CR4.PAE, EFER.LME). Можно легко выстрелить себе в ногу, если не понимаешь что происходит на каждом шаге.
Anonymous
Да, я понимаю
Vladimir
проще написать свой загрузчик
Anonymous
Но это другая задача
Anonymous
А мне надо войти в реальный, сделать кое-какие настрокий с VESA, а потом обратно в защищенный
Anonymous
И все довольны
Vladimir
Ну посмотри в исходниках того же груба как это делается
Vladimir
а с диском как работать будешь? будешь 32-битный драйвер писать?
Anonymous
Anonymous
Значит там как-то может вектора прерываний перебрасывают в защищенный, я хз
Vladimir