此文件连接不出。。。
源代码如此:
EXTRN LOAD:FAR,SAVE:FAR
N EQU 10
STAC SEGMENT STACK
DB 128 DUP (?)
STAC ENDS
DATA SEGMENT
SOURCE DB N DUP(?)
RESULT DB N+1 DUP(0)
NAME0 DB 'INPUT1.DAT',0
NAME1 DB 'OUTPUT1.DAT',0
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA, SS:STAC
START PROC FAR
PUSH DS
XOR AX,AX
PUSH AX
MOV AX,DATA
MOV DS,AX
LEA DX,SOURCE ; 数据区起始地址
LEA SI,NAME0 ; 原始数据文件名
MOV CX,N ; 字节数
CALL LOAD ; 从 'INPUT1.DAT'中读取数据
; **** BEGIN ****
MOV CL,N
MOV DI,OFFSET RESULT
MOV BX,0
MOV DH,0
PRO: MOV DL,0
MOV AL,SOURCE[BX]
MOV CH,8
COUNT: rol al,1
JNC jump
INC DL
JUMP: DEC CH
jnz COUNT
MOV [DI],dl
ADD DH,DL
INC DI
INC BX
DEC CL
JNZ PRO
MOV [di],dh
; **** END ****
LEA DX,RESULT ; 结果数据区首址
LEA SI,NAME1 ; 结果文件名
MOV CX,N+1 ; 结果字节数
CALL SAVE ; 保存结果到文件
RET
START ENDP
CODE ENDS
END START
可就是连接不出来,INPUT1和RESULT文件都在源文件的文件夹里面,可就是报错连接不出来
[解决办法]
不能单链接这个文件的。要分别将这个文件、INPUT1 和 RESULT 等三个文件都汇编成 obj 文件,然后 link 程序将这三个文件合并链接一起生成最后的可执行程序。
[解决办法]
INPUT1 和 RESULT是数据文件,不需要连接,也不能连接(格式都不对)。
关键是EXTRN LOAD:FAR,SAVE:FAR这两个过程存在于哪个文件中,需要连接它的obj。