Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler
Регистрация

Восстановить пароль
Повторная активизация e-mail


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 15 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Результаты опроса: Хотите ли вы читать эту книгу?
Хочу 145 78.80%
Не хочу 28 15.22%
уже прочитал 11 5.98%
Голосовавшие: 184. Вы ещё не голосовали в этом опросе

Ответ
 
Опции темы
Старый 12.03.2019, 23:16   #21
PetroMetro
 
Регистрация: 11.03.2019
Сообщений: 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от Pavia Посмотреть сообщение
Во времена доса 64 битного режима не было. Поэтому dosbox его и не эмулирует.
И вообще дос это 16 битное программирование.

Берите нормальный эмулятор и вперёд.
В порядке убывания качества VMware Player, VirtualBox, Bochs, Qemu.
Имеете ввиду, что в программе DOSbox эмулируются только те аппаратные возможности которые были во времена его актуальности?
FreeDos на VirtualBox'e. И судя по вашим словам, если установлю ms-dos на реальное железо с современным процессором, то у Меня не будет таких ошибок?
Значит в теории если создаю новую машинку в виртуалбоксе, то не надо указывать что там будет ms-dos, а указать 10ку, что бы он эмулировал современный проц.
PetroMetro вне форума   Ответить с цитированием
Старый 12.03.2019, 23:56   #22
Pavia
Лис
Профессионал
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 1,790
Репутация: 1956
По умолчанию

Цитата:
Сообщение от PetroMetro Посмотреть сообщение
Имеете ввиду, что в программе DOSbox эмулируются только те аппаратные возможности которые были во времена его актуальности?
Да. И то не очень.

Цитата:
Сообщение от PetroMetro Посмотреть сообщение
в виртуалбоксе, то не надо указывать что там будет ms-dos, а указать 10ку, что бы он эмулировал современный проц.
Виртуалбоксу и вмваре без разницы.
Единственно для чего мне пригодилось указания ОС это для того чтобы вызвать авто.установку ОС.
Больше ни для чего и отличий я не заметил.

Вот для qemu - стоит указать ms-dos. А то он напротив может перестать эмулировать историческое наследие.

Цитата:
Сообщение от PetroMetro Посмотреть сообщение
если установлю ms-dos на реальное железо с современным процессором, то у Меня не будет таких ошибок?
Насколько мне известно у автора ошибок в книге не было. Разве что изложенный текст местами может содержать двоякое толкование, приводящее к путанице.

ms-dos сейчас трудно поставить на компьютер.
А будут ошибки или нет, пока не попробуешь не узнаешь. Если бы ошибок не было то бы не было таких понятий как отладка, стыковочные/интеграционные испытания.
__________________
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .
Pavia вне форума   Ответить с цитированием
Старый 13.03.2019, 08:47   #23
PetroMetro
 
Регистрация: 11.03.2019
Сообщений: 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от Pavia Посмотреть сообщение
Берите нормальный эмулятор и вперёд.
В порядке убывания качества VMware Player, VirtualBox, Bochs, Qemu.
Насколько мне известно у автора ошибок в книге не было
VMWare что то тоже не работает. А скажите Вы на каком эмуляторе занимались по этой книге. Или "ошибок не было" Вы просто подразумевали написанное Им в теоретической части?
PetroMetro вне форума   Ответить с цитированием
Старый 13.03.2019, 17:18   #24
Pavia
Лис
Профессионал
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 1,790
Репутация: 1956
По умолчанию

Прям сейчас из под Bochs у меня запустились его примеры. Под VirtualBox не пошли. Вечером посмотрю внимательнее где могут быть ошибки.

Попробовал на virtualBox тоже смог запустить.
1) баг virtualBox при указании 32 мегабайт и менее реально выделялось 4 мб. Следует выставлять больше 64 МБ и более.

2) Не забыть включить в настройках флажок PAE.
__________________
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .
Pavia вне форума   Ответить с цитированием
Старый 13.03.2019, 21:32   #25
rpy3uH
добрый няша
СуперМодератор
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Адрес: Солнечное Тбилиси
Сообщений: 4,806
Репутация: 2006
По умолчанию

PetroMetro, используйте нормальную виртуальную машину, Pavia вам уже ответил по существу вопроса.

P.S. Я когда писал примеры, проверял на их и на физической машине, и на виртуалке.
rpy3uH вне форума   Ответить с цитированием
Старый 14.03.2019, 22:06   #26
PetroMetro
 
Регистрация: 11.03.2019
Сообщений: 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от Pavia Посмотреть сообщение
Прям сейчас из под Bochs у меня запустились его примеры. Под VirtualBox не пошли. Вечером посмотрю внимательнее где могут быть ошибки.

Попробовал на virtualBox тоже смог запустить.
1) баг virtualBox при указании 32 мегабайт и менее реально выделялось 4 мб. Следует выставлять больше 64 МБ и более.

