第四章知识汇总

第四章    第一个程序

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进行学习并理解

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

时间: 2024-08-28 18:26:57

第四章知识汇总的相关文章

第三章知识汇总

第三章   寄存器 3.1 内存中字的存储 CPU中,用16位的寄存器来存储一个字.高8位存放高位字节,低8位存放低位字节 字单元:存放一个字型数据(16位)的内存单元,由两个地址连续的内存单元组成.高地址内存单元中存放字型数据的高位字节,低地址内存单元中存放字型数据的低位字节. 3.2 DS和[address] DS寄存器:通常用来存放要访问数据的段地址 mov al [0]       [0]表示内存单元的偏移地址,8086CPU将自动使用此时DS的数据作为内存单元的段地址 8086CPU不

第二章知识汇总

2.1 通用寄存器 1,AX,BX,CX,DX被称为通用寄存器 2,AX可分为AH,AL...... 2.2 字在寄存器中的存储 1,字节:记为byte,一个字节由8bit组成 字:记为word,一个字由两个字节组成,分别是高位(AH)和低位字节(AL) 2.3 几条汇编指令 1, mov ax 18    AX=18 mov ah 78    AH=78 add ax 8       AX=AX+18 mov ax bx    AX=BX     两个对象的位数一样 add ax bx   

第四章 知识总结

 独立写一个程序 了解汇编源程序从编写到调试的过程. 一.编写汇编源程序. 二.对源程序进行编译连接. 三.执行可执行文件中的程序. 1.以下是基本的汇编源程序 assume cs:code code segment mov ax,0b800h mov ds,ax mov bx,0 mov [bx],0433h    add bx,2 mov [bx],0436h mov ax,4c00h int 21h code ends end 2.编译运行的过程 使用dos下的edit编辑流程 (1)运行

Java基础知识二次学习--第四章 异常

第四章 异常处理 时间:2017年4月26日11:16:39~2017年4月26日11:28:58 章节:04章_01节 04章_02节 视频长度:20:46+01:16 内容:异常的概念 心得: Java异常是JAVA提供的用于处理程序中错误的一种机制 实在运行的过程中发生的一些异常事件(比如除0溢出,数组越界,要读取的文件不存在) 设计良好的程序应该在异常发生时提供处理这些错误的方法,使得程序不会因为异常的发生而阻断或产生不可预见的结果 JAVA程序的执行过程中 如果出现异常事件,可以生成异

Linux知识要点大全(第四章)

第四章 文件管理 *主要内容 文件和目录的操作: ①创建 ②删除 ③拷贝 ④重命名(剪切) ⑤查看 一:目录的操作 回顾与目录相关的命令 ls  查看目录中的内容 .pwd 打印当前目录   .cd  切换目录1.创建目录 mkdir  [-选项]  [参数] -p 级联创建,在父目录不存在的情况下,先创建父目录,再创建子目录. 例:mkdir -p dou1/dou11/dou111/ -v 显示创建过程. 2.删除目录 rmdir    删除空目录 例:rmdir  dou2 rm  –r或

2014年软考-信息处理技术员-考试辅导【第四章】

51CTO学院,在软考备考季特别整理了"2014年软考-信息处理技术员[考试辅导汇总]",帮助各位学院顺利过关!更多软件水平考试辅导及试题,请关注51CTO学院-软考分类吧! 查看汇总:2014年软考-信息处理技术员-考试辅导[汇总篇]  计算机技术与信息处理 信息处理是指对获取的信息进行识别.转换.加工,使信息安全地存储.传输,并能方便地检索.再生.利用,或便于人们从中提炼知识.发现规律的工作手段.信息处理主要是利用计算机技术完成. 下面是几种信息处理技术 多媒体技术,数据库技术,计

2017.06.29数据挖掘基础概念第四章

第四章39.为什么在进行联机分析处理(OLAP)时,我们需要一个独立的数据仓库,而不是直接在日常操作的数据库上进行 1.提高两个系统的性能 2.操作数据库支持多事务的并发处理,需要并发控制和恢复机制,确保一致性和事务的鲁棒性 3.两者有着不同的数据的结构.内容和用法40.什么是数据仓库 数据仓库是一种数据库,它与单位的操作数据库分别维护,数据仓库系统允许将各种应用系统集成在一起,为统一的历史数据分析提供坚实的平台,对信息处理提供支持,是一个面向主题的.集成的.时变得.非易失的数据集合,支持管理者

4.20日第13次作业.,20章战略管理,21章业务流程管理和重组,22章知识管理,高项,29-田哲琦

4.20日第13次作业.,20章战略管理,21章业务流程管理和重组,22章知识管理,高项,29-田哲琦 20章.战略管理1.企业战略的特点有哪些?P420-421 答:1).全局性 2).长远性 3).抗争性 4).纲领性 2.企业战略决策的特点有哪些?P421答:1).决策的对象是复杂的,很难把握住它的结构,并且是没有先例的,对其处理上也是没有经验可循. 2).面对的问题常常是突发性的.难以预料的.所依靠的是来自外部的关于未来如何变化的很少的情报. 3).决策的性质直接涉及到企业的前途. 4)

读大道至简第四章有感

第四章题目为流于形式的沟通,顾名思义说的就是我们的沟通只是表面工作,没有深入,也就不会对工作有什么实质性的帮助.但是这个沟通值得是谁与谁之间的沟通呢,没错,就是我们与客户之间的沟通.程序员与计算机之间可以用C语言,java进行沟通但是客户不一定会这些我们也不能要求客户会这些,所以学好基本的编程语言是基础,学会与客户用汉语进行深刻的沟通,并且把这些沟通的内容转化为编程的需求.这是对一个程序员的客观要求. 然而就像书中所说,有的客户会聘用一个专家组来与程序员进行沟通,这时候专业知识就可以很好的应用,