Size: a a a

Ассемблер

2021 September 23

d

disba1ancer in Ассемблер
в этом нет смысла, ибо это явная ошибка проектирования, и должна решаться проектированием, как-то получить правильный результат не выйдет
источник

D

Den in Ассемблер
а я просто подумал что можно ли написать обработчик который остаток тогда в другой регистр запишет если dx занят
источник

D

Den in Ассемблер
или как то если результат слишком большой, организует другую пару и еще остаток
источник

d

disba1ancer in Ассемблер
процессор не записывает остаток никуда, просто вызывает обработчик исключения
источник

D

Den in Ассемблер
Ну вообще это наверное невозможно
источник

d

disba1ancer in Ассемблер
точнее не остаток, а часть результата, что не влезла
источник

D

Den in Ассемблер
Вот интересно в файлах bios как определить где секции кода а где данных, там есть ведь какой то формат заголовка?
источник

D

Den in Ассемблер
Прикольно, оказывается в коде bios не используется call потому, что он пишет адрес возврата в стек а в bios стека нет :)) т.е. я так думаю его могли бы сделать но это быстро убило бы микросхему bios
источник

D

Den in Ассемблер
Вот ссылка в тему:
https://www.youtube.com/watch?v=wwXpFSNTFog
Думаю теперь мож питона в bios зашить попробовать :)) только надо будет поправить там работу со стеком чтоли :)
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
секции (данные код стек итд) это про ОС, ты каккую ОС имеешь ввиду?
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
мож сегменты? (раз это реальный режим)
источник

D

Den in Ассемблер
да вот получается никакую, там какой то свой формат должен быть ведь, как то должен цпу понимать где код а где данные же
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
не должен
источник

DF

Dollar Føølish in Ассемблер
там плоский бинарь скорее всего, без секций

образ биоса шьется без изменений, иначе бы многое зависило от прошивальщика
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
ты ему скармливаешь команды, он их либо успешно исполняет, либо нет (в случае неверных данных/опкодов)
источник

D

Den in Ассемблер
да, там же 16 бит по идее код и рилмод
источник

D

Den in Ассемблер
Там текст есть в открытом виде, если это плоско все будет жеваться то мусорные опкоды cpu будет обрабатывать, там какое то должно быть разделение все же
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
почему будет обрабатывать мусор? если 1 раз задать правильный IP (при старте), то все и дальше пойдет по накатанной. не думаю что программеры умешленно пишут код так, что IP попадает на данные
источник

DB

Dima Bat in Ассемблер
разделение то в гарвардской архитектуре
источник

D

Den in Ассемблер
ну пока что то трудно так представить, вот например надо надпись вывести которая явно в ascii записана значит либо данные должны быть все в конце памяти, тогда можно как то считывать их в регистры по адресам в цикле посимвольно например, что то типа того, ну в принципе да можно наверное без разделения обойтись
источник