Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
  • Страница:
  • 1
  • 2
  • 3

ТЕМА: Процессор 8086

Процессор 8086 8 года 6 мес. назад #5896

foxtail пишет: Есть достаточно нескромный вопрос... Как попадают проекты сюда ? Если у меня, к примеру, получится сделать хотя бы минимальный по инструкциям, но рабочий 8086, то есть вероятность что проект будет занесен? Если нет, то все ок, я тогда размещу свой готовый вариант на форуме.

p.s. по состоянию моего проекта, уже добрался до инструкции 5Fh... затрачено 1058 LE, 318 dedicated registers.


Там же статьи или серии статей (как в случае с Amber ARM), а не просто проекты, если я правильно понимаю. Причем проекты часто на стадии, предусматривающей дальнейшее совершенствование или исправление, которое не попадает в статью, а так и остается на форуме (как в случае с ZX Spectrum). И вообще, это блог авторов сайта.

P.S.
какую, если не секрет, документацию по системе команд x86 используете? Удалось ли найти кроме длинных текстовых описаний каждой из команд какое-то краткое описание в виде таблицы как бы (как для RISC процессоров) или это невозможно для данного процессора? Я вроде видел где-то, но пока не могу найти. А было бы любопытно посмотреть.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Последнее редактирование: от Chaosorg.

Процессор 8086 8 года 6 мес. назад #5897

  • foxtail
  • foxtail аватар Автор темы
  • Не в сети
  • Новый участник
  • Новый участник
  • Сообщений: 12
  • Спасибо получено: 0

Там же статьи или серии статей (как в случае с Amber ARM), а не просто проекты

Понял, насчет проектов. Да, если это блог, то вопросов нет :) Просто поинтересовался.

какую, если не секрет, документацию по системе команд x86 используете?

Я использую за основу систему команд, которая предоставлена в моем документе, который я ранее на форуме публиковал (PDF-версия), но собственно, взято было отсюда ref.x86asm.net/coder32.html и сверстано в pdf через msword уже лично мной для распечатки.

Так как чисто принципиально я не использую никаких готовых модулей, а получается, что каждая строка кода написана лично мной, то все исполняемые инструкции группирую вручную, вычисляю вручную маски опкодов, создаю процедуры для микрокодов на основе той информации, что знаю лично, ну и использую Turbo Debugger в DOSBOX, если нужно проверить как выставляются флаги или работает инструкция.

По флагам был "раскурочен" bochs, признаться, да, проверил, как там флаги проставляются. Вообще по флагам даже не так сложно, самое сложное это было сделать флаги для ALU, особенно бит A, но в принципе это решил через logisim (скрин прилагается).

Собственно, для x86-архитектуры действительно существуют определенные маски опкодов, но только дело осложняют префиксы, а также байт modrm, который имеет разную длину и бывает, слегка неоднозначная логика для операции GrpN (когда в reg-части байта modrm находится та инструкция, которую надо исполнить). Я нахожусь как раз сейчас в процессе составления этой таблицы масок.

Сегодня вот сделал (чуть ли не сама простая инструкция):

1001xxxx -- XCHG AX, r16

Как вывод, могу сказать: все делается почти "с нуля". Это вот как раз мне и приносит максимальную отдачу от процесса разработки ;)
Вложения:

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Последнее редактирование: от foxtail.

Процессор 8086 8 года 6 мес. назад #5900

а вот такой вопрос к знатокам Verilog вообще и его реализации от Altera в частности

предположим человек описывает какой-то, ну скажем, декодер, призванный по-разному реагировать на много много разных управляющих кодов, создавая огромное количество if и, предположим, не группирует их и не вкладывает друг в друга, а пишет один за одним. Если эти управляющие коды есть команды процессора, например, то у них есть идентичные и переменные части, скажем так. Тогда у этого человека многие if будут похожи, ну или по крайней мере внутри условий будут иметь схожие фрагменты относящиеся к проверке одних и тех же бит и выделению одних и тех же частей слова. Верилог сам, без написанного человеком wire, догадается реализовать их только один раз?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Процессор 8086 8 года 6 мес. назад #5901

  • foxtail
  • foxtail аватар Автор темы
  • Не в сети
  • Новый участник
  • Новый участник
  • Сообщений: 12
  • Спасибо получено: 0
Кстати, скажу по своему опыту. У меня было так, что если было написано много кода, а результат в итоге был один и не менялся от тактов, то мне вообще тратил на это 0 LE, но результат выдавал правильный в итоге. Думаю, Altera проводит оптимизации такого рода, но не уверен, что именно так, как было выше сказано.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Процессор 8086 8 года 6 мес. назад #5907

foxtail пишет: Как попадают проекты сюда ?

В настоящий момент у нас на сайте нет возможности авторам размещать статьи самостоятельно, но можно это сделать с нашей премодерацией,
Когда вы решите, что у вас есть что сказать людям, мохно написать небольшую статью, немного текста, фото, проект и т.д.,
пришлете нам, а мы разместим ее в блог, а проект , соответственно , сюда
Спасибо сказали: foxtail

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • Страница:
  • 1
  • 2
  • 3
Время создания страницы: 0.131 секунд
Работает на Kunena форум