У меня есть опция ROM, но BIOS не загружается, пока я не нажму клавишу esc и BIOS не вызовет вариант ROM. Хочу узнать, как BIOS вызывает опцию rom без нажатия клавиши esc? Прыгает ли он в ту же точку входа? Особенно где же вывод option rom, когда я могу видеть только заставку?
Как биос загружается в режиме выхода?
21.01.2013
- не связанные с программированием, голосование за переход на суперпользователя 21.01.2013
Ответы:
1
Успех! Вот мой патч для misc.bin. Я разобрал misc.bin и постоянно активировал последовательность клавиш esc, чтобы избежать ошибки загрузки.
seg000:016B loc_16B: ; CODE XREF: seg000:00BBj seg000:016B call sub_CB0 seg000:016E mov ds:byte_5A24, 0 seg000:0173 push bx seg000:0174 call sub_DFE seg000:0177 pop bx seg000:0178 nop seg000:0179 nop seg000:017A call sub_26C seg000:017D call sub_1F0 seg000:0180 mov cx, 0BB8h seg000:0183 seg000:0183 loc_183: ; CODE XREF: seg000:019Cj seg000:0183 mov ah, 1 seg000:0185 int 16h ; KEYBOARD - CHECK BUFFER, DO NOT CLEAR seg000:0185 ; Return: ZF clear if character in buffer seg000:0185 ; AH = scan code, AL = character seg000:0185 ; ZF set if no character in buffer seg000:0187 jz short loc_199 seg000:0189 xor ah, ah seg000:018B int 16h ; KEYBOARD - READ CHAR FROM BUFFER, WAIT IF EMPTY seg000:018B ; Return: AH = scan code, AL = character seg000:018D cmp ax, 2106h seg000:0190 jz short loc_1A0 seg000:0192 cmp ax, 1519h seg000:0195 jz short loc_1A0 seg000:0197 jmp short loc_1BD seg000:0199 ; --------------------------------------------------------------------------- seg000:0199 seg000:0199 loc_199: ; CODE XREF: seg000:0187j seg000:0199 call sub_2318 seg000:019C loop loc_183 seg000:019E jmp short loc_1BD seg000:01A0 ; --------------------------------------------------------------------------- seg000:01A0 seg000:01A0 loc_1A0: ; CODE XREF: seg000:0190j seg000:01A0 ; seg000:0195j seg000:01A0 mov ds:byte_5A5B, 1 seg000:01A5 mov ds:byte_573C, 0 seg000:01AA mov ds:byte_5A22, 0 seg000:01AF call sub_27E seg000:01B2 mov ds:byte_5A21, 3 seg000:01B7 mov dx, 8 seg000:01BA jmp loc_2ED seg000:01BD ; --------------------------------------------------------------------------- seg000:01BD seg000:01BD loc_1BD: ; CODE XREF: seg000:0197j seg000:01BD ; seg000:019Ej seg000:01BD call sub_F67 seg000:01C0 retf
25.01.2013
Новые материалы
Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..
Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально
Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..
Частный метод Python: улучшение инкапсуляции и безопасности
Введение
Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..
Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования
Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..
Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv)
Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..
Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..
Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..