0 / 0 / 0
Регистрация: 28.06.2009
Сообщений: 7
|
||||||
1 | ||||||
Защищенный режим. Работа с сегментами.01.12.2010, 01:41. Показов 4420. Ответов 11
Метки нет (Все метки)
Прошу помощи с компилом:
Assembling file: pm1.asm **Error** pm1.asm(26) Too few operands to instruction *Warning* pm1.asm(26) Argument needs type override **Error** pm1.asm(47) Relative jump out of range by 0004h bytes **Error** pm1.asm(56) Too few operands to instruction *Warning* pm1.asm(56) Argument needs type override **Error** pm1.asm(73) Undefined symbol: GDI **Error** pm1.asm(94) Too few operands to instruction *Warning* pm1.asm(94) Argument needs type override Error messages: 5 Warning messages: 3 Passes: 2 Remaining memory: 415k Реакция MASM32 v10: Assembling: pm1.asm pm1.asm(26) : error A2044: invalid character in file pm1.asm(56) : error A2044: invalid character in file pm1.asm(94) : error A2044: invalid character in file pm1.asm(73) : error A2006: undefined symbol : GDI Опробировано на WinXP и DOS-эмуляторе - результат одинаковый.
0
|
01.12.2010, 01:41 | |
Ответы с готовыми решениями:
11
защищенный режим защищенный режим Защищенный режим Защищенный режим: как использовать прерывания BIOS из PM |
Ушел с форума
16279 / 7604 / 1065
Регистрация: 11.11.2010
Сообщений: 13,617
|
|
01.12.2010, 04:51 | 2 |
Dandula,
1) pm1.asm(26) mov eax,cr0 в eax русские символы 2) pm1.asm(56) xor еах,еах в eax русские символы 3) pm1.asm(94) mov eax,cr0 в eax русские символы 4) pm1.asm(73) add ax,offset GDI ; EAX - линейный адрес GDT переменная GDI в комментарии GDT будь внимательнее!
1
|
0 / 0 / 0
Регистрация: 28.06.2009
Сообщений: 7
|
|
01.12.2010, 11:32 [ТС] | 3 |
Зевок с GDI исправил Но количество ошибок как ни странно увеличилось. Что делать с командой перехода на ТАСМе тоже пока вопрос.
0
|
2014 / 1286 / 61
Регистрация: 05.06.2010
Сообщений: 2,213
|
|
01.12.2010, 11:40 | 4 |
это вы о чем? Если о
просто уберите short. У меня во всяком случае все скомпилировалось без ошибок. На счет правильности работы не знаю, не проверял
1
|
Ушел с форума
16279 / 7604 / 1065
Регистрация: 11.11.2010
Сообщений: 13,617
|
|
01.12.2010, 11:49 | 5 |
Dandula, так покажи исправленный текст и строки с ошибками
0
|
0 / 0 / 0
Регистрация: 28.06.2009
Сообщений: 7
|
|
01.12.2010, 12:05 [ТС] | 6 |
Прошу прощения - не вводил ключ при компиляции. Еще один момет - как убрать русские символы из eax? Что вы имели в виду: сообщения или что-то иное? Англофикацией сообщений в коде проблема не решилась - осталось:
Turbo Assembler Version 4.1 Copyright (c) 1988, 1996 Borland International Assembling file: pm1.asm **Error** pm1.asm(26) Too few operands to instruction *Warning* pm1.asm(26) Argument needs type override **Error** pm1.asm(56) Too few operands to instruction *Warning* pm1.asm(56) Argument needs type override **Error** pm1.asm(94) Too few operands to instruction *Warning* pm1.asm(94) Argument needs type override Error messages: 3 Warning messages: 3 Passes: 2 Remaining memory: 415k Как это побороть?
0
|
2014 / 1286 / 61
Регистрация: 05.06.2010
Сообщений: 2,213
|
|
01.12.2010, 12:19 | 7 |
Dandula, ты видимо не понял, там в командах часть букв написана по русски, часть по английски(у меня копи/паст Зубкова дает тот же результат, видимо сканировали и так распозналось). Просто перепиши строки на которые указывает компилятор заново
1
|
Ушел с форума
16279 / 7604 / 1065
Регистрация: 11.11.2010
Сообщений: 13,617
|
|
01.12.2010, 12:31 | 8 |
Сообщение от Dandula
1
|
0 / 0 / 0
Регистрация: 28.06.2009
Сообщений: 7
|
|
01.12.2010, 12:35 [ТС] | 9 |
Всем сасибо за помощь! На этот раз все нормально скомпилилось.
P.S. Первоначаьно еще исправлял в Far с плагином Colorer и в командах с кириллицей исправлял операнды не с тем цветом подсветки - вот и возникла гупая ситуация.
0
|
Ушел с форума
16279 / 7604 / 1065
Регистрация: 11.11.2010
Сообщений: 13,617
|
|
01.12.2010, 12:46 | 10 |
Dandula, так в Far'e сразу видно, что это не регистр а переменная
0
|
Ушел с форума
16279 / 7604 / 1065
Регистрация: 11.11.2010
Сообщений: 13,617
|
|
01.12.2010, 13:18 | 11 |
Dandula, во вложении исходные тексты и скомпилированные экзе и ком разных авторов, но на одну и ту же тему переход из реального в защищенный и обратно, посмотри -- может быть пригодится
1) К.Г.Финогенов "Использование языка ассемблера" стр 209 2) Юров Хорошенко Assembler: учебный курс 1999 стр 431 3) Зубков С.В. "Assembler для Windows, DOS и Unix" стр 493 4) П.И.Рудаков К.Г.Финогенов "Язык ассемблера: уроки программирования" стр 286 5) Broken Sword цикл статей "Процессор Intel в защищенном режиме" на сайте WASM.RU 6) статья с сайта http://palien.narod.ru/Documen... ge0012.htm "Пример простой программы переключения режима"
0
|
2014 / 1286 / 61
Регистрация: 05.06.2010
Сообщений: 2,213
|
|
01.12.2010, 13:32 | 12 |
рекомендую начать с этой. Сам оттуда начинал когда то - проще объяснять наверно невозможно.
Ну и можно добавить к этому списку intel manuals - по английски, зато наиболее полно и из первоисточника
0
|
01.12.2010, 13:32 | |
01.12.2010, 13:32 | |
Помогаю со студенческими работами здесь
12
Защищенный режим работы процессора: нужна литература Защищенный режим и ошибка "CMOS checksum error" Связь сегментных регистров с сегментами Защищенный режим asm Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |