| |
| Shaos |
|
Admin

Joined: 09 Jan 2003 Posts: 5543 Location: New York, USA
|
Posted: 20 May 2007 11:28 Post subject: Тест точности эмуляции 8080 |
| |
Кто-то может поделиться программой (ассемблерный код или программа для РК,Ориона,Специалиста и т.д.) для проверки точности эмуляции процессора КР580ВМ80А (8080)? У меня есть собственный код эмуляции, но на нём не все программы корректно работают, хотелось бы отыскать проблему, которая судя по всему находится в реализации ядра процессора. _________________ Shaos / nedoPC team |
|
| Back to top |
|
| HardWareMan |
|
God

Joined: 20 Mar 2005 Posts: 1012 Location: РК, Павлодар
|
Posted: 20 May 2007 13:53 Post subject: |
| |
| Неточности обычно с флагами. А какого рода проги глючат? Как проявляется глюк? |
|
| Back to top |
|
| b2m |
|
Senior
Joined: 26 May 2003 Posts: 125
|
Posted: 20 May 2007 14:20 Post subject: |
| |
| У меня в эмуляторе есть возможность записать ход исполнения (только регистр PC) или полный лог исполнения, со всеми регистрами и флагами. Потом можно сравнить. Если интересует, могу рассказать, как можно это сделать (в двух словах не получится). |
|
| Back to top |
|
| Shaos |
|
Admin

Joined: 09 Jan 2003 Posts: 5543 Location: New York, USA
|
Posted: 20 May 2007 16:30 Post subject: |
| |
| b2m wrote: | | У меня в эмуляторе есть возможность записать ход исполнения (только регистр PC) или полный лог исполнения, со всеми регистрами и флагами. Потом можно сравнить. Если интересует, могу рассказать, как можно это сделать (в двух словах не получится). |
Ну у меня тоже можно записать - вот только с чем потом сравнивать?  _________________ Shaos / nedoPC team |
|
| Back to top |
|
| b2m |
|
Senior
Joined: 26 May 2003 Posts: 125
|
Posted: 21 May 2007 07:45 Post subject: |
| |
Я имел ввиду записать в одинаковом формате, а потом сравнить твой и мой, хоть diff-ом, хоть fc /b. Там, откуда начнётся разница, и копать. Для начала можно ограничиться одним PC.
Какая прога не работает? Кидай мне или скажи где взять. Может у меня тоже не заработает. |
|
| Back to top |
|
| Shaos |
|
Admin

Joined: 09 Jan 2003 Posts: 5543 Location: New York, USA
|
Posted: 21 May 2007 08:10 Post subject: |
| |
| b2m wrote: | Я имел ввиду записать в одинаковом формате, а потом сравнить твой и мой, хоть diff-ом, хоть fc /b. Там, откуда начнётся разница, и копать. Для начала можно ограничиться одним PC.
Какая прога не работает? Кидай мне или скажи где взять. Может у меня тоже не заработает. |
CP/M на моём эмуле толком не работает, потом некоторые орионовские программы не идут нормально _________________ Shaos / nedoPC team |
|
| Back to top |
|
| b2m |
|
Senior
Joined: 26 May 2003 Posts: 125
|
Posted: 21 May 2007 09:39 Post subject: |
| |
| Shaos wrote: | | CP/M на моём эмуле толком не работает |
У меня тоже очень давно, когда я только начинал делать эмуль, был глюк с CP/M. Причина была - неправильная установка флагов в командах INR DCR (устанавливаются все, кроме переноса). Из последних исправленных глюков - команда DAA и неизменяемые биты в регистре флагов - никак не влияли на работу CP/M. Неизменяемые биты странным образом влияли на программу ADSKOK на Специалисте (в стек там кладётся psw, а вынимается регистровая пара, и наоборот, причём флаги как-то используются). Команды сдвига, которые тоже используются в CP/M при всяких там рассчётах, я думаю, ты без ошибок реализовал, но всё равно проверь. Флаг паритета тоже частенько неправильно реализуют или не везде, где надо, устанавливают (INR DCR и все ALU). Остальное, вроде, очевидно. |
|
| Back to top |
|
| HardWareMan |
|
God

Joined: 20 Mar 2005 Posts: 1012 Location: РК, Павлодар
|
Posted: 21 May 2007 10:38 Post subject: |
| |
| Интересно, прогнать бы это все на моем эмуле.... Где взять прожки и саму CP/M для i8080? |
|
| Back to top |
|
| b2m |
|
Senior
Joined: 26 May 2003 Posts: 125
|
Posted: 21 May 2007 10:46 Post subject: |
| |
| HardWareMan wrote: | | Интересно, прогнать бы это все на моем эмуле.... Где взять прожки и саму CP/M для i8080? |
На моём сайте bashkiria-2m.narod.ru есть образы дисков для Башкирии-2М,Kорвета,Ориона-128,Партнёра,Специалиста-МХ. И везде, естесственно, CP/M. |
|
| Back to top |
|
| Shaos |
|
Admin

