Блог страдающего Лиса
Lorem ipsum hello dolor sit world amet
07 окт 2024 Пн
Блог чёкнутого Лиса
Есть такая привычка у меня, писать программы снова и снова, снова и снова, снова и снова, и каждый раз они начинаются как обычно:
Хочу его сделать для OMDAZZ EPC4 на 10К элементов, чтобы было. А там как пойдет. В общем и целом, план такой. Есть система регистров [ax, bx, cx, dx, sp, bp, si, di] и этих регистров на самом деле, всего лишь 8. Есть и другие регистры, сегментные [es, cs, ds, ss] и специальные [flags, ip]. Они тоже являются регистрами, но доступ к ним другого характера.
Как и обычно, процессор мне надо сделать именно простой, напоминающий 8088, потому что он простой. На этот раз я хочу попробовать вариант сделать не как раньше делал, через сначала считывание опкода, префиксов, а вот попробовать сделать считывание опкода и выполнение его. Пока не придумал как это будет точно, но посмотрим по ходу дела, как говорится. Посмотрим... Например, можно сделать сохранение регистров на негативном CLK, почему бы и нет, спектрум так вот смог сделать.
110 PRINT "HELLO WORLD! "; 220 GOTO 10И это классно, потому что мне нравится не вылазить с песочницы и делать одно и тоже годами, такова моя судьба. Теперь вот моя идея заключается в том, чтобы писать в блог все что я могу придумать по поводу того, что такое 8088, который является моим любимым процессором и который делаю годами и никак сделать не могу, потому что лень заела. Не знаю как бы его сделать, но начну.
Хочу его сделать для OMDAZZ EPC4 на 10К элементов, чтобы было. А там как пойдет. В общем и целом, план такой. Есть система регистров [ax, bx, cx, dx, sp, bp, si, di] и этих регистров на самом деле, всего лишь 8. Есть и другие регистры, сегментные [es, cs, ds, ss] и специальные [flags, ip]. Они тоже являются регистрами, но доступ к ним другого характера.
Как и обычно, процессор мне надо сделать именно простой, напоминающий 8088, потому что он простой. На этот раз я хочу попробовать вариант сделать не как раньше делал, через сначала считывание опкода, префиксов, а вот попробовать сделать считывание опкода и выполнение его. Пока не придумал как это будет точно, но посмотрим по ходу дела, как говорится. Посмотрим... Например, можно сделать сохранение регистров на негативном CLK, почему бы и нет, спектрум так вот смог сделать.
1// ЛИСНЫЙ ПРОЦЕССОР 8088 2module fox86 3( 4 input clock, // Тактовая частота 25 5 input reset_n, // Сброс процессора 6 input ce, // Разрешение работы процессора 7 output [19:0] address, // Адрес 1Мб 8 input [ 7:0] in, // Входящие 9 output reg [ 7:0] out, // Исходящие 10 output reg we // Разрешение на запись 11); 12endmoduleТак выглядят процессоры, которые создаются лисами. Стандарт. Теперь переходим к разработке системы. Обычно я делаю сначала считывание префиксов, после идет разбор байта modrm, считываются данные операндов из регистров или памяти, потом выполняются и записываются обратно. Это тоже стандартная схема работы. Лучше я пока придумать не смог.