Author |
Message |
b2m
Devil
Joined: 26 May 2003 06:57 Posts: 859
|
Минимум. Максимум не ограничен
Во всех справочниках количество тактов для команды HLT указано 7. Т.е. как раз два цикла 4+3. Но второй цикл повторяется пока не произойдёт выход из режима останова.
_________________Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/
|
19 Dec 2012 04:48 |
|
|
aav8
Maniac
Joined: 05 Nov 2008 19:47 Posts: 287 Location: 81.28.208.238
|
|
20 Dec 2012 08:54 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Мы как бы это давно обсудили - и это действительно так...
Интересно - а МП КР580 БЕЗ индекса А только RST N обслуживает?
А CALL ADDR - как бы уже и не умеет?
Дал бы ссылочку - откуда эти сведения?
Ты уже спрашивал как-то, что К580ИК80 обрабатывает только RST N...
Насколько я знаю, кроме электрических характеристик и разницы в таймингах,
различий в логике работы - нет.
_________________ iLavr
|
20 Dec 2012 11:33 |
|
|
aav8
Maniac
Joined: 05 Nov 2008 19:47 Posts: 287 Location: 81.28.208.238
|
Не УЖЕ а скорее всего ЕЩЕ не умеет.
Книга бумажная называется "программы для микропроцессоров"
кажется 89 года, автора не помню - позже уточню.
Знал что у меня она есть - наконец вчера нашел.
|
20 Dec 2012 18:01 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Факт, обозначенный коллегой aav8, в вышеуказанной книге имеет место быть.
Но есть у авторов некоторое противоречие самим себе.
С одной стороны:
но с другой стороны!...
Как говорится: AS IS... Вот вам " буй"... Волобуев, вот Ваш меч! ну и т.д.
Я такой постулат вижу впервые. Своё мнение - изложил выше. No Comments...
_________________ iLavr
Last edited by Lavr on 21 Dec 2012 08:51, edited 1 time in total.
|
21 Dec 2012 08:43 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
А по XTHL у тебя какая растактовка? Что-то он мне голову проморочил...
18 тактов 5 циклов.
У меня почему-то получается 4-4-3-4-3... а в другом источнике М1=5... -
совсем не сходится...
_________________ iLavr
|
26 Dec 2012 00:13 |
|
|
aav8
Maniac
Joined: 05 Nov 2008 19:47 Posts: 287 Location: 81.28.208.238
|
| | | | Lavr wrote: А по XTHL у тебя какая растактовка? Что-то он мне голову проморочил... 18 тактов 5 циклов. У меня почему-то получается 4-4-3-4-3... а в другом источнике М1=5... - совсем не сходится... | | | | |
Чесно говоря с растактовкой пока особенно не заморачивался -
в основном расцикловкой - XTHL за пять циклов - все
стандартные по 3 такта ну и ест-но первый за 4 такта.
Ориентировался в основном на Z.
|
26 Dec 2012 18:20 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
По XTHL у меня несколько неожиданная информация:
п. 14. Машинный цикл 5 ( МЦ5) имеет пять тактов. Используются только в команде XTHL;
Так что 4-4-3-4-3 отпадает как бы однозначно...
_________________ iLavr
|
02 Jan 2013 02:11 |
|
|
HardWareMan
Banned
Joined: 20 Mar 2005 13:41 Posts: 2141 Location: От туда
|
| | | | Lavr wrote: По XTHL у меня несколько неожиданная информация: п. 14. Машинный цикл 5 ( МЦ5) имеет пять тактов. Используются только в команде XTHL; Так что 4-4-3-4-3 отпадает как бы однозначно... | | | | |
Тобою ненавистная дока это и не скрывала. Растактовка XTHL следующая: 4+3+3+3+5=18, что коррелируется с цветной табличкой из Радио.
|
02 Jan 2013 02:27 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
А эту схемку чтоб его "дёргать за ножки" я, как мне кажется, и не выкладывал...
Её и нет больше как таковой... В процессе работы над моделью процессора
К580ВМ80А схемка постепенно изменялась и сейчас она стала вот такой:
Но и эта схема Вам не нужна, на мой взгляд, поскольку та модель, которую Вы
скачали - это " контейнер" Proteus-a, который вызывает динамическую библиотеку
K580BM80.dll.
Без этой библиотеки " дёргать ножками" программа не будет.
PS. Для внимательных любителей "косяков": да, K580BM80 устанавливается в начальное состояние высоким логическим уровнем - из схемы выше видно, что это так и есть (выделено цветом).
_________________ iLavr
|
31 Mar 2013 07:42 |
|
|
Gordey44
Junior
Joined: 04 Apr 2013 06:59 Posts: 1 Location: 178.159.16.11
|
Тоже начал делать модель 8080 для протеуса.
Пока сделал модели для 8024 и 8028. https://docs.google.com/file/d/0B2XWxBUyDlN3V2t6SkF6eW00d1E/edit?usp=sharing может кому пригодятся. В архиве лежит i8080.dll в качестве заглушки.
|
04 Apr 2013 20:37 |
|
|
pit2
Junior
Joined: 18 Apr 2014 01:01 Posts: 4 Location: 62.221.116.212
|
На девятой странице форума было обсуждение рабработки DLL для протеуса на другом языке программирования, отличном от C++. Но судя по всему, до практической реализации модели не дошло. У меня получилось создать модель для протеуса на бейсике. Статья об этом. http://purebasic.mybb.ru/viewtopic.php?id=496
При разработке модели на бейсике (диалект PureBasic), столкнулся той же проблемой, какая есть в Borland C++ Builder, т. е. методы класса вызывались используя соглашение stdcall, а не thiscall как в VS C++. Решить проблему оказалось не сложно. В код был добавлен макрос, выполняющийся на этапе компиляции и заменяющий ассемблерную инструкцию PUSH EAX на MOV ECX, EAX во всех вызовах методов объектов.
В процедурах методов класса, была добавлена строка mov *This, ecx, копирующая содержимое регистра ecx в локальную переменную и тем самым, соглашение вызова стало thiscall.
Возможно все это можно проделать и в Borland C++ Builder.
|
18 Apr 2014 01:22 |
|
|
pit2
Junior
Joined: 18 Apr 2014 01:01 Posts: 4 Location: 62.221.116.212
|
На асме совсем не много.
Соглашение вызовов методов исправляется компилятором с помощью такого макроса (он перехватывает все инструкции CALL и ищет вызовы методов по опкодам). Макрос выполняется при компиляции, а не при выполнении программы. Он ищет такие последовательности инструкций. И заменяет PUSH EAX на MOV ECX, EAX. Т. е. получается. С точки зрения программиста, в коде ничего не меняется (что-либо переделывать не нужно). Достаточно добавить макрос в начало кода и его выполнит асемблер FASM (если кто-то не знает, FASM входит в дистрибутив PureBasic и используется в процессе компиляции, при трансляции асм. кода в объектный файл).
Поэтому никакого садомазо и изврата в этом нет. Просто задействован механизм модификации кода при компиляции.
Если под асмом имели в виду строку mov *This, ecx в некоторых процедурах, то ее назначение в поддержке соглашения вызова thiscall и в этом так же нет изврата.
Если по прежнему считаете что это "это садомазо высшей степени извращённости", попробуйте аналогичным образом создать DLL для протеуса на C++ в Borland Builder. Может после этого, поймете что пара асм вставок и небольшой макрос, это НЕ "садомазо высшей степени извращённости".
|
19 Apr 2014 00:40 |
|
|
pit2
Junior
Joined: 18 Apr 2014 01:01 Posts: 4 Location: 62.221.116.212
|
Это все равно что судить о человеке по его национальности, т. е. если у него национальность xxxx, то он недочеловек, а если национальность yyyy, то он суперчеловек. При этом не важно хороший это человек или нет, национальность важнее.
По вашему это правильно?
Существует много диалектов бейсиков, часто не похожих друг на друга (как по синтаксису, так и по возможностям).
Сколько вы знаете языков программирования, на которых можно создавать библиотеки для пртеуса? А на скольких языках программирования можно писать драйверы для винды? То и другое возможно на PureBasic. Вот вам и бейсик.
Теперь по теме, пока тут выясняли какой язык лучше, написал еще одну статью. http://purebasic.mybb.ru/viewtopic.php?id=497
На сей раз, моделька уже не тестовая, а имеющая практическое применение и являющаяся 1-Wire анализатором. О его прототипе вскользь упоминали на третьей странице темы.
|
20 Apr 2014 13:14 |
|
|
bigmax
Fanat
Joined: 10 Feb 2014 03:37 Posts: 79
|
Интересная тема. А насколько точна модель по сигналам? На ZX.PK.RU тоже поднимали тему модели, правда в железе. Раскрыли кристалл, восстановили схему и теперь модель действительно работает и более того, проходит тесты как настоящий процессор. А вы прогоняли свою модель этими тестами? Быть может можно надеяться на модель Z80? Спасибо за внимание.
|
28 Aug 2014 14:41 |
|
|