- 1、本文档共36页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汇编语言以与汇编语句
3.6 汇编语言以及汇编语句 1 本单元目标 2 机器语言 汇编语言 机器语言:芯片的存储单元只有0和1两种状态,而芯片也只会判断0和1这两种状态,因此一串代码要让芯片“读懂” ,这串代码只能由数字0和1组成。像这种由数字0和1按照一定的规律组成的代码就叫机器码,也叫二进制编码。一定长度的机器码组成了机器指令,用这些机器指令所编写的程序就称为机器语言。 1010011000000001 表示1?A 011011100000000100000000 表示1?$00 2 机器语言 汇编语言 1001010100000001011011100000000100000000这串机器码表示:1?A,1?$00 机器语言的缺陷: 代码长,不好记忆,不易看懂,容易写错。 汇编语言:为了解决机器语言的缺陷,人们发明了另外一种语言——汇编语言。这种语言用符号(助记符,标号,数值)来代替冗长的、难以记忆的0、1代码串。 LDA #1T 表示1?A MOV #1T,$00 表示1?$00 2 机器语言 汇编语言 汇编:汇编语言写成的源程序,我们人类看得懂,但是芯片看不懂,它只认得机器语言,汇编源程序必须翻译成机器语言,才能在芯片上运行。利用专用的汇编工具(例如ICS08、CodeWarrior、Keil)把汇编语言写成的源程序翻译成机器语言的过程就叫汇编。 现今,人们普遍采用汇编语言和C语言来编写单片机源程序。 3 汇编语言源程序的格式 用户的汇编源程序由一条条汇编语句组成,每条最完整的语句可包括以下4个部分:标号、操作码、操作数和注释。汇编语句不区分大小写。 例如:Again: MOV #$01,RamData ;主循环的开始 3.1 汇编语言源程序的格式:标号 标号:实际上是代表了某行语句存放的起始地址。 标号不是必须的,绝大多数语句都没有标号,它通常只用在子函数或转移目的语句处。 一般来说,标号的前面不能有空格,在CodeWarrior中允许标号前面有空格,但是这时必须在标号的后面跟上帽号“:”;当标号的前面没有空格时,标号后面的冒号“:”可有可无。 标号只能以字母或下划线开头,后面可以跟字母、数字和下划线。 标号在标号部分只能出现一次,不能重复。 判断这些标号,找出不合法的:Init_Pro, _Init_Pro, 3Init_Pro, Again1。 (不合法:3Init_Pro) 3.2 汇编语言源程序的格式:操作码 操作码:表示某种计算或者控制,例如表示加法、跳转等等。它可以是伪指令,也可以是助记符。 操作码位于标号之后,两者用至少一个空格或Tab符隔开。对于没有标号的语句,操作符不能从一行的第一列开始写,前面应该至少有一个空格或Tab符。 操作码是必须的,在一条语句中一定存在操作码。 例ORG,EQU,ADD,MOV,INC,LDA,STA,CLR等等。 3.3 汇编语言源程序的格式:操作数 操作数:是操作码操作的对象,可以是地址、标号、数值或表达式。 操作数位于操作码之后,两者用至少一个空格或Tab符隔开。 多个操作数之间用逗号“,”隔开。 大多数指令需要操作数,但是有些隐含寻址的指令(针对CPU寄存器的操作)没有操作数,如CLRA, STX,RSP等等。 3.4 汇编语言源程序的格式:注释 注释:在一行语句中,分号“;”后面的内容为注释部分;另外,如果“*”在一行语句的第一列,也表示该行是注释。 它应由一个以上的空格或制表符与操作数或操作码(无操作数时)分开。 它可包含任何可打印的ASCII字符。 注释不是必须的,但是对于初学者,建议给每条语句写注释。 3.5 汇编语言源程序的格式:其他说明 语句中出现的标点符号“:”、“;”、“,”、“_”都必须是在“英文标点模式”下输入,而不能在“中文标点模式”下输入为“:”、“;”、“,”、“——”。 注释中出现的标点符号则不受上面的限制。 不要把数字0和字母o混淆。 不要把数字1和字母l混淆。 不同语句的标号、操作码、操作数、注释最好对齐,这样的程序美观且容易阅读。 3.6 汇编语言源程序的格式:仿真体验 运行”学生练习(找错)_汇编语言程序设计1.mcp “,对照汇编语言源程序的格式中的各个要点,找出问题并改正它们。 4 常量 常量是指那些在汇编时已经有确定数值的量。分为数值常量(也叫常数)和符号常量。 常数:以数值的形式出现在符号指令中。常数可以是二进制、十进制、十六进制和ASCII码,其中二进制、十进制、十六进制分别加前缀%、!、$或者后缀Q、T、H,ASCII码用单引号‘’表示。 =97H=$97=151T ‘A’ ;等同于41H 符号常量:经常使用的地址或者数值预先用伪指令EQU定义为一个名字,然后用该名字来表示该
文档评论(0)