当前位置: 首页 > 图文教程 > 开发语言 > 汇编语言 > 汇编多模块编译,连接

汇编语言
汇编语言的"多"层结构与理解
汇编语言上机指导及例示
汇编语言与Qbasic语言的接口技术
DEBUG命令详解
用汇编编写DOS下的内存驻留程序(1)
用汇编编写DOS下的内存驻留程序(2)
教你如何分析未文档化的数据结构
汇编语言实现字符串的拷贝
汇编实现字节数组相加
汇编多模块编译,连接
808x汇编指令
关于汇编语言和IL的异同点
汇编语言的优缺点
汇编语言概述
GCC内嵌汇编语言
Linux 汇编语言开发
汇编语言与C语言的混合使用
怎么才能把汇编学好呢?
ARM汇编伪指令介绍
Win32汇编语言教程

汇编语言 中的 汇编多模块编译,连接


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 497 ::
收藏到网摘: n/a

;-------------------------------------------------------
; MASM 汇编多模块编译,连接示例
;-------------------------------------------------------

; 模块 1 , 文件 data.asm
;-------------------------------------------------------

extrn msg:byte
extrn funNewLine:far
public newLine

data segment common
 newLine db 10,13,'$'
data ends

code segment
 assume ds:data,cs:code
main proc far
star: push ds
 xor ax,ax
 push ax
 mov ax,data
 mov ds,ax
 lea dx,msg
 mov ah,09h
 int 21h
 call far ptr funNewLine 
 ret
main endp
code ends
 end star

; 模块 2, 文件 test.asm
;-------------------------------------------------------

extrn newLine:byte
public funNewLine
public msg

data segment public
 msg db 'hello world$'
data ends

code1 segment
 assume ds:data,cs:code1
funNewLine proc far
star: mov ax,data
 mov ds,ax
 lea dx,newLine
 mov ah,09h
 int 21h
 ret
funNewLine endp
code1 ends
 end star

;-------------------------------------------------------
 编译,连接过程如下
;-------------------------------------------------------
E:\program\masmcode\MASM>masm data.asm
Microsoft (R) Macro Assembler Version 5.00
Copyright (C) Microsoft Corp 1981-1985, 1987.  All rights reserved.

Object filename [data.OBJ]:
Source listing  [NUL.LST]:
Cross-reference [NUL.CRF]:

  50316 + 449956 Bytes symbol space free

      0 Warning Errors
      0 Severe  Errors
E:\program\masmcode\MASM>masm test.asm
Microsoft (R) Macro Assembler Version 5.00
Copyright (C) Microsoft Corp 1981-1985, 1987.  All rights reserved.

Object filename [test.OBJ]:
Source listing  [NUL.LST]:
Cross-reference [NUL.CRF]:

  50356 + 449916 Bytes symbol space free

      0 Warning Errors
      0 Severe  Errors
E:\program\masmcode\MASM>link data test

Microsoft (R) Overlay Linker  Version 3.60
Copyright (C) Microsoft Corp 1983-1987.  All rights reserved.

Run File [DATA.EXE]:
List File [NUL.MAP]:
Libraries [.LIB]:
LINK : warning L4021: no stack segment

E:\program\masmcode\MASM>data
hello world

E:\program\masmcode\MASM>