Цитата Сообщение от Error404 Посмотреть сообщение
Начал ковырять исходники LIBC.
Первая проблема которую предстоит решить в том, что компилятор прогеры Юзикс на самом то деле использовали какой-то более продвинутый, чем используемая мной сохранившаяся в PublicDomain HitechC CP/M-версия 3.09 образца 1987 года, не понимающая оператор asm("operand") в C-коде, или вот такие ассемблерные конструкции в ASM-коде:
Код:
	psect	text,class=CODE
	psect	strings,class=CODE
	psect	const,class=CODE
	psect	data,class=DATA
	psect	bss,class=DATA
	psect	_bssend,class=DATA
или
Код:
	global	_access
	signat	_access,8250
	global	_exit
	signat	_exit,4152	; arg in DE
Выделенное жирным, HitechC v3.09 образца 1987 года не понимает от слова совсем.

Собственно, это не новость, я с этим столкнулся еще в ядре. Но там этого встречалось мало и я тупо взял и переписал по смыслу. А тут надо будет обдумать и как передаются параметры (v3.09 образца 1987 года не умеет никак кроме как по стеку, а в исходника мы видим размещение в регистрах, причем несколько вариантов в зависимости от числа в signat), и как после С-компиляции сегменты в исполняемом бинаре лягут - надо чтобы в требуемом порядке.
забавно UZI180 собрана им. а она вроде позже написана.
ты не смотрел ее исходники?