@MegaCraZy6
Учу ассемблер

Емуляция процессора, как сделать ОП?

Делаю что-то вроде эмулятора, процессора, или что сам не знаю.
1) Есть регистры, это переменные типа char, а значит 256 значений, а значит 8 битный процессор?
2) Есть ОП, ну тут так-же одна ячейка это байт, как мне кажется... Массив char-ов 65535, так вот как с помощю 8 битных регистров адресовать всю ОП, Zilog Z80 — 8-битный процессор аддресует 16 битную шину... Как ведь нету 16 битных регистров, mov al,[ax] не получиться... Не могу понять.
3) Может подскажете ключевые аспекты создание эмулятора процессора, ну что-то в том роде, моя идея такова, что есть кучка команд они в типе данных char, допустим команда 01 это movrr, это rr это переместить из регистра данные в другой регистр так-же есть movrn переместить в регистр число константу и так далее.
Как реализовать разные там порты итд. Все в тому духе что знаете
  • Вопрос задан
  • 69 просмотров
Решения вопроса 1
  • jcmvbkbc
    @jcmvbkbc
    http://dilbert.com/strip/1998-08-24
    Zilog Z80 — 8-битный процессор аддресует 16 битную шину... Как ведь нету 16 битных регистров, mov al,[ax] не получиться... Не могу понять.

    Привет, в z80 8-битные регистры b, c, d, e, h и l могут использоваться как 16-битные пары bc, de и hl. Кроме того, есть регистры sp, IX и IY, 16-битные.

    Может подскажете ключевые аспекты создание эмулятора процессора, ну что-то в том роде, моя идея такова, что есть кучка команд они в типе данных char, допустим команда 01 это movrr, это rr это переместить из регистра данные в другой регистр так-же есть movrn переместить в регистр число константу и так далее.
    Как реализовать разные там порты итд. Все в тому духе что знаете


    Если Z80 для тебя ок, вот порт QEMU для z80.
    Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы