На случай если кому захочется поменять лицензионную информацию в TSX-Plus
Вот восстановленный файл TSNAME.MAC от TSX-Plus V6.40 (с добавлением меток ULTEXT и ULTXND, использующихся в V6.50):
Модуль TSNAME находится в файле TSX2.OBJ (это склейка объектных модулей).Код:.TITLE TSNAME - Site name .ENABL LC ; Copytight 1981,1982,1983,1984,1985,1986,1987,1988,1989. ; S&H Computer Systems, Inc. ; Nashville, Tennessee .PSECT CBNAME .GLOBL SUMS,SUCS,TSXLN,GRT1,SUPCOD,TRGRET,LICTXT,NAMTOP,MDT .GLOBL DISTRB,SITE,LICENS,LICNUM,MNUAOT,ULTEXT,ULTXND MICRO = 0 .MACRO NAME TEXT ;Store text string & compute checksum for it. .IRPC CHAR,<TEXT> .BYTE -<''CHAR> SUCS = SUCS-''CHAR .ENDM .ENDM NAME .MACRO SNAME TEXT ;Macro to define site name NAME <'TEXT> .IF NE, MICRO ;allocate enough space for 30 char (micro) .NCHR $$$,<'TEXT> .REPT 30.-$$$ NAME < > .ENDR .ENDC .ENDM SNAME .MACRO LICENSE NUMBER,NUM2 ;Macro to define license # NAME <'NUMBER> .IF NE,MICRO ;allocate enough space for 5 digits (micro) .NCHR $$$,<'NUMBER> .REPT 5.-$$$ NAME < > .ENDR .ENDC TSXLN = ^D'NUMBER MNUAOT = ^D'NUM2 .ENDM LICENSE .MACRO NEWLIN ;Macro to store <CR><LF> into the string. .BYTE <-15>,<-12> SUCS = SUCS-15-12 .ENDM NEWLIN MDT = 0. .NLIST BEX ULTEXT: ULTXND: GRT1: .ASCII <15><12>/* / .IF NE, MICRO .ASCII \Micro/\ .ENDC .ASCIZ /TSX-Plus Version 6.40 */<12> .EVEN SUCS = 0 ;INITIALIZE CHECKSUM SUMS = .+1246 ;ENCRIPT ADDRESS NAME <Copyright (c) 1980,1981,1982,1983,1984,1985,1986,1987,1988> NAME <,1989> NEWLIN NAME <an unpublished work by S&H Computer Systems, Inc., Nashville, TN, USA> NEWLIN NAME <(S&H) covered by U.S. Patent No. 4,642,756. All rights reserved.> NEWLIN NAME <This material contains the valuable properties and trade secrets of S&H> NEWLIN NAME <and may not be used except by the express written permission of S&H.> NEWLIN NAME <Distributed by > DISTRB: NAME <S&H Computer Systems, Inc.> NEWLIN NAME <Licensed for use on a single computer system > TRGRET: NAME <at > SITE: NAME <S&H Computer Systems, Inc.> NEWLIN LICTXT: NAME <License # = > LICENS: NAME <999> NAME <T> NAME <P> SUPCOD: NAME <S> NAME <-> LICNUM: LICENSE <00044>,<4878> NEWLIN .BYTE 0 ;END OF COPYRIGHT LINE .EVEN SUCS = <-SUCS>+1 ;ENCRIPT CHECKSUM SLIGHTLY NAMTOP: ;TOP OF TSNAME MODULE .END
Разобрать TSX2.OBJ на отдельные модули можно так:
Склеить модули обратно можно так:Код:.R LIBR *TSX2.LIB=TSX2 *OHANDL=TSX2.LIB/E Global? O$DONE Global? *TSKMN1=TSX2.LIB/E Global? R50KMN Global? *TSKMN3=TSX2.LIB/E Global? CFSTOP Global? *TSKMSG=TSX2.LIB/E Global? CLUNIT Global? *TSNAME=TSX2.LIB/E Global? GRT1 Global? *^C
Код:.COP/PRE/CON (OHANDL,TSKMN1,TSKMN3,TSKMSG,TSNAME).OBJ TSX2.OBJ





Ответить с цитированием