[QUOTE=forth32;712176]Ну почему же странном? Это обычный .lib, только переименованный в .A. Видимо, таков стандарт наименования файлов в микродос. Кстати, в юниксах и по сей день объектные библиотеки имеют такое расширение.

Библиотекарь lib запросто разобрал этот файл на 2 объектных модуля - net.r и stt2012.r. Можно копать и их, поскольку формат .r - файлов полностью описан в доке по системе программирования С.

Но я пошел более простым путем. Создал программу-пустышку -

Код:
#include "net.h"
int main() {
 char str[40];
 net(1,str)
 return 0
}
Оттранслировал и скомпоновал с этой библиотекой. Получился файл net.com, который я теперь сижу и потихоньку ковыряю в IDA. Преимущество такого подхода в том, что в полученном COM-файле практически нет лишнего мусора - только сетевая библиотека и все. Кроме того, линкер мне выдал карту компоновки, содержащую абсолютные адреса всех глобальных имен в программе. То есть не надо искать main, net итд, продираясь сковзь корявый стартовый код сишного рантайма.
удобно, а я как-то с такими вещами не знаком ;(

Цитата Сообщение от forth32 Посмотреть сообщение
Корнет - это отдельная интересная песня. Было бы у меня 2 корвета - мог бы поснифать протокол обмена между ними, благо моя программа это умеет. Мне вот интересно, как они боролись с коллизиями, если любой РМУ в люой момент может начать срать в линию связи. Ладно, IDA есть, может что-нибудь придумаю.
ага, еще есть некая ОС "СФЕРА" (возможно как-то соотносится с корнетом
и естьт еще CP/N-90
похоже она попроще будет чем корнет.

Цитата Сообщение от forth32 Посмотреть сообщение
А, ну понятно. Видел я этот исходник среди твоих файлов. Он странный. Не похож на оригинальный исхожники от авторов корвета. Скорее, это кто-то уже ковырял ОПТС в каком-то примитивном дизасме и написал все это в порядке предположения.
мне кажется что это просто некий промежуточный код некий
т.к. смущает нам наличие макросов ...
Код:
OTL	SET	0
	MACLIB	KERMACT

....

IF OTL EQ 1
	PRINT	C10
ENDIF

.....

IF OTL EQ 1
C1:	DB	0DH,0AH,'ПАКЕТ А ПРИНЯТ$'
C2:	DB	0DH,0AH,'ПАКЕТ R ПРИНЯТ$'
C3:	DB	0DH,0AH,'ПАКЕТ D ПРИНЯТ$'
C4:	DB	0DH,0AH,'ПАКЕТ Z ПРИНЯТ$'
C5:	DB	0DH,0AH,'ПАКЕТ S ПРИНЯТ$'
C6:	DB	0DH,0AH,'ACK$'
C7:	DB	0DH,0AH,'NACK$'	
C8:	DB	0DH,0AH,'ПАКЕТ А ПЕРЕДАН$'
C9:	DB	0DH,0AH,'ПАКЕТ R ПЕРЕДАН$'
C10:	DB	0DH,0AH,'ПАКЕТ D ПЕРЕДАН$'
C11:	DB	0DH,0AH,'ПАКЕТ Z ПЕРЕДАН$'
C12:	DB	0DH,0AH,'ПАКЕТ Y ПРИНЯТ$'
PRTSTR:	LDAX	D
	CPI	'$'
	JZ	R
	PUSH	D
	PRTSYM
	POP	D
	INX	D
	JMP	PRTSTR
ENDIF
	END	INPKT
это имхо говорит что его как минимум компилили с этими флагами ...

Цитата Сообщение от forth32 Посмотреть сообщение
Кстати, хочу спросить. Ты в какой версии IDA делаешь свои базы? У меня ни 4.7 ни 5.5 их не открывают. В результате я еще ни одной твоей баз так и не посмотрел...
ida 6.1
я запускаю IDAQ
http://rutracker.org/forum/viewtopic.php?t=3625386

---------- Post added at 14:21 ---------- Previous post was at 14:08 ----------

кстати про TESTLS
похоже он есть только в ОПТС 1
вот кусок из R002.ASM

Код:
;
; ВЕКТОР ПЕРЕХОДОВ
;
	JMP	LOADBS 	; ПЕРЕХОД К БЕЙСИКУ
	JMP	LOADTST	; ПЕРЕХОД К ЗАГРУЗКЕ С ПРОВЕРКОЙ
; ВХОДЫ В ДРАЙВЕР КОНСОЛИ
	JMP	CONST   ; ОПРОС СОСТОЯНИЯ КОНСОЛИ
	JMP	CONIN   ; ВВОД С КОНСОЛИ
	JMP	CONOUT  ; ВЫВОД НА КОНСОЛЬ
; ВХОДЫ В ДРАЙВЕР КАССЕТНОГО МАГНИТОФОНА
	JMP	TAPION	; ЧТЕНИЕ МАРКЕРА
	JMP	TAPIN	; ЧТЕНИЕ БАЙТА
	JMP	TAPIOF	; ОСТАНОВ ЧТЕНИЯ
	JMP	TAPOON	; ЗАПИСЬ МАРКЕРА
	JMP	TAPOUT	; ЗАПИСЬ БАЙТА
	JMP	TAPOOF	; ОСТАНОВ ЗАПИСИ
	JMP	MTRCONT	; УПРАВЛЕНИЕ МОТОРОМ
	JMP	SETRATE	; УСТАНОВКА СКОРОСТИ ЗАПИСИ
; ВХОДЫ В ДРУГИЕ ПОДПРОГРАММЫ
	JMP	LOADOS	; ПЕРЕХОД К ЗАГРУЗКЕ ОС
	JMP	TLS	; ПЕРЕХОД К ТЕСТУ ЛОКАЛЬНОЙ СЕТИ
	JMP	SND  	; ВЫВОД ОДИНОЧНОГО ЗВУКОВОГО СИГНАЛА
в ОПТС 1 есть код, а в ОПТС2 там jmp на ресет

и кстати, врядли ТАКОЕ результат дизасма
Код:
; инициализация контроллера прерываний
;;;;;;;;;;;
; Контроллер прерываний запрограммирован в
; режиме вложенных прерываний.Вектор прерываний
; находиться начиная с адреса 02Е0Н с интервалом 4.
; Наложена маска запрета 
; прерываний по всем уровням кроме 3-го.
;;;;;;;;;;;
	MVI	L,SICP0
	MVI	M,ICW1 + SHORT + (LOW INTTBL)
	INR	L
	MVI	M,HIGH INTTBL
	MVI	M,NOT INT3
	DCR	L
	MVI	M,SELRID + SELEN + SELIRR
....
; Дешифратор функциональных клавишей

	MOV	A,C
	RRC
	JC	BOOT	; F1 - Загрузка ОС
	RRC
	JC	LDROM	; F2 - Загрузка ПЗУ
	RRC
	JC	TESTLS	; F3 - Тест ЛС
	RRC
	JC	BASIC	; F4 - Резерв
	JMP	DOSBOOT	; F5 - Резерв


---------- Post added at 15:38 ---------- Previous post was at 14:21 ----------

кстати, про сеть и передачу графики
похож они хотели сделать, но не смогли
во всех STS (1.0,1.1,2.0)
есть такие строчки
Код:
RAM:28BB m0ACZU:  db '\r\n'           ; DATA XREF: RAM:157Fo,RAM:15CBo ...
RAM:28BB          db '0 - АЦЗУ\r\n$'
RAM:28C8 m1GZU:   db '1 - ГРАФ. ЗУ\r\n$'
RAM:28D7 m2BASIC: db '2 - БЕЙСИК\r\n$' ; DATA XREF: RAM:1585o, sub_27EB+6o
RAM:28E4 m4DISK:  db '4 - ДИСК\r\n$'  ; DATA XREF: RAM:15D1o
RAM:28EF m5RAM:   db '3 - ОЗУ\r\n$'   ; DATA XREF: RAM:158Bo
но пункт '1 - ГРАФ. ЗУ' не используется