汇编语言程序设计
- 格式:ppt
- 大小:2.03 MB
- 文档页数:47


汇编语⾔程序设计
第4章 汇编语⾔程序设计§4.1 汇编语⾔的模式
⼀、汇编语⾔源程序的⼀般模式[Name 模块名]
[Title 标题]
[定义宏]
[定义数据段]
[定义附加段]
[定义堆栈段]
定义代码段
源程序结束
中括号括起的部分可以省略,可见在⼀个汇编语⾔源程序中必须要定义代码段,并且必须有源程序结束指令。
⼆、8086汇编语⾔程序的⼀个例⼦Pg90。
§4.2 语句⾏的构成
汇编语⾔中的语句⼀般分为两种类型:指令性语句和指⽰性语句。
指令性语句的格式为:[标号:] 助记符 [操作数1[,操作数2]] [;注释]
指⽰性语句的格式为:[名称] 助记符 [参数1,参数2,……] [;注释]
标号和名称都是编程⼈员根据需要和⼀定的规则任意取的。也可以认为汇编语⾔的语句⾏是由标记和分隔符(空格)构成。
⼀、标记1.IBM宏汇编的字符集
(1)字母
(2)数字符
(3)特殊字符2.界符
⽤于定界⼀个标记的结束或⼀个标记的开始,本⾝具有⼀定的意义。3.常量
出现在汇编语⾔源程序中的固定值称为常量。
(1)数值常量
①⼆进制:以字母B结束。
②⼗进制:以字母D或⽆字母结束。
③⼋进制:以字母Q(或O)结束。④⼗六进制:以字母H结束。
(2)字符常量
指⽤单引号或双引号引起的字符或字符串。4.标识符
由程序员⾃⼰建⽴的字符序列(标号或名称)。⼀个标识符不能超过31个字符,不能以数字开头。5.保留字
汇编语⾔中具有特殊意义的字符序列。6.注释
⼀⾏中分号以后的部分。⽤于对⼀段或⼀⾏程序进⾏说明,便于阅读和理解。
⼆、符号
具有⼀定意义的字符序列。1.寄存器名
2.变量
段属性、偏移属性、类型属性3.标号
段属性、偏移属性、类型属性4.常数
5.其它
三、表达式
由操作数和运算符组合⽽成的序列。1.操作数
(1)⽴即数
(2)寄存器操作数
(3)存储器操作数2.运算符
(1)算术运算符+、-、*、/、MOD(求余)
(2)逻辑运算符AND、OR、NOT、XOR
(3)关系运算符EQ、NE、LT、LE、GT、GE
汇编语言是一种什么程序设计语言
汇编语言,也称为汇编程序设计语言,是一种低级的程序设计语言,用于编写计算机程序。它与机器语言一一对应,使用助记符(mnemonics)表示计算机的指令和操作码(opcode),并且能够直接控制计算机硬件。
汇编语言是一种面向机器的语言,与高级语言相比,更加接近计算机底层的指令集和硬件结构。使用汇编语言编程可以对计算机进行细粒度的控制,使程序在执行效率和内存管理方面具有更高的优势。
与高级语言相比,汇编语言具有以下特点:
1. 直接操作硬件:汇编语言充分利用了计算机的底层硬件资源,可以直接访问寄存器、内存地址和输入输出设备等,对硬件资源有较好的掌控能力。
2. 高效性:由于汇编语言可以直接操作硬件,在性能要求较高的场景下,能够比高级语言更加高效地利用计算机的资源。
3. 灵活性:汇编语言具有更高的灵活性,可以编写特定的指令序列来实现特定的功能,适用于一些对实时性要求较高、底层接口较复杂的应用场景。
然而,汇编语言也存在一些局限性和不足之处:
1. 可读性差:汇编语言以助记符和操作码为基础,相较于高级语言,可读性较差,需要开发者具备深入的底层计算机知识。 2. 开发效率低:由于汇编语言编写的代码需要详细地指明操作码和寄存器等硬件细节,编写复杂程序会消耗更多的时间和精力。
3. 可移植性差:汇编语言对于不同的计算机和处理器架构存在差异,不同的平台需要编写不同的汇编语言代码,因此可移植性较差。
总结而言,汇编语言是一种底层的程序设计语言,具有直接操作硬件、高效性和灵活性等特点。但由于可读性差、开发效率低和可移植性差等限制,现在在软件开发领域中使用较为有限,更多地被用于编写底层驱动程序、操作系统和嵌入式系统等领域。
江苏牧院
汇编语言程序设计试题
一、单项选择题(本大题共20小题,每小题1分,共20分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。
1.设SS=2050H,SP=0140H,则栈顶存贮单元的物理地址是( A )
A.20640H B.2063EH
C.2063FH D.21900H
2.使用DOS功能调用时,子程序编号应放在( B )
A.AL B.AH
C.AX D.任意指定
3.没有..语法错误的输出指令是( B ) P76
A.OUT AX,30H B.OUT DX,AL
C.OUT AL,DX D.OUT 30H,AH
4.用MOV指令将十进制数89以非压缩BCD码格式送入AX,可使用的指令是( B )
A.MOV AX,89 B.MOV AX,0809H
C.MOV AX,89H D.MOV AX,0809
5.设AX=8765H,DX=4321H,执行CWD指令后,DX中的内容是( B ) P117
A.4321H B.0FFFFH
C.8000H D.0001H
6.设CL=05H,要获得CL=0AH,可选用的指令是( A)
A.XOR CL,0FH B.NOT CL
C.OR CL,0AH D.AND CL,0FH
7.假设执行ADD指令后AL=8CH,再执行DAA指令,AL中的值是( A )
A.92H B.0104H
C.74H D.8CH
8. MOV AL,79H
ADD AL,B1H
上面指令执行后,设置的标志位CF和ZF的值是( D )
A.CF=0, ZF=1 B.CF=l, ZF=1
C.CF=0, ZF=0 D.CF=1, ZF=0
9. TEST DL,55H P123
JZ NEXT
NEXT:……
汇编语言程序设计
实验报告
实验名称 上机过程及顺序结构与分支结构程序设计实验
班
级
学 号
姓 名
日 期 2017年10月26号
成 绩
评 阅 人
软件学院一、 实验目的与意义
理解并熟练掌握汇编语言程序设计过程中的编辑、汇编、链接和调试等各个步骤,提高对汇编课程内容的理解和汇编语言的掌握,通过上机练习加深对课程内容的理解和掌握。通过汇编语言编制的程序上机调试、运行检验程序设计是否正确。熟悉和掌握编辑、汇编、连接和调试四个实用程序的使用方法,掌握调试程序中的几个常用命令的使用方法。熟悉其基本的指令操作,debug调试操作命令以及分支结构、顺序结构和循环结构的程序设计。
二、 实验环境
操作系统:Microsoft Windows8
集成环境:Masm for Windows
上机地点:信息楼B405教室
三、 实验的预习内容
预习的主要内容:
1. 使用DEBUG命令的方法;
2. 熟悉掌握从理论上定义数据的类型(即DB,DW,DD,);
3. 分支结构和顺序结构的步骤以及相关的指令;
4. 常用的标志位状态及相应的作用;
实验思路:
在对题目进行分析后,分析出解题方法,并做出与实验思路相对应的程序框图。依照程序框图的内容输入相对应的代码,最终在调试代码后,发现并解决一系列的汇编语言错误。进一步优化算法。实验之前必须了解十进制、十六进制和ASCII码之间的转换。预习查表法相关命令,掌握顺序程序的结构,从键盘输入数据的命令及显示到屏幕上的命令。
实验一:
题目1:将程序编辑、汇编、连接并通过集成环境中的debug调试,观察运行结果;用E命令修改指定地址的数据,再用G命令执行程序查看变化,用A命令将加法指令修改成减法指令,再将其编译运行,查看寄存器值变化的异同。
题目2:分别用DB、DW和DD数据段9H,0FAH,41H,27H,编译链接之后生成exe文件,再用debug的r命令找到数据段地址,用d命令指定数据段地址,观察汇编后在机器内部对应的存储情况。