Важная информация

User Tag List

Страница 20 из 20 ПерваяПервая ... 1617181920
Показано с 191 по 200 из 200

Тема: Вектор-06Ц: Эмуляция - КР580ВМ80А

  1. #191
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,842
    Спасибо Благодарностей отдано 
    654
    Спасибо Благодарностей получено 
    1,814
    Поблагодарили
    1,043 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Почти добился изначально намечавшейся цели - ускорить экзорциста в 2 раза относительно исходного варианта. Резервы для "не почти" есть, но мне как-то надоело.
    Косметическое изменение - CRC теперь печатается большими буквами.
    Вложения Вложения
    Последний раз редактировалось ivagor; 14.12.2013 в 10:49.

  2. #192
    Veteran Аватар для Kakos_nonos
    Регистрация
    26.12.2010
    Адрес
    Кубань
    Сообщений
    1,154
    Спасибо Благодарностей отдано 
    33
    Спасибо Благодарностей получено 
    39
    Поблагодарили
    23 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А этот экзор только для вектора или можно к любым компам адаптировать?

  3. #193
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,842
    Спасибо Благодарностей отдано 
    654
    Спасибо Благодарностей получено 
    1,814
    Поблагодарили
    1,043 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Он для CP/M, ничего специфичного для вектора там нет. Сайт проекта. Отмечу, что на сайте нет результатов 1821ВМ85, которые получил dk_spb. Зато там есть интересные результаты AMDшных клонов, которые оказались не 100% клонами.
    Важный момент - мои варианты переделаны так, чтобы корректно сохранять значение всех флагов без маскировки. Из за этого результаты на 8080 и подобных будут совпадать с оригинальным вариантом, а на 8085 и КР580ВМ1 будут отличаться в лучшую сторону

    ---------- Post added at 15:35 ---------- Previous post was at 15:22 ----------

    От CP/M (или от чего-то эмулирующего CP/M) требуются только ДВЕ функции - печатать текстовой строки и символа.

  4. #194
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,842
    Спасибо Благодарностей отдано 
    654
    Спасибо Благодарностей получено 
    1,814
    Поблагодарили
    1,043 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Столкнулся с интересным моментом. Насколько я понял, при очень большой тактовой эмулируемого вектора в emu время прогона ощутимо зависит от быстродействия эмулирующего компа. В результате проскочившая в одном месте абсолютная величина выигрыша обновленного эксисайзера под вопросом, а вот относительные выигрыши по времени примерно верны.

  5. #195
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,842
    Спасибо Благодарностей отдано 
    654
    Спасибо Благодарностей получено 
    1,814
    Поблагодарили
    1,043 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Не прошло и полгода - определил время прогона 8080exe7.com на векторе - 1 час 44 минуты и примерно 10 секунд. Замерял в v06cc и VV6.82.

  6. #196
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,842
    Спасибо Благодарностей отдано 
    654
    Спасибо Благодарностей получено 
    1,814
    Поблагодарили
    1,043 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Время прогона оригинального эксисайзера на векторе (VV6.82) - 3 часа 1 минута

  7. #196
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  8. #197
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,842
    Спасибо Благодарностей отдано 
    654
    Спасибо Благодарностей получено 
    1,814
    Поблагодарили
    1,043 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В связи с тестом на специалисте нужно отметить, что измененный посттестовый (после iut) фрагмент в 8080exe7 не для всех компов годится. Он был введен для корректного тестирования продвинутых клонов ВМ80 (ВМ85, ВМ1) и нормально работает на векторе и его клонах, но на специалисте есть проблема с inx sp/dcx sp
    Самый простой вариант - откатить изменение постестового фрагмента, т.е. после
    Код:
    iut:	ds	4		; max 4 byte instruction under test
    
    ;#idb ld (spat),sp replaced with the following code
    ;#idb Must be very careful to preserve registers and flag
    ;#idb state resulting from the test.  The temptation is to use the
    ;#idb stack - but that doesn't work because of the way the app
    ;#idb uses SP as a quick way of pointing to memory.
    ;#idb Bit of a code smell, but I can't think of an easier way.
    В выложенном exe7 так
    Код:
    ;!!!{
    	shld	SetHL1+1
    	pop	h
    	push	psw
    	xthl
    	shld	spat-2
    	lxi	h,0
    ;	jc	temp1		;jump on the state of the C flag set in the test
    	dad	sp		;this code will clear the C flag (0 + nnnn = nc)
    ;	jmp	temp2		;C flag is same state as before
    ;temp1:	dad	sp		;this code will clear the C flag (0 + nnnn = nc)
    ;	stc			;C flage needs re-setting to preserve state
    ;temp2:
    	shld	spat
    ;#idb
    	lxi	sp,spat-2
    ;	push	psw		; save other registers
    	push	b
    	push	d
    ;	lhld	temp
    SetHL1:
    	lxi	h,0
    ;!!!}
    	push	h
    А в исходном было так
    Код:
    	shld	temp
    	lxi	h,0
    	jc	temp1		;jump on the state of the C flag set in the test
    
    	dad	sp		;this code will clear the C flag (0 + nnnn = nc)
    	jmp	temp2		;C flag is same state as before
    
    temp1:	dad	sp		;this code will clear the C flag (0 + nnnn = nc)
    	stc			;C flage needs re-setting to preserve state
    
    temp2:	shld	spat
    	lhld	temp
    ;#idb
    
    	lxi	sp,spat
    	push	psw		; save other registers
    	push	b
    	push	d
    	push	h
    Т.е. если планируется использовать 8080exe7 не на векторе или его клонах, то лучше вернуть посттестовый фрагмент к исходному виду. При этом выигрыш по скорости останется, но тестирование ВМ1 и ВМ85 будет некорректным, как и с оригинальным эксисайзером.
    Последний раз редактировалось ivagor; 17.08.2014 в 19:22.

  9. #198
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,842
    Спасибо Благодарностей отдано 
    654
    Спасибо Благодарностей получено 
    1,814
    Поблагодарили
    1,043 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    на специалисте есть проблема с inx sp/dcx sp
    И даже еще с несколькими группами команд. Причина очевидна - к моменту выполнения фрагмента
    push psw
    xthl
    sp должен указывать на ОЗУ. В векторе очевидно это всегда будет выполняться и поэтому проблем не возникает

  10. #199
    R.I.P.
    Регистрация
    16.09.2009
    Адрес
    г. Харьков
    Сообщений
    1,466
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    И даже еще с несколькими группами команд. Причина очевидна - к моменту выполнения фрагмента
    pushpsw
    xthl
    sp должен указывать на ОЗУ. В векторе очевидно это всегда будет выполняться и поэтому проблем не возникает
    Ой а что не так со специалистом?

  11. #200
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,842
    Спасибо Благодарностей отдано 
    654
    Спасибо Благодарностей получено 
    1,814
    Поблагодарили
    1,043 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Со специалистом все отлично, просто в старших адресах там ПЗУ и УВВ, что для "нового" посттестового фрагмента не подходит. Старый посттестовый фрагмент работает штатно.

Страница 20 из 20 ПерваяПервая ... 1617181920

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Вектор-06Ц: Эмуляция
    от ZEman в разделе Вектор
    Ответов: 1450
    Последнее: 16.03.2024, 20:18
  2. Рекомпиляция Z80 -> КР580ВМ80А
    от svofski в разделе Вектор
    Ответов: 59
    Последнее: 28.06.2021, 15:10
  3. Вектор-06Ц
    от Robusta в разделе Барахолка (архив)
    Ответов: 11
    Последнее: 17.03.2009, 23:18
  4. Вектор-06Ц: БП от PC
    от Dmitry Dubrovenko в разделе Вектор
    Ответов: 11
    Последнее: 08.03.2009, 21:53
  5. Ищу ВЕКТОР-06ц
    от BYTEMAN в разделе Барахолка (архив)
    Ответов: 13
    Последнее: 17.11.2008, 20:50

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •