多模块链接 Link 问题
题目:对存放在地址A起的5个数,用转ASCII码子程序转换代码,并存入B地址起的单元中。使用段间调用。源程序有2个模块,5-23.asm 和 subprog.asm。5-23.asm
---------------------------------
DATA SEGMENT
A DB 4,6,8,5,7
B DB 5 DUP(?)
C EQU 5
DATA ENDS
PUBLIC A
EXTRN SPRG:FAR
CODE1 SEGMENT PARA PUBLIC 'CODE'
ASSUME CS:CODE1, DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV DI,0
MOV SI,0
MOV CX,C
LP: CALL SPRG
MOV B[DI],AL
INC DI
INC SI
LOOP LP
MOV AH,4CH
INT 21H
CODE1 ENDS
END START
---------------------------------
subprog.asm
---------------------------------
EXTRN A:BYTE
CODE2 SEGMENT PARA PUBLIC 'CODE'
SPRG PROC FAR
ASSUME CS:CODE2
PUBLIC SPRG
STT: MOV AL,A[SI]
ADD AL,30H
RET
SPRG ENDP
CODE2 ENDS
END
---------------------------------
问题:1、源程序是否有误?
2、分别编译5-23.asm 和 subprog.asm,生成5-23.obj 、 subprog.obj两个文件。为何链接时出错?
Tlink 5-23.obj+subprog.obj
3、请举几个Tlink多模块的命令行,学习下要求和格式。