Цитата Сообщение от PPC Посмотреть сообщение
Единственно, категорически не нравятся варианты с ограничением по размещению в памяти.
Для задачи определения типа процессора это, конечно, перебор. Если бы что-то действительно критичное (графика, супер-расчеты, интерпрератор чего-то), тогда бы наверно имело смысл.

Цитата Сообщение от PPC Посмотреть сообщение
Похоже, будем жить с последним вариантом.
Тогда наверно стоит зафиксировать (с учетом вышеупомянутых правок):
Код:
cpudetect:
	sub	a
	lxi	d,_z80
	rpo
	inr	a
	lxi	d,_i8080
	shlx
	push	psw
	pop	d
	ora	e
	ani	00000011b ;чтобы не зависеть от банка памяти ВМ1
	lxi	d,_580VM1
	rpe
	ral
	lxi	d,_i8085
	ret
И альтернативный, "почти бесстековый" вариант.
Код:
cpudetect:
	sub	a
	lxi	d,_z80
	rpo
	inr	a
	lxi	d,_i8080
	shlx
	inr	a
	cpi	3
	lxi	d,_i8085
	jof	SkipVM1
	inr	a
	lxi	d,_580VM1
SkipVM1:
	ret
Цитата Сообщение от PPC Посмотреть сообщение
Было прикольно её оптимизить вдвоём. Спасибо, ivagor, надеюсь когда нибудь ещё поработать вместе. Только, наверное, offline если не против, а то вон мы тут сколько постов нагенерили. Одно оправдание, что весь процесс оптимизации на виду.
Да, было прикольно, в свою очередь хочу сказать спасибо за такое интересное и полезное взаимодействие. Когда есть взгляд со стороны, свежие идеи - меньше риск что-то просмотреть или зациклиться на неудачных решениях. Ни и дух соревновательности подталкивает
Насчет поработать вместе - кто знает, у меня много пятниц на неделе, лучше я ничего определенного говорить не буду, но не исключно