2) Не забыть включить в настройках флажок PAE.
sample2.4.PAE заработал на VMware.
На virtualBox что то не догадался поставить флажок на PAE, так же увеличил до 64, но один фиг виртуалка отключилась. Но Вы же говорили что для эмуляции ms-dos будут в виртуалке только необходимое, поэтому решил в virtualBox создать машину, на которую "типо" буду создавать win10 64 bit, и флажочек выставил, и всё заработало. Вы наверное на линуксе каком нить проверяли, раз в такие подробности не вдавались на счёт установки, когда говорили что у Вас работают примеры.
Спасибо Вам за помощь.
И сразу Грузину - Вы зря так: "используйте нормальную виртуальную машину", Спасибо Вам за книгу, но на самом деле, сейчас столько факторов, которые мешают правильно заниматься по книге и тут никто не виноват(ну вернее Я, так как решил заняться этим), Я к примеру даже не знаю чем отличаются эти разные досы, виртуалки, что в итоге для Меня является тёмным лесом.
Надеюсь следующая книга будет ещё более лучше, а то писать книгу, а потом получать подобные сообщения как от Меня, наверно не сильно приятно. Но Вы извините, не хотел просто так сдаваться Вашей книге
PetroMetro вне форума   Ответить с цитированием
Старый 18.03.2019, 21:55   #27
char[]
Новичок
 
Регистрация: 18.03.2019
Сообщений: 2
Репутация: 10
По умолчанию

А подскажите не поиму в листинге 2.1 вот этот участок :; загрузить новый селектор в регистр CS
db 66h ; префикс изменения разрядности операнда
db 0EAh ; опкод команды JMP FAR
ENTRY_OFF dd PROTECTED_MODE_ENTRY_POINT ; 32-битное смещение
dw 00001000b ; селектор первого дескриптора

Зачем сдесь после ENTRY_OFF dd PROTECTED_MODE_ENTRY_POINT ; идет dw 00001000b
char[] вне форума   Ответить с цитированием
Старый 19.03.2019, 21:54   #28
PetroMetro
 
Регистрация: 11.03.2019
Сообщений: 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от char[] Посмотреть сообщение
А подскажите не поиму в листинге 2.1 вот этот участок :; загрузить новый селектор в регистр CS
db 66h ; префикс изменения разрядности операнда
db 0EAh ; опкод команды JMP FAR
ENTRY_OFF dd PROTECTED_MODE_ENTRY_POINT ; 32-битное смещение
dw 00001000b ; селектор первого дескриптора

Зачем сдесь после ENTRY_OFF dd PROTECTED_MODE_ENTRY_POINT ; идет dw 00001000b
00001000 второй селектор в GDT, получается будет первым в дальнем прыжке и получится так:
jmp 00001000b:PROTECTED_MODE_ENTRY_POIN T
если не указать то возможно обработается прыжок на неопределённый сегмент. Тут Я уж не готов утверждать но возможно изымится двойное слово после объявленной переменной ENTRY_OFF, а там идёт выравнивание, то есть заполнение nop'ом если не ошибаюсь, какой опкод nop не помню
PetroMetro вне форума   Ответить с цитированием
Старый 29.03.2019, 15:59   #29
char[]
Новичок
 
Регистрация: 18.03.2019
Сообщений: 2
Репутация: 10
По умолчанию

Цитата:
Сообщение от PetroMetro Посмотреть сообщение
00001000 второй селектор в GDT, получается будет первым в дальнем прыжке и получится так:
jmp 00001000b:PROTECTED_MODE_ENTRY_POIN T
если не указать то возможно обработается прыжок на неопределённый сегмент. Тут Я уж не готов утверждать но возможно изымится двойное слово после объявленной переменной ENTRY_OFF, а там идёт выравнивание, то есть заполнение nop'ом если не ошибаюсь, какой опкод nop не помню
спасибо так и предполагал,автор не много не доступно эти моменты объясняет
char[] вне форума   Ответить с цитированием
Старый 02.04.2019, 04:56   #30
PetroMetro
 
Регистрация: 11.03.2019
Сообщений: 7
Репутация: 10
По умолчанию

Подскажите пожалуйста, при компиляции DLL используется обычная команда "fasm"? А то у меня показывает "bad image" при запуске программы- "не предназначена для выполнения в виндоус или содержит ошибку". брал исходник из примера. Но если из примера брать уже готовый ДЛЛ то всё норма работает. Так же думая что это из-за того что у Меня win10 64 стоит, компилировал и в других версиях винды, и тоже самое происходило. На форуме flatassembler.net , Томас пишет что это из-за пустого .reloc, так же из за того что нету выравнивания, так же что бы секции были читаемы, версию GUI менял. Ну короче всё перепробовал что была там предложено, ничего не помогает, подскажите в чём проблема если сталкивались. Спасибо
PetroMetro вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Руслан Аблязов - Программирование на ассемблере на платформе x86-64 (+ CD-ROM) Alar Свободное общение 110 19.04.2017 02:49
Программирование на Ассемблере Николай ПН Помощь студентам 3 23.03.2010 01:56
Программирование микроконтроллера 80С196КС на ассемблере KOCT9IH Фриланс 3 07.11.2008 14:03


05:26.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru