多模块链接 Link 问题

proof1 proof1 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
题目:对存放在地址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多模块的例子,学习下要求和格式。
...全文
评论 5
收藏 已收藏
分享
返回顶部
proof1
汇编语言 21,500 成员 41,619 内容