四.汇编-第一个程序

22 篇文章 0 订阅
19 篇文章 0 订阅

之前都是在debug下执行一些指令。

1.一个程序从写到执行的过程

a.流程简单概括

  1. 编写汇编源程序
  2. 对源程序进行编译连接
  3. 执行可执行文件中的程序

b.可执行文件包括两部分,程序(由编译翻译过来的机器码)以及数据。第二部分相关的描述信息(如程序大小,占用内存容量等)
c. 操作系统根据可执行文件的描述信息,将可执行文件中的数据和机器码载入到内存当中,并进行相关的初始化,然后由CPU执行程序。

2.源程序

assume  cs:codesg

codesg segment

	mov ax,0123H
	mov bx,0456H
	add ax,bx
	add ax,ax
	mov ax,4c00H
	int 21H

codesg ends

end

以上是一个简单的源程序

a. 伪指令
在汇编语言的源程序中,包含两种指令,一种是汇编指令,一种是伪指令。汇编指令是对应机器码的指令,可以被编译为机器指令,最终由CPU执行。伪指令是有编译器执行的指令,编译器根据为指令来进行相关的编译工作。

b. 一个源程序中所有将被计算机处理的信息: 指令,数据,栈,都被划分到不同的段中。

c. 一个有意义的程序至少要有一个段,用于存放代码,也就是代码段。

程序由编译后编程机器码
上图是程序由编译后编程机器码的实例图

3. 编辑源程序

a. 任意的文本编辑器都可以编辑源程序。

4.编译

a.可以采用微软的MASM.exe 进行编译

5. 连接

a. 在对源程序进行编译后,我们需要对目标文件进行连接,从而得到可执行文件。(可采用link.exe)
b .连接的作用

  • 当源程序很大时,可以将它拆分为多个源程序来进行编译,每个源程序编译成目标文件后,可以连接在一起,生成一个可执行文件。
  • 程序中调用了某个库中的子程序,需要将这个库文件和该程序的生成的目标文件连接到一起,生成一个可执行文件。
  • 一个源程序编译后,得到的存有机器码的目标文件,目标文件中的有些内容还不能直接用来生成可执行文件,连接内容将这些处理称最终的可执行信息。
  • 对于连接的过程,可执行文件是我们最终需要得到结果。

6.以简单的方式进行编译和连接

a. mass c:\1; (c;\1对应的路径)
b. link 1; (在link后面加上目标文件的路径和文件名)

7.exe 的执行

8.谁将可执行文件中的程序装载进内存中并使它运行呢?

a. DOS中的command.com(将程序装载到内存中)

9.程序执行过程的跟踪。

a. 采用Debug来跟踪一个程序的过程。
b. 在DOS中程序加载顺序是: command加载debug,debug加载.exe程序,返回则直接逆序到command。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值