-
27.11.2015, 20:36 #1
- Регистрация
- 10.10.2003
- Адрес
- Калуга
- Возраст
- 50
- Сообщений
- 441
- Поблагодарили
- 12
- Поблагодарил
- 7
Программирование ЭВМ x64
Доброго времени суток всем!
Вопрос, к сожалению, далёк от радиолюбительства в конкретике, но не редки ситуации, когда на радиостанции используется компьютер. На компьютере, как правило, есть игры, в которые операторы радиостанций порой с удовольствием играют. А иногда и пишут довольно сложные программы, в том числе и для радиолюбительства, самостоятельно. Может быть, чтобы совместить полезное с приятным, есть смысл уточнить вопросы программирования на примере какой-нибудь игры?
Обнаружилось, что Tetris Яковлева, который более-менее благополучно работал как на машине с 286 процессором Intel, так и на более поздних машинах в командной строке, перестал работать в командной строке ноутбука HP Pavilion dv6 на Intel(R) Core(TM) i7-3610QM CPU 2,3 GHz в среде 64-х разрядной операционной системы Windows 7 Домашняя расширенная.
На ЭВМ с процессором AMD Sempron(tm) Processor 3000+ 1.81 GHz в среде 32-х разрядной операционной системы Windows 7 Профессиональная Service Pack1 данная программа пока ещё работает.
На ноутбуке эта программа работает в программе DOSBox 0.74.
Я сам не большой любитель копаться в машинных кодах, но со времён Микро-80, Радио-86РК, Вектор, Специалист, Ириша, ЮТ-88, Орион 128, ZX Spectrum общепринято, что это, хотя бы, вполне возможно. С 1985 по 1990 год выходил журнал "Микропроцессорные средства и системы" под ред. Ершова.
Объем данной программы 3635 байт.
Может быть, кто-нибудь вкратце подскажет, как её переписать для 64-х разрадной платформы? На https://msdn.microsoft.com/ru-ru/library/dd335933.aspx пишут, что команды с 8-ми битными регистрами, например, ah и al, также должны выполняться. Или все-таки менять их на RAX и так далее? Сохранится ли совместимая с процессором Intel 286 часть таблицы векторов прерываний и функции BIOS? У меня на ноутбуке прерывания мало того что отличаются, так и ещё с какими-то минусами в номере. Например, для видеокарты IRQ 0xFFFFFFFE(-2). Может быть, на ноутбуках отличная от настольных компьютеров архитектура, так что на настольном компьютере с 64-х разрядной операционной системой эта программа сразу заработает с командной строки?
В моём распоряжении книги Р. Джордейна "Справочник программиста персональных компьютеров типа IBM PC, XT и AT, Москва, "Фининсы и статистика", 1992 и Юрова В. И. "Assembler" 2-е издание, СПб., Питер, 2010.Последний раз редактировалось RA3XCQ; 27.11.2015 в 21:00.
RA3XCQ ( Larry158 )
-
28.11.2015, 00:02 #2
- Регистрация
- 18.03.2013
- Адрес
- Москва (TM)
- Возраст
- 57
- Сообщений
- 837
- Поблагодарили
- 194
- Поблагодарил
- 58
Рекомендую пользоваться любой виртуальной машиной, к примеру "Oracle Virtual Box". Свободно, бесплатно и безопасно. Единственное, что может быть проблемой - эмуляция звуковой карты, совместимой с Sound Blaster.
Василий (RX3AKF)
-
28.11.2015, 11:49 #3
- Регистрация
- 23.10.2010
- Адрес
- Самара
- Возраст
- 58
- Сообщений
- 731
- Поблагодарили
- 332
- Поблагодарил
- 418
Если у Вас нет исходников, то даже ради любопытства это крайне трудно. Гораздо проще написать с нуля используя например JAVA - будет работать под разными ОС. Я тетрис когда то за 1-2 недели сделал для PDP - 11. Обратная совместимость intel команд есть 100%, но как правило для получения быстродействия раньше использовали и не документированные функции ОС, которые потом майкрософт с чистой совестью игнорирует в новых версия ОС. Еще раз повторю если нет исходников но проще переписать, программа довольно примитивная.
ex. UB4HAP
|
Социальные закладки