- 1、本文档共33页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第 2 章 单片机指令系统及程序设计
计算机指令大多数是对数据进行操作,这些数据包括原始数据(即立即数) 、运算的中
间结果及最终结果等。其中:
(1) 程序存储器——存放程序(操作码)和立即数。
(2) 数据存储器——存放运算的中间结果和最终结果。
2.1 指令系统常用符号
在 MCS-51 单片机汇编指令系统中,约定了一些指令格式描述的常用符号,现将这些
符号的标记和含义说明如下:
(1) Rn——选定当前工作寄存器组(0~3 组中的一个) 的通用寄存器R0~R7 。
(2) @Ri——通用寄存器 R0~R1(i =0,1)间接寻址的片内 RAM 单元(Ri 只是 Rn 中的
R0 、R1) 。
(3) @——间接寻址前缀。
(4) direct——8 位直接地址(片内 RAM 或 SFR)。
(5) #data——立即数(除 MOV DPTR ,#data16 中的立即数为 16 位二进制数外,其余
均为 8 位二进制数) 。
(6) #——立即数前缀。
(7) addr16——16 位(二进制数) 目的地址,供LCALL 和 LJMP 指令使用。
(8) addr11——11 位(二进制数) 目的地址,供ACALL 和 AJMP 指令使用。
(9) rel——8 位符号偏移量( 以二进制补码表示) ,常用于相对转移指令。
(10) bit——位地址(用 8 位二进制数表示,使用时只有根据另一操作数情况来区别是位
地址还是字节地址,如 MOV C ,20H 和 MOV A ,20H ,由于 C 是位标志,而 A 是累
加器,故前者的 20H 为位地址,后者的 20H 为字节地址) 。
(11) /——位取反前缀。/bit 表示位地址 bit 的内容取反后再参与运算。
注意:位地址 bit 的原内容不变。
(12) ( ×)——表示×地址单元中的内容(该地址可以是 8 位的,也可以是 16 位的) 。
(13) (( ×))——表示以×地址单元中的内容作为新地址的其单元中的内容。
(14) $——当前指令存放的地址。
(15) ←——数据传输方向(即由右边的源操作数指向左边的目的操作数) 。
·32 · 单片机原理及应用
2.2 数据传送类指令
数据传送包括单片机内部 RAM 与 SFR 之间的数据传送,与外部数据存储器之间的数
据传送,以及与程序存储器之间的数据传送。数据传送类指令见表 2-1。
表 2- 1 数据传送类指令
序号 指令助记符 字节数 周期数 说 明
1 MOV A ,Rn 1 1 将寄存器的内容存入累加器中
2 MOV A ,direct 2 1 将直接地址的内容存入累加器中
3 MOV A ,@Ri 1 1 将间接地址的内容存入累加器中
4 MOV A ,#data 2 1 将立即数存入累加器中
5 MOV Rn ,A 1 1 将累加器的内容存入寄存器中
6 MOV Rn ,direct 2 2 将直接地址的内容存入寄存器中
7 MOV Rn ,#data 2 1 将立即数存入寄存器中
8 MOV direct ,A 2 1 将累加器的内容存入直接地址中
9 MOV direct ,Rn 2 2 将寄存器的内容存入直接地址中
10 MOV direct1 ,direct2 3 2 将直接地 2 的内容存入直接地 1 中
11 MOV direct ,@Ri 2
文档评论(0)