码迷,mamicode.com
首页 > 其他好文 > 详细

第四章知识汇总

时间:2018-11-14 22:37:26      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:bsp   程序编写   多少   语法错误   除了   需要   图片   源程序   逻辑   

第四章    第一个程序

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

 

第一步:编写汇编源程序

使用文本编辑器,用汇编语言编写汇编源程序,这一步工作的结果是产生了一个存储源程序的文本文件

 

第二步:对源程序进行编译连接。

使用汇编语言编译程序对源程序文件中的源程序进行编译,产生目标文件进行连接,生成可在操作系统中直接运行的可执行文件。

可执行文件包含两部分内容。

(1)程序(从源程序中的汇编指令翻译过来的机器码)和数据(源程序中定义的数据)

(2)相关的描述信息(比如,程序有多大,要占用多少内存空间等)

这一步的结果:产生了一个可以在操作系统中运行的文件

 

第三步:执行可执行文件中的程序

在操作系统中,执行可执行文件中的程序。

操作系统依照可执行文件中的描述信息,将可执行文件中的机器码和数据加载入内存,并进行相关的初始化(比如设置CS:IP指向第一条要执行的指令),然后由CPU执行程序

 

4.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

下面对程序进行说明:
1,伪指令

伪指令是由编译器来执行的指令,最终不被CPU执行,编译器根据伪指令来进行相关的编译工作

(汇编指令有对应的机器码的指令,可以被编译为机器指令,而伪指令不能)

上述程序中出现的3种伪指令

(1)XXX segment 

         

         XXX ends

  段名  segment

  段名  ends

(2)  end

用来结束对源程序的编译

(3)assume

assume cs:codesg  假设cs与段codesg相关联,将cs与段codesg联系起来

 

2,源程序中的“程序”

这里所说的程序就是指源程序中最终由计算机执行,处理的指令或者数据

以后可以将源程序问渐渐中的所有内容称为源程序,将源程序中最终由计算机执行,处理的指令或者数据(不包括伪指令),称为程序

 

3.  标号

汇编源程序中,除了汇编指令和伪指令外,还有一些标号,比如“codesg”。一个标号指代了一个地址。比如codesg在segment的前面,作为一个段的名称,这个段的名称最终将被编译连接程序处理为一个段的段地址。

 

4.程序的结构

源程序编写的顺序:P80

(1)先定义一个段

(2)在这个段中写入汇编指令

(3)指出程序在何处结束

(4)该段被当作代码段来使用,所以,应该将该段与cs联系起来(对于此程序,并不是非这样做不可)

5.程序返回

一个程序运行后应该将CPU的控制权交还给使它得以运行的程序,我们称这个过程为:程序返回。

实现程序返回的方式:

mov ax,4c00H

int 21H

我们现在还不理解这段代码的含义,之后会有了解。现在我们只需要知道,这段代码具有将程序返回的功能

 

6.语法错误和逻辑错误

程序在编译的时候被编译器发现的错误是语法错误

在源程序编译后,在运行的时候发生的错误是逻辑错误

语法错误容易发现,也容易改正。而逻辑错误通常不易被发现

 

 

4.3编辑源程序

使用DOS下的Edit,以下是工作过程:(操作的具体图片在P82,也可以用文本文档来编辑)

(1)进入DOS方式,运行Edit

(2)在Edit中编译程序

(3)将程序保存为文件 c:\1.asm后,退出Edit,结束对源程序的编辑

 

4.4 编译

于书本P83,文字不便描述,需仔细阅读

 

4.5 连接  4.6以简化方式进行编译和连接

于书本P85,文字不便描述,需仔细阅读

 

4.4至4.9的内容可以结合实验3进行学习并理解

 

第四章知识汇总

标签:bsp   程序编写   多少   语法错误   除了   需要   图片   源程序   逻辑   

原文地址:https://www.cnblogs.com/1198264220pl/p/11982pl642205.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!