- 1、本文档共80页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
单片机汇编语言
汇编语言计算机程序设计语言是计算机能够理解和执行的语言。它随着计算机的诞生而诞生,它随着计算机的开展而开展。迄今为止,计算机的程序设计语言很多,但通常分为机器语言、汇编语言、高级语言三种。1、机器语言是一种直接为计算机识别和执行的机器级语言。有两种表现形式:一种是二进制形式,一种是十六进制形式。机器语言的二进制形式由二进制代码“0”和“1构成,可以直接存放在计算机存储器内。机器语言的十六进制形式,由十六个数字符0-F组成。机器语言难读、难写、难记、难改,一般不用来编写程序。2、汇编语言是人们用来替代机器语言进行程序设计的语言。由助记符、保存字和伪指令组成。3、高级语言是面向过程和问题并能独立于机器的通用程序设计语言。
汇编语言用助记符编写的程序设计语言称为汇编语言。汇编语言是面向机器的语言,和CPU有关,不同的CPU的机器有不同的汇编语言;汇编语言属于低级语言;特点:用汇编程序设计单片机程序时,对数据的存放、存放器和工作单元的使用等具体工作要由设计者来安排。而设计高级语言时,这些工作都由计算机自动安排,程序设地者不必过问。
汇编语言指令的寻址方式1常用指令2伪指令3指令的时序4
第二章汇编语言和汇编程序常用符号Rn: 工作存放器中的存放器R0、R1…R7之一;Ri: 工作存放器中的存放器R0或R1;#data: 8位立即数;#data16: 16位立即数;direct: 片内RAM或SFR的地址(8位);@: 存放器间接寻址;Bit: 片内RAM或SFR的位地址;addr11: 11位目的地址;addr16: 16位目的地址;rel: 8位地址偏移量,偏移范围为-128~127;/: 该位求反后参与操作,不影响该位;(X): 地址单元中的内容→: 箭头左边的内容送入箭头右边的单元内
第二章汇编语言和汇编程序符号指令的构成操作助记符[目的操作数][源操作数]操作助记符,也称指令助记符。它以符合形式给出该指令进行什么操作。如:数据传送MOV,加ADD,逻辑与ANL。操作数可以是操作数本身,可以是存放器,也可以是操作数的地址。有0,1,2个操作数多种情况一条带操作数的指令要指明用什么方式寻找操作数,寻找操作数的方式称为寻址方式。
第二章汇编语言和汇编程序2.1指令的寻址方式立即寻址直接寻址寄存器寻址寄存器间接寻址变址寻址相对寻址位寻址
第二章汇编语言和汇编程序2.1.1立即寻址指令中直接给出操作数的寻址方式,在操作码之后,称为立即数,用#表示。如: MOVA,#80H MOVDPTR,#1245H
第二章汇编语言和汇编程序2.1.2直接寻址直接使用数所在单元的地址找到了操作数,所以称这种方法为直接寻址。操作数在SFR、内部RAM、位地址(即操作数据在内部数据存储器或特殊功能存放器中)空间。如:MOVA,00HMOVC,60HMOVA,0F0HMOVPSW,#08H
第二章汇编语言和汇编程序2.1.3存放器寻址对选定的工作存放器R0~R7、累加器A、通用存放器B、地址存放器DPTR中的数进行操作。例:MOVA,R0;将R0工作存放器中的数据送到累加器A中去。
第二章汇编语言和汇编程序2.1.3存放器寻址问题:我们知道,工作存放器就是内存单元的一局部,如果我们选择工作存放器组0,那么R0就是RAM的00H单元,那么这样一来,MOVA,00H和MOVA,R0不就没什么区别了吗?确实,这两条指令执行的结果是完全相同的,都是将00H单元中的内容送到A中去,但是执行的过程不同,执行第一条指令需要2个机器周期,而第二条那么只需要1个机器周期,第一条指令变成最终的目标码要两个字节(E5H00H),而第二条那么只要一个字节(E8H)就可以了。
第二章汇编语言和汇编程序2.1.4存放器间接寻址把地址放在另外一个存放器中,根据这个存放器中的数值决定该到哪个单元中取数据。R0,R18位地址,片内低128字节或片外DPTR16位,片外64KB如: MOVA,@R0 MOVXA,@R0 MOVXA,@DPTR操作数在片内RAM中操作数在片外RAM中操作数在片外RAM中
第二章汇编语言和汇编程序2.1.5变址寻址以DPTR或PC为基址存放器,累加器A为变址存放器。把两者内容相加,结果作为操作数的地址。常用于查表操作。MOVCA,@A+DPTR ;(A+DPTR)→AMOVCA,@A+PC ;PC+1→PC,(A+PC)→A
第二章汇编语言和汇编程序2.1.6相对寻址将PC中的当前内容与指令第二字节给出的数相加,结果作
文档评论(0)