Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Результаты опроса: Хотите ли вы читать эту книгу?
Хочу 148 78.31%
Не хочу 29 15.34%
уже прочитал 12 6.35%
Голосовавшие: 189. Вы ещё не голосовали в этом опросе

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Цитата:
Сообщение от 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, 20:55   #27
char[]
 
Регистрация: 18.03.2019
Сообщений: 8
По умолчанию

А подскажите не поиму в листинге 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, 20:54   #28
PetroMetro
 
Регистрация: 11.03.2019
Сообщений: 7
По умолчанию

Цитата:
Сообщение от 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, 14:59   #29
char[]
 
Регистрация: 18.03.2019
Сообщений: 8
По умолчанию

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

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


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


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