汇编语言王爽第三部分(第一个程序)

本文详细解析了从源程序到可执行文件的全过程,包括三个主要步骤:编写、编译生成OBJ文件,链接生成库文件及最终的EXE文件。通过具体代码示例,深入理解程序的模块化编译和链接机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一个源程序从写出到执行的过程

在这里插入图片描述
下面以一段简单代码为例
主函数main.asm

extrn madd:far,msub:far;与C语言extern类似,从其他文件调用
assume cs:code,ss:stack;用assume将code和cs,ss和stack联系起来

stack segment
 db 128 dup(0)
stack ends

code segment
start:
 mov ax,2
 call madd;调用madd函数
 call msub;调用msub函数
 
mov ax,4c00h
int 21h   ;程序反回

code ends;code段结束
end start;程序结束,入口从start开始

madd.asm文件

public madd;定义一个函数
assume cs:code

code segment

madd proc far
 add ax,ax
ret
madd endp
code ends
end 

msub.asm文件

public msub
assume cs:code

code segment

msub proc far
 sub ax,ax
ret

msub endp
code ends
end 

编译分别生成3个OBJ文件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

将madd.obj和msub.obj生成MYLIB.lib文件
在这里插入图片描述
在这里插入图片描述
最后链接生成main.exe文件
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值