- 1、本文档共90页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[高等教育]汇编语言程序设计
在学习了计算机和微处理器的组成以及指令系统后,就具备用汇编语言进行程序设计的能力了。汇编语言是一种面向机器的程序设计语言,其基本特征是用一组字母、数字和符号来代替二进制编码的机器指令和数据。 3.1 汇编语言的基本概念 程序设计语言是专门为计算机编程所配置的语言。它们按照形式与功能的不同可分为三种,即机器语言、汇编语言和高级语言。 1. 机器语言 机器语言(Machine Language)是由0和1二进制代码书写和存储的指令与数据。它的特点是能被机器直接识别与执行;程序所占内存空间较少。其缺点是难认、难记、难编、易错。 2. 汇编语言 汇编语言(Assembly Language)使用指令的助记符、符号地址、标号等书写程序的语言,简称符号语言。它的特点是易读、易写、易记。其缺点是不能为机器所直接识别。 3. 高级语言 高级语言(High Level Language)是脱离具体机器(即独立于机器)的通用语言,不依赖于特定计算机的结构与指令系统。 为什么要用汇编语言编写程序 ⑴汇编语言是机器语言的符号表示语言,因此,程序设计人员可以充分利用机器硬件的全部功能,发挥机器的长处。 ⑵现在的微机系统中,底层的一些功能仍然靠汇编语言程序来实现。例如机器的自检、系统初始化、实际的输入输出操作,至今仍然是用汇编语言编制的程序来完成。 ⑶汇编语言程序的效率通常高于高级语言程序。所以在节省内存空间和提高程序运行速度的重要场合,如实时控制,常常使用汇编语言来编制的。 鉴于以上理由,现在许多高级语言都设置有与汇编语言程序接口的功能,以便于提高高级语言程序的效率。 命名规则 字母A~Z,a~z 数字0~9 专用字符?、.、@、-,$ 除数字外,所有字符都可以放在源语句的第一个位置。如果用到.,则必须是第一个字符。可以用很多字符来说明名字,但只有前31个字符能被汇编程序识别。 标号有三种属性:段、偏移量和类型。 ① 标号的段属性是定义标号在程序段的段地址,当程序中引用一个标号时,该标号的段值应在CS寄存器中。 ② 标号的偏移量属性表示标号所在段的起始地址到定义该标号的地址之间的字节数。偏移量是一个16位无符号数。 ③ 标号的类型属性有两种:NEAR和FAR。前一种标号可以在段内被引用;后一种标号可以在其它段被引用。如果定义一个标号时后跟冒号,则汇编程序确认其类型为NEAR。 常数示例 二进制数: 八进制数: 174Q或174O 十进制数 99D或99 十六进制 64H,0F800H ASCII字符 ‘A’、’8’、’HELLO’ 十进制科学表示法:8.75E-4 十六进制实数:10A4FE87R 表达式是由操作数和运算符组成。即用一个运算符可以对一个或几个操作数进行运算,构成一个表达式。 表达式中常用的运算符有以下几种: ⑴ 算术运算符:+、-、*、/和MOD。 ⑵ 逻辑运算符:AND、OR、NOT和XOR。 ⑶ 关系运算符:EQ、NE、LT、GT、LE、GE。结果只有两个全1或全0。 ⑷ 分析运算符:利用分析运算符可以把一个存储单元地址分解为段地址和偏移地址等。分析运算符有SEG 、OFFSET 、TYPE、SIZE和LENGTH等。 分析运算符表达式 注意:SIZE=LENGTH*TYPE ⑸ 合成运算符:可以用来建立或临时改变变量或标号的类型或存储器操作数的存储单元类型。合成运算符有PTR、THIS等。 AREAW EQU THIS WORD AREAB DB 100 DUP(?) ③HIGH和LOW运算符 分别用来取得一个数值或地址表达式的高位和地位字节。 STUFF EQU 0ABCDH MOV AH,HIGH STUFF MOV AL,LOW STUFF 结果:AH=0ABH AL=0CDH 表达式示例 AND AL MOV AL AND MOV AX,4 EQ 3 MOV AX,4 NE 3 MOV SI,OFFSET DATA1 MOV AX,SEG ARRAY INC BYTE PTR[BX][SI] MOV WORD PTR STUFF 3.3 伪指令语句 处理器方式伪操作 数据定义伪操作 符号定义伪操作 段定义伪操作 过程定义伪操作 模块定义与连接伪操作 宏处理伪操作 条件伪操作 列表伪操作 其他伪操作 ⒈ 处理器方式伪指令 ⑴ .8086。汇编程序将在8086方式下操作。 ⑵ .386。汇编程序将在80386方式下操作。⑶.386P支持保护方式指令。 ⑷.387可以接受8087,80287,8
您可能关注的文档
- [高二理化生]1-1基因工程概述.ppt
- [高二数学]高中数学选修2-3第一章计数原理教案.doc
- [高二数学]高中数学 第四章《定积分》教案 北师大版选修2-2.doc
- [高二数学]常用逻辑用语专题讲座2012-02.ppt
- [高二数学]高中数学新人教A版选修2-1 第三章 导数导学案.doc
- [高二理化生]12-02-20高二生物《33胚胎工程及应用前景》课件.ppt
- [高二理化生]11生命的基础能源——糖类.ppt
- [高二理化生]2-2 通过激素的调节.ppt
- [高二理化生]2013年物理选修3-4册课件:第3章32.ppt
- [高二理化生]2-2电动势.ppt
- 新高考生物二轮复习讲练测第6讲 遗传的分子基础(检测) (原卷版).docx
- 新高考生物二轮复习讲练测第12讲 生物与环境(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第3讲 酶和ATP(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第9讲 神经调节与体液调节(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第11讲 植物生命活动的调节(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第8讲 生物的变异、育种与进化(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第5讲 细胞的分裂、分化、衰老和死亡(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第5讲 细胞的分裂、分化、衰老和死亡(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第12讲 生物与环境(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第11讲 植物生命活动的调节(检测)(原卷版).docx
文档评论(0)