《汇编语言》(王爽)第4章 第一个程序--笔记

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

可执行文件包括:程序和数据、相关描述信息(程序的大小等)

1)编写源程序(txt)——<编译连接>——目标文件——<连接>——可执行文件(exe)1.4.1 一个源程序从写出到执行的过程

机器指令由CPU 执行,伪指令由编译器执行

1)段名:segment (段名也叫:标号)

段名:ends(=end segment)

段:

2)整个程序的结束:end

3)assume:假设。把一个段和一个寄存器联系起来。eg. assume cs:段名

4)伪指令:

1.源程序:包括程序和伪指令

1)程序:源程序中最终由计算机执行、处理的指令或数据

2)区分源程序和程序

2.区分几个和结束相关的概念

3.语法错误:编译器可以察觉。比如关键词出错

1)逻辑错误:一般难以察觉,比如缺少返回程序的代码

2)注:如果mov ax,abcH 实际上abc 是一个变量,而不是一个16进制。因为如果16进制由字母开头,需要在前面加上0

3)语法错误和逻辑错误

4.4.2 源程序

使用DOS 里面的Edit ,保存为".asm"文件

1.4.3 编译源程序

进入masm 目录(使用微软的masm 5.0汇编编译器)

1.severe error 1)warning error

2)如果没有以下错误就可以成功生成目标文件OBJ

2.编译过程可以产生三个输出文件:目标文件(.obj)、列表文件(.lst)、交叉引用文件(.crf)。后面两个是中间结果。注:目标文件存有机器码,但是有些内容不能直接生成可执行文件——这一步交给连接来做

3.4.4 编译

使用微软的Overlay Linker 3.60连接器

1.可能产生的三个文件:映像文件(.map )、可执行文件(.exe)、库文件(.lib)

2.源程序很大,可以分成几个远程秀文件,分别编译,然后连接成一个可执行文件1)如果程序中调用了子程序,可以通过连接来调用

2)见编译3

3)连接的作用:

3.4.5 连接

后面加上分号";"

1.4.6 简化方式编译和连接

执行后不会显示结果

1.4.7 exe 的执行

对于任何通用的操作系统,都有一个shell(外壳)

1.对于DOS 来说, 这个程序就是它的shell ,在DOS 中叫做命令解释器

2.3.

4.8 DOS 里面谁来把可执行文件载入内存并使它运行

使用debug 来加载程序1.exe 的时候,并不放弃对CPU 的控制

1.寄存器cx 存放的是程序的长度

2.4.9 程序执行过程跟踪

4c 只是21H 里面的其中一个子程序

第4章第一个程序

2019年10月8日8:29

寄存器cx 存放的是程序的长度

2..exe 加载的过程

3.DS 存放的是内存的段地址(也是PSP 起始段地址:SA ),CS 存放的是程序段地址(=SA+10)

4.当执行int 21h 这段dos 系统调用的时候,在debug 中需要用P ,命令

5.加载:command 加载debug 加载.exe

1)返回:.exe 返回debug 返回command

2)使用debug 的加载和返回的过程为:6.

相关文档
最新文档