- 1、本文档共58页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
;第4章汇编语言程序设计;4.1.1程序设计语言简介
1.机器语言
机器语言就是用二进制〔可缩写为十六进制〕代码来表示指令和数据。
2.汇编语言
用助记符表示的指令就是计算机的汇编语言.
3.高级语言
高级语言是一种面向算法、过程和对象的程序设计语言;4.1.2汇编语言程序设计步骤
〔1〕分析题意,明确要求。解决问题之前,首先要明确所要解决的问题和要到达的目的、技术指标等;
〔2〕确定算法。根据实际问题的要求、给出的条件及特点,找出规律性,最后确定所采用的计算公式和计算方法,这就是一般所说的算法。
〔3〕画程序流程图,用图解来描述和说明解题步骤。标准的流程图符号如图4-1所示。;〔4〕分配内存工作单元,确定程序与数据的存放地址。
〔5〕编写源程序。流程图设计后,接下来的任务就是选用适宜的汇编语言指令来实现流程图中每一框内的要求,编制出一个有序的指令流,这就是源程序设计。
〔6〕程序优化。程序优化的目的在于缩短程序的长度,如恰当的使用循环程序和子程序结构,通过改进算法和正确使用指令来优化程序。
〔7〕上机调试、修改、最后确定源程序。只有通过上机调试并得出正确结果的程序,才能认为是正确的程序。;4.2.1伪指令
指令能使CPU执行某种操作,能生成对应的机器代码。
伪指令不能命令CPU执行某种操作,也没有对应的
机器代码。它的作用仅用来给汇编程序提供某种息。
常用的伪指令如下:
1.汇编起始伪指令ORG
格式:[标号:]ORG16位地址
功能:规定程序块或数据块存放的起始地址。如:
ORG8000H
START:MOVA,#30H
……
该伪指令规定第一条指令从地址8000H单元开始存放,即标号START的值为8000H。;2.汇编结束伪指令END
格式:[标号:]END[表达式]
功能:结束汇编。
遇到END伪指令后即结束汇编,END后即使有指令也不被执行。
3.定义字节数据伪指令DB
格式:[标号:]DB8位字节数据表
功能:从标号指定的地址单元开始,将数据表中的字节数据按顺序依次存入。
数据表可以是一个或多个字节数据、字符串或表达式,各项数据用“,”分隔,一???数据项占一个字节单元。
例如
ORG1000H
TAB:DB-2,-4,100,30H,‘A’,‘C’
……
;汇编后:(1000H)=FEH,(1001H)=FCH,(1002H)=64H,〔1003H〕=30H,〔1004H〕=41H,〔1005H〕=43H
用单引号括起来的字符存其ASCⅡ码,负数存其补码。
4.定义字数据伪指令DW
格式:[标号:]DW16位字数据表
功能:从标号指定的地址单元开始,将数据表中的字数据按从左到右的顺序依次存入。
应注意:16位数据存入时,先存高8位,后存低8位。
ORG1400H
DATA:DW324AH,3CH
……
汇编后:(1400H)=32H,(1401H)=4AH,(1402H)=00H,(1403H)=3CH;5.定义空间伪指令DS
格式:[标号:]DS表达式
功能:从标号指定的地址单元开始,保存假设干个存储单元作为备用。保存的数量由表达式指定。
例如
ORG3000H
BUF:DS05H
……
汇编后,从地址3000H开始保存5个存储单元作
为备用。;应注意:DB、DW、DS伪指令只能对程序存储
器进行定义,不能对数据存储器进行定义。
DB伪指令常用来定义数据。
DW伪指令常用来定义地址。
6.赋值伪指令EQU〔或=〕
格式:符号名EQU表达式或符号名=表达式
功能:将表达式的值定义为一个指定的符号名。
应注意:用EQU定义的符号不允许重复定义,用“=”定义的符号允许重复定义。;4.3汇编语言程序设计;4.3.1顺序程序设计
顺序结构程序是一种最简单、最根本的程序,按照程序编写的顺序依次执行。
例4-1编写16位二进制数求补程序。设16位二进制数存放在R1R0中,求补以后的结果那么存放于R3R2中。
解:二进制数的求补可归结为“求反加1”的过程。求反可用CPL指令实现;加1时应注意,加1只能加在低8位的最低位上。因为现在是16位数,有两个字节,因此要考虑进位问题,即低8位取反加1,高8位取反后应加上低8位加1时可能产生的进位。;ORG0200H
MOVA,R0;低8位送A
您可能关注的文档
- 四电接口管理培训讲稿20070524.ppt
- 前台礼仪培训.ppt
- 劳动最光荣主题班会PPT课件.ppt
- 北师大版数学一年级下册《整理与复习》.pptx
- 含氮化合物复习.ppt
- 苏教版五年级语文上第一次月考试卷.doc
- 苏州工业园区一年级上册期末试卷(东沙湖).doc
- 医院传染病报告管理系统的开发与应用体会.ppt
- 可贵的沉默课件.ppt
- 南昌楼盘比较.ppt
- 北师大版小学数学三年级上册《寄书》教学设计.docx
- 统编版(部编版)语文二年级上册《雪孩子》教学设计.docx
- 统编版(部编版)语文二年级上册《八角楼上》教学设计.docx
- 北师大版小学数学三年级上册《长方形周长》教学设计.docx
- 北师大版小学数学三年级上册《丰收了》教学设计.docx
- 统编版(部编版)语文二年级上册《夜宿山寺》教学设计.docx
- 统编版(部编版)语文二年级上册《风娃娃》教学设计.docx
- 统编版(部编版)语文二年级上册《朱德的扁担》教学设计.docx
- 统编版(部编版)语文二年级上册《难忘的泼水节》教学设计.docx
- 统编版(部编版)语文二年级上册《纸船和风筝》教学设计.docx
文档评论(0)