- 1、本文档共91页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章--汇编-语言程序设计PPT
第4章 AT89S51汇编语 言程序设计;*;4.3 AT89S51汇编语言程序设计举例
4.3.1 子程序的设计
4.3.2 查表程序设计
4.3.3 关键字查找程序设计
4.3.4 数据极值查找程序设计
4.3.5 数据排序程序设计
4.3.6 分支转移程序设计
4.3.7 循环程序设计;内容概要
汇编语言能直接控制单片机硬件的编程语言。
因此,要求程序设计者要 “软、硬结合” 。
本章介绍汇编语言程序设计的基本知识,以及一些基本的程序设计。
4.1 汇编语言程序设计概述
程序是指令的有序集合。
单片机运行就是执行指令序列的过程。
编写这一指令序列的过程称为程序设计。;4.1.1 单片机编程语言
常用的编程语言是汇编语言和高级语言。
1.汇编语言
用英文字符来代替机器语言,这些英文字符被称为助记符汇编语言:用助记符表示的指令。
汇编语言源程序:用汇编语言编写的程序。
“汇编”:汇编语言源程序需转换(翻译)成为二进制代码表示的机器语言程序,才能识别和执行。
完成“翻译”的程序称为汇编程序。经汇编程序“汇编”得到的以“0”、“1”代码形式表示的机器语言程序称为目标程序。
;(1)指令语句
已在第3章介绍。每一指令语句在汇编时都产生一个指令代码(机器代码),执行该指令代码对应着机器的一种操作。
(2)伪指令语句
是控制汇编(翻译)过程的一些控制命令。在汇编时没有机器代码与之对应。
下面介绍指令语句格式。伪指令语句将在4.1.3节介绍。
;汇编语言语句是符合典型的汇编语言的四分段格式:
标号字段和操作码字段之间要有冒号“:”分隔;
操作码字段和操作数字段间的分界符是空格;
双操作数之间用逗号相隔;
操作数字段和注释字段之间的分界符用分号“;”。
任何语句都必须有操作码字段,其余各段为任选项。
;【例4-1】下面是一段程序的四分段书写格式。
标号字段 操作码字段 操作数字段 注释字段
START:MOV A,#00H ;0→A
????? MOV R1,#10 ;10→R1
MOV R2, ;03H→R2
LOOP: ADD A,R2 ;(A)+(R2)→A
DJNZ R1,LOOP ;R1减1不为零,则跳LOOP处
NOP
HERE:SJMP HERE
上述4个字段应该遵守的基本语法规则如下。;1.标号字段
语句所在地址的标志符号,才能被访问。如标号“START”和“LOOP”等。有关标号规定如下:
(1)标号后必须跟冒号“:”。
(2)标号由1~8个ASCII码字符组成,第一个字符必须是字母。
(3)同一标号在一个程序中只能定义一次,不能重复定义。
(4)不能使用汇编语言已经定义的符号作为标号,如指令助记符、伪指令以及寄存器的符号名称等。
(5)标号的有无,取决于本程序中的其他语句是否访
;问该条语句。如无其他语句访问,则该语句前不需标号。
2.操作码字段
操作码字段规定了语句执行的操作,操作码是汇编语言指令中唯一不能空缺的部分。
3.操作数字段
指令的操作数或操作数地址。
在本字段中,操作数的个数因指令的不同而不同。通常有单操作数、双操作数和无操作数三种情况。
如果是多操作数,则操作数之间要以逗号隔开。;操作数表示时,几种情况需注意:
(1)十六进制、二进制和十进制形式的操作数表示
多数情况,操作数或操作数地址是采用十六进制形式来表示的。则需加后缀“H”。
在某些特殊场合用二进制表示,需加后缀“B”
若操作数采用十进制形式,则需加后缀“D”,也可省略。
若十六进制操作数以字符A~F开头,需在它前面加一个 “0”,以便汇编时把它和字符A~F区别开。
;(2)工作寄存器和特殊功能寄存器的表示
当操作数为工作寄存器或特殊功能寄存器时,允许用工作寄存器和特殊功能寄存器的代号表示。
例如,工作寄存器用R7~R0,累加器用A(或Acc)表示。另外,工作寄存器和特殊功能寄存器也可用其地址来表示,如累加器A可用其地址E0H来表示。
4.注释字段
用于解释指令或程序的含义,对可读性非常有用。
使用时须以分号开头,长度不限,一行写不下可换行书写,但注意也要以分号开头。; 汇编时,遇到“;” 就停止“翻译”。因此,注释字段不会产生机器代码。
4.1.3 伪指令
在汇编语言源程序中应有向汇编程序发出的指示信息,告诉它如何完成汇编工作,这是通过伪指令来实现。
伪指令不属于指令系统中的汇编语言指令,它是程序员发给汇编程序的命令,也称为汇编程序控制命令。
只有在汇编前的源程序中才有伪指
您可能关注的文档
- 第17章-申诉控告PPT.ppt
- 第17讲--免疫调节PPT.ppt
- 第17讲玉米类型识别PPT.ppt
- 第17讲鼠标消息响应和界面设计PPT.ppt
- 第18-19章-职位聘任法律责任PPT.ppt
- 第17章 矿物质饲料24PPT.ppt
- 第17章--灌浆法PPT.ppt
- 第18章--特殊土地基处理PPT.ppt
- 第18章 饲料添加剂34PPT.ppt
- 第18章-抗精神失常药PPT.ppt
- 小学三年级数学下册教学课件《口算除法(2)》.pptx
- 2025届高考模拟考作文写作指导及范文.doc
- 四年级英语下册教学课件《Unit 5 My clothes Part A》 第2课时.pptx
- 四年级英语下册教学课件《Unit 5 My clothes Part B》 第2课时.pptx
- 三年级英语下册教学课件《Unit 4 Where is my car Part A》 第3课时.pptx
- 小学二年级数学下册教学课件《克和千克》.pptx
- 四年级英语下册教学课件《Unit 5 My clothes Part B》 第1课时.pptx
- 小学三年级数学下册教学课件《长方形、正方形面积的计算》.pptx
- 三年级英语下册教学课件《Unit 5 Do you like pears Part A》 第3课时.pptx
- 三年级英语下册教学课件《Unit 4 Where is my car Part B》 第2课时.pptx
文档评论(0)