;来源:http://tieba.baidu.com/p/5982509483
;功能:多模块编程范例
;用 masm v5.00 工具编译链接通过
;
;e9995.asm 主程序模块
extrn set:far
public buf1
.model small
.stack 40h
.data
buf1 db 3
.code
start:
mov ax,@data
mov ds,ax
call set
mov dl,buf1
mov ah,2
int 21h
mov ah,4ch
int 21h
end start
;+-----------------------------
;set.asm 文件内容:
;注意.code简化格式与非简化格式的对应关系
extrn buf1:byte
public set
_TEXT segment word 'CODE' ;.code默认的代码段名为_TEXT
assume cs:_TEXT
set proc far
mov buf1,'8'
ret
set endp
_TEXT ends
end
;+-----------------------------
;主程序源码文件e999t.asm和set.asm要分开编译,
;编译指令示范: masm set.asm;
;上述指令生成set.obj。要生成其他的obj只要改下源码文件名就行了。
;
;库文件创建、添加模块、删除模块、更新模块指令示范:
;lib mylib+set.obj;
;上面的指令生成 mylib.lib,并在该文件中添加了set.obj模块
;lib mylib-set.obj;
;上面指令的功能是删除mylib.lib中的set.obj模块。
;lib mylib-+set.obj;
;上面指令的功能是在mylib.lib中更新set.obj模块
;
;链接程序指令示范:
;link e9995.obj,,,mylib
;上面的指令提供了库文件mylib
;
;以上各制作过程都可以通过只键入:masm或者lib或者link命令,
;然后根据提示,一步一步提供相应的文件名来生成想要的"目标文件"。
;+-----------------------------
;功能:多模块编程范例
;用 masm v5.00 工具编译链接通过
;
;e9995.asm 主程序模块
extrn set:far
public buf1
.model small
.stack 40h
.data
buf1 db 3
.code
start:
mov ax,@data
mov ds,ax
call set
mov dl,buf1
mov ah,2
int 21h
mov ah,4ch
int 21h
end start
;+-----------------------------
;set.asm 文件内容:
;注意.code简化格式与非简化格式的对应关系
extrn buf1:byte
public set
_TEXT segment word 'CODE' ;.code默认的代码段名为_TEXT
assume cs:_TEXT
set proc far
mov buf1,'8'
ret
set endp
_TEXT ends
end
;+-----------------------------
;主程序源码文件e999t.asm和set.asm要分开编译,
;编译指令示范: masm set.asm;
;上述指令生成set.obj。要生成其他的obj只要改下源码文件名就行了。
;
;库文件创建、添加模块、删除模块、更新模块指令示范:
;lib mylib+set.obj;
;上面的指令生成 mylib.lib,并在该文件中添加了set.obj模块
;lib mylib-set.obj;
;上面指令的功能是删除mylib.lib中的set.obj模块。
;lib mylib-+set.obj;
;上面指令的功能是在mylib.lib中更新set.obj模块
;
;链接程序指令示范:
;link e9995.obj,,,mylib
;上面的指令提供了库文件mylib
;
;以上各制作过程都可以通过只键入:masm或者lib或者link命令,
;然后根据提示,一步一步提供相应的文件名来生成想要的"目标文件"。
;+-----------------------------