- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第2章 指令系统汇
第二章 指令系统; 计算机通过执行程序完成人们指定的任务,程序由一条一条指令构成,能为CPU识别并执行的指令的集合就是该CPU的指令系统。
MCS-51单片机汇编语言指令格式:
操作符 目的操作数,源操作数; 指令中的常用符号
Rn: n=(0~7),表示当前工作寄存器R0~R7中的一个。
Ri: i=(0、1),代表R0和R1寄存器中的一个,用作间接寻址寄存器。
dir : 8 位直接字节地址(片内 RAM 和 SFR )
#data: 8位立即数,即8位常数。可以为2进制(B)、 10进制、 16进制(H)、 字符(‘ ’);# data16: 表示16位立即数,即16位常数,取值范围为#0000H~#0FFFFH
addr16 : 表示16位地址
addr11 : 表示11位地址
rel : 相对偏移量(为一字节补码)用于相对转移指令中
bit :位地址,在位地址空间中。
$: 表示当前指令的地址。;寻址方式
1、立即寻址
指令中直接给出操作数的寻址方式。在51系列单片机的指令系统中,立即数用一个前面加 “#“号的8位数(#data,如#30H)或16位数(#data16,如#2052H)表示。立即寻址中的数,称为立即数。
例如指令:MOV A,#30H (7430)
MOV DPTR,#3000H (903000);2、直接寻址
操作数的地址直接出现在指令中。
寻址对象:
①内部数据存贮器:使用它的地址。
②特殊功能寄存器:既可使用它的地址,也可以直接使用寄存器名。
;3、寄存器寻址
操作数存放在寄存器中。
寻址对象:A,B,DPTR,R0~R7 。
B仅在乘除法指令中为寄存器寻址,在其他指令中为直接寻址。
A可以寄存器寻址又可以直接寻址,直接寻址时写作ACC
例如:MOV A,R0 ;R0→A,A、R0均为寄存器寻
址,机器码E8
MUL AB ;A*B→BA,A、B为寄存器寻
址,机器码A4;MOV B,R0 ;R0→B,R0为寄存器寻址,B为
直接寻址 机器码 88F0,其中 F0
为B的字节地址(见表1-2)
PUSH ACC ;A的内容压入堆栈,直接寻址
机器码C0E0 ;4.寄存器间接寻址(二次寻址,与RAM有关)
以寄存器中的内容为地址,该地址中的内容为操作数的寻址方式
1、使用R0、R1及DPTR
2、符号为“@”。
3、存储器空间包括内RAM(MOV指令)和外RAM (MOVX指令); 操作数存放在以寄存器内容为地址的单元中。例如:
MOV R0,#20H
MOV @R0,A ;A→(20H) 地址的内部RAM
MOVX A,@R1 ;外部RAM(地址为P2R1 )
的 内容→A
MOVX @DPTR,A ;A→以DPTR内容为地址
的外部RAM
; 对于外RAM最大寻址可达64KB
1), 由P2提供高8位地址,由R0或R1提供低8位地址(高8位,低8位)
2),由DPTR作寄存器间接寻址(16位)
区别:寄存器寻址:寄存器内容为操作数
寄存器间接寻址:寄存器内容为操作数所在存储单元地址
例 MOV @R0, A ;A→以R0内容为地址的内部RAM。; MOVX A, @R1 ; 外部RAM(地址为P2R1)的内容→A
MOVX @DPTR, A ; A→以DPTR内容为地址的外部RAM; 5 、变址寻址(与ROM有关,2条)
以DPTR或PC的内容加上A的内容之和作为操作数的地址,其中累加器A内容是可变的。
1)只有读操作,无写操作。
2)指令采用MOVC。
例 MOVC A, @A+DPTR ; A←(A+DPTR)
MOVC A, @A+PC ;(A+PC) →A;注意:目的操作数无变址寻址(无MOVC @A+DPTR,A )
该指令寻址及操作功能如图2―4所示;6、
文档评论(0)