Anonymous
dec ebx ... test bx,bx jnz .lp это избыточно (и почему bx?)... просто в конце: dec ebx jnz .lp
я просто уже не помню какие флаги выставляет dec
Anonymous
все работает спасибо)
Eugene
Все, кроме CF.
Anonymous
а причем он тут?
Ask
прежде чем кодить на асме хотяб команды и способы их использования изучил чтоли
Anonymous
я знаю их просто когда знаешь много арх уже не понишь тонкости
Anonymous
4 байта не сыграют роли
Anonymous
помнишь*
Eugene
а причем он тут?
Тут — ни при чём. Ты говоришь, что не помнишь, какие флаги он выставляет. Я говорю, что все, кроме CF.
Anonymous
а :)
Ask
когда знаешь много архитектур наоборот проще так как примерно одно и тоже
Anonymous
нет
Anonymous
не одно и тоже
Anonymous
у каждой архитектуры свой мир и своя вселенная
Anonymous
arm64 это не cisc
Ask
говорю по опыту работы с арм, арк, мипс, и авр)
Anonymous
а risc
Ask
логика таже
Anonymous
ну и чем они одинаковы arm64 x86
Anonymous
не также нет cisc и risc
Anonymous
первые различия разный набор команд и разные state machines
Anonymous
разная организация памяти и доступ к ней
Anonymous
я могу перечислять очень долго
Anonymous
у них есть что то общее как и у всех арх
Ask
я говорил про команды, что они делают и как их проще использовать, а ты полез в дебри архитектур
Anonymous
но это только общее кажется не вооруженным глазом
Anonymous
ну хорошо dec нету d arm64
Anonymous
есть subs
Ask
и? хочешь сказать субс на флаги не влияет?
Anonymous
в mips там вообще такого нету
Anonymous
влияет
­
Anonymous
просто разная запись если мы говорим про команды
Anonymous
в добавок в arm mips разные флаги
Anonymous
по сравнению с x86
Ask
прям все разные или основные одинаковые всеже?
Anonymous
есть конечно одинаковые но различия присутствуют
Anonymous
mov al,0x11 out 0x20,al out 0xa0,al mov al,0x30 out 0x21,al add al,0x08 out 0xa1,al mov al,0x04 out 0x21,al sub al,0x02 out 0xa1,al dec al out 0x21,al out 0xa1,al lidt fword [IDTR] sti in al,0x70 btr ax,0x07 out 0x70,al mov eax,0x02 mov ebx,string mov ecx,42 int 0x40
Anonymous
когда делаю прерывание то происходит ошибка
Anonymous
IDT: rq 0x30 timer db 0x00,0x00,0x08,0x00,0x00,10001110b,0x00,0x00 ; IRQ 30 keyboard db 0x00,0x00,0x08,0x00,0x00,10001110b,0x00,0x00 ; IRQ 31 slave_PIC db 0x00,0x00,0x08,0x00,0x00,10001110b,0x00,0x00 ; IRQ 32 com24 db 0x00,0x00,0x08,0x00,0x00,10001110b,0x00,0x00 ; IRQ 33 com13 db 0x00,0x00,0x08,0x00,0x00,10001110b,0x00,0x00 ; IRQ 34 LPT2 db 0x00,0x00,0x08,0x00,0x00,10001110b,0x00,0x00 ; IRQ 35 controller_floppy db 0x00,0x00,0x08,0x00,0x00,10001110b,0x00,0x00 ; IRQ 36 LPT1 db 0x00,0x00,0x08,0x00,0x00,10001110b,0x00,0x00 ; IRQ 37 real_timer db 0x00,0x00,0x08,0x00,0x00,10001110b,0x00,0x00 ; IRQ 38 any_device db 0x00,0x00,0x08,0x00,0x00,10001110b,0x00,0x00 ; IRQ 39 any_device2 db 0x00,0x00,0x08,0x00,0x00,10001110b,0x00,0x00 ; IRQ 3a any_device3 db 0x00,0x00,0x08,0x00,0x00,10001110b,0x00,0x00 ; IRQ 3b any_device4 db 0x00,0x00,0x08,0x00,0x00,10001110b,0x00,0x00 ; IRQ 3c error_fpu_operation db 0x00,0x00,0x08,0x00,0x00,10001110b,0x00,0x00 ; IRQ 3d any_device5 db 0x00,0x00,0x08,0x00,0x00,10001110b,0x00,0x00 ; IRQ 3e any_device6 db 0x00,0x00,0x08,0x00,0x00,10001110b,0x00,0x00 ; IRQ 3f Hgui db 0x00,0x00,0x08,0x00,0x00,11101110b,0x00,0x00 ; IRQ 40 IDTlen equ $ - IDT IDTR: dw IDTlen dd IDT
Anonymous
а вот сама idt
Anonymous
там нету проблем но я скинул
Anonymous
уже разобрался
usernameak
classique
usernameak
бесит
s54820
classique
У иды же собственный крэшхэндлер, который минидампы пишет и предлагает пожаловаться разработчикам. Что ты делаешь, чтобы оно ТАК падало?
bilka00
изидроп
Anonymous
fasm не имеет инклюдов для библиотек ядра
Anonymous
сохраните себе товарище
Anonymous
Таблица страниц имеет размер 4 Кб, т. е. в ней можно описать 1024 стра- ницы. Следовательно, с помощью одной таблицы страниц можно описать 4 Мб памяти.
Anonymous
я не понял :)
Anonymous
все я понял
usernameak
я не понял :)
если надо больше - надо больше таблиц
Anonymous
1024 страницы
Anonymous
Так как 4 мб умещает в себе 1024 страницы каждая страница в простом режиме 4 кб получается 4 кб * 1024 = 4 мб
Anonymous
Ну во первых таблица не может весить 4 мб она может весить 4 кб ,и получается если у нас простая страничная адресация то получается каждая структура страницы весит 4 б а в расширенной PAE весит 8 байт и получается все равно будет весит 4*1024 или 512*8 и получается 4 кб
Anonymous
Если мы скажем что давайте представим структуры виде страницы то получается в простом режиме 4 мб ,а в расширенном 4 мб
Anonymous
Если я не ошибаюсь
Eugene
Подскажете толковую статью по работе с графикой и символами через порты (DOS)? Не просто спецификации типа Ralf Brown's, а чтоб было написано, что можно делать вот так и вот эдак и для этого пишем туда и сюда. В частности, сейчас мне надо изменить высоту строки текстового режима. Чтоб не 16 символов было, а 14, скажем (перезагрузка фонтов не интересует при этом). Может, кто знает/помнит, как это делается?
Eugene
Чтоб прям всё в одном месте было про работу с графикой. Грубо говоря, чтоб можно было видеорежим установить самому, сдвинуть точки старта (левого верхнего угла), прокрутить символы и пр. приколюхи.
Eugene
У меня ощущение, что я давным давно видел где-то набор прог с демками разных видеоэффектов, основных на манипуляциях с портами. Только хрен найдешь это теперь...
електр🟢нік ✙🟠рчбеч ඞ
freeVGA project looks like what you are looking for, but all downloadable files i have seen are 404
Eugene
freeVGA project looks like what you are looking for, but all downloadable files i have seen are 404
Yeah, I see 403 forbidden when downloading at http://www.osdever.net/FreeVGA/home.htm :(
Eugene
Но может, какая-то ссылочка рабочая найдётся, я посмотрю :) Ну или на archive.org :)
Eugene
Вот ссылку подогнали ещё: http://nostalgy.net.ru/demo/ppvideo.zip
vi'talij
Напоминаю :)
я потерял свое барахло. поищу детальней пожже. но єто будет не скоро. пока что, для изменения вьісотьі строкти и вьісотьі єкрана, должно помочь єто: http://www.softpanorama.org/People/Gurtyak/#Vga480
vi'talij
уже не помню, что єто, но там найдешь подсказки.
Co(n)stantine👨‍🔬
EAX x86 Register: Meaning and History
Eugene
Интересно, а современные видеокарты хорошо совместимы с VGA, чтобы эти трюки прокатывали?
Надо тестить. В качестве плохой новости могу сказать, что у нас в доме завёлся ноутбук, который не поддерживает даже перехода в видеорежим 13h. Т.е. пишешь mov ax,13h int 10h и ничего не происходит! При загрузке с флешки с чистым DOS'ом. Может, конечно, что-то там в настройках BIOS'а накручено, но вряд ли...