Joined: 09 Jan 2003 Posts: 5543 Location: New York, USA
|
Posted: 21 May 2007 18:55 Post subject: |
| |
| b2m wrote: | | Shaos wrote: | | CP/M на моём эмуле толком не работает |
У меня тоже очень давно, когда я только начинал делать эмуль, был глюк с CP/M. Причина была - неправильная установка флагов в командах INR DCR (устанавливаются все, кроме переноса). Из последних исправленных глюков - команда DAA и неизменяемые биты в регистре флагов - никак не влияли на работу CP/M. Неизменяемые биты странным образом влияли на программу ADSKOK на Специалисте (в стек там кладётся psw, а вынимается регистровая пара, и наоборот, причём флаги как-то используются). Команды сдвига, которые тоже используются в CP/M при всяких там рассчётах, я думаю, ты без ошибок реализовал, но всё равно проверь. Флаг паритета тоже частенько неправильно реализуют или не везде, где надо, устанавливают (INR DCR и все ALU). Остальное, вроде, очевидно. |
Ok, спасибо, погляжу повнимательнее на свою реализацию _________________ Shaos / nedoPC team |
|
| Back to top |
|
| Shaos |
|
Admin

Joined: 09 Jan 2003 Posts: 5543 Location: New York, USA
|
Posted: 16 Nov 2007 01:13 Post subject: |
| |
Поглядел пристально на свою реализацию - ничего криминального не нашёл, но когда стал внимательно читать старую добрую американскую книгу про 8080/8085, обнаружил массу вещей о которых я раньше не знал - например странное поведение флага AC (полуперенос) в логических операциях (причём это поведение разное для 8080 и 8085 в случае операции И)... _________________ Shaos / nedoPC team |
|
| Back to top |
|
| HardWareMan |
|
God

Joined: 20 Mar 2005 Posts: 1012 Location: РК, Павлодар
|
Posted: 16 Nov 2007 05:16 Post subject: |
| |
| Shaos wrote: | | Поглядел пристально на свою реализацию - ничего криминального не нашёл, но когда стал внимательно читать старую добрую американскую книгу про 8080/8085, обнаружил массу вещей о которых я раньше не знал - например странное поведение флага AC (полуперенос) в логических операциях (причём это поведение разное для 8080 и 8085 в случае операции И)... |
Наблюдения и выводы в студию! |
|
| Back to top |
|
| Shaos |
|
Admin

Joined: 09 Jan 2003 Posts: 5543 Location: New York, USA
|
Posted: 16 Nov 2007 10:30 Post subject: |
| |
| HardWareMan wrote: | | Shaos wrote: | | Поглядел пристально на свою реализацию - ничего криминального не нашёл, но когда стал внимательно читать старую добрую американскую книгу про 8080/8085, обнаружил массу вещей о которых я раньше не знал - например странное поведение флага AC (полуперенос) в логических операциях (причём это поведение разное для 8080 и 8085 в случае операции И)... |
Наблюдения и выводы в студию! |
ANA/ANI : C=0, AC=1 (8085) or AC=A3|B3 (8080)
ORA/ORI : C=0 AC=0
XRA/XRI : C=0 AC=0 _________________ Shaos / nedoPC team |
|
| Back to top |
|
| b2m |
|
Senior
Joined: 26 May 2003 Posts: 125
|
Posted: 16 Nov 2007 14:38 Post subject: |
| |
У меня во всех логических операциях и даже в CMP стоит AC=0, и ничего, по крайней мере CP/M вроде без глюков работает. Так что ищи в другом месте.
В Z80 действительно, почему-то, для AND должно быть AC=1 ... |
|
| Back to top |
|
| Shaos |
|
Admin

Joined: 09 Jan 2003 Posts: 5543 Location: New York, USA
|
Posted: 16 Nov 2007 21:35 Post subject: |
| |
| b2m wrote: | | У меня во всех логических операциях и даже в CMP стоит AC=0, и ничего, по крайней мере CP/M вроде без глюков работает. Так что ищи в другом месте. |
А у меня C и AC нигде не трогались в неарифметических и несдвиговых местах...
Кстати CMP должна функционировать как вычитание - у меня к примеру C и AC при сравнении соответственно меняют свои значения
| b2m wrote: | | В Z80 действительно, почему-то, для AND должно быть AC=1 ... |
И в 8085 тоже
Но не в 8080 - в нём в AC кладётся ИЛИ третьих битов операндов ... _________________ Shaos / nedoPC team |
|
| Back to top |
|
| Choose Display Order |
|
| User Permissions |
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Skin Created by Sigma12 and modified by Shaos Powered by phpBB © 2001-2005 phpBB Group
|
 |