多模块链接 Link 问题

proof1 2016-03-31 08:28:59
只有这里人气还高些。建议减少、合并子论坛分类。有些子论坛第1页还有2014年的贴子。


题目:对存放在地址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多模块的例子,学习下要求和格式。
...全文
94 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

590

社区成员

发帖
与我相关
我的任务
社区描述
提出问题
其他 技术论坛(原bbs)
社区管理员
  • community_281
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