单元2 AT89S52系列单片机寻址方式及指令系统.pptVIP

单元2 AT89S52系列单片机寻址方式及指令系统.ppt

  1. 1、本文档共53页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单元2 AT89S52系列单片机寻址方式及指令系统.ppt

二、AT89S52单片机指令寻址 存放指令代码的地址称指令地址。指令存放是在程序存储器ROM中,是按顺序存放的,执行时也是按指令地址顺序执行,除非是转移或跳转。 存放数据的地址称操作数地址。数据的存放是任意的,无规律。 操作数的来源为: A.操作数在指令中 B.操作数在存储器中 C.操作数在寄存器中 D.操作数在I/O端口中 1. 数据传送类指令(7种助记符,28条指令) MOV:对内部数据寄存器RAM和特殊功能寄存器SFR的数据进行传送。 MOVC:读程序存储器数据表格的数据传送。 MOVX:对外部RAM的数据传送。 XCH:字节交换。 XCHD:低半字节交换。 PUSH:入栈。 POP:出栈。 3. 逻辑运算及位移类指令(10种助记符,17条指令) ANL:逻辑与。 ORL:逻辑或。 XRL:逻辑异或。 CRL:清0。 CPL:取反。 RL:循环左移。 RLC:带进位循环左移。 RR:循环右移。 RRC:带进位循环右移。 SWAP:低4位与高4位交换。 DJNZ:减1后不为0则转移。 JZ:结果为0则转移。 JNZ:结果不为0(结果为1)则转移。 JC:有进位位则转移。 JNC:无进位位则转移。 JB:位为1则转移。 JNB:位为0则转移。 JBC:位为1则转移,并清除该位。 NOP:空操作。 【例7】 将内部RAM 80H单元的内容送入外部RAM 70H单元。程序如下: MOV R0,#80H MOV A,@R0 MOV R0,#70H MOVX @R0,A 此例中访问内部RAM和访问外部RAM均通过R0间接寻址,不同的是访问内部RAM用操作码MOV,访问外部RAM使用操作码MOVX,二者不能混淆。 PUSH direct ; sp ? (sp)+1, (sp) ?(direct) POP direct ; direct ? ((sp)) ,(sp) ? (sp)-1 堆栈操作指令 1、堆栈 一种数据结构,是 “先进后出”线性表。 2、堆栈操作: 压入 PUSH , 弹出 POP 3、堆栈区: 占片内RAM 中连续的存储单元复位后,系统自动将SP指针指向07H 用户可将堆栈区设在30H~7FH数据缓冲区内, MOV SP,#5FH 堆栈有两种类型:向上生长型和向下生长型,如图所示。 向上生长型堆栈,栈底在低地址单元。随着数据进栈,地址递增,SP 的内容越来越大,指针上移;反之,随着数据的出栈,地址递减,SP的内容越来越小,指针下移。如(b)图所示。 栈顶 栈顶 2.算术运算类指令 (8种助记符,24条指令) ADD:加法。 ADDC:带进位加法。 SUBB:带借位减法。 DA:十进制调整。 INC:加1。 DEC:减1。 MUL:乘法。 DIV:除法。 【例8】 设20H~21H单元存放一个16位二进制数X1(高8位存于21H单元),30H~31H单元存放另一个16位二进制数X2(高8位存于31H单元)。求X1+X2,和存于20H~21H,设两数之和不超过16位。 解:程序如下: ORG 2000H MOV R0,#20H MOV R1,#30H MOV A, @R0 ;取被加数低8位 ADD A, @R1 ;求和的低8位 MOV @R0,A ;存和的低8位 INC R0 ;指向被加数高8位 INC R1 ;指向加数高8位 MOV A, @R0 ;取被加数高8位 ADDC A, @R1 ;求和的高8位 MOV @R0,A ;存和的高8位 SJMP $

文档评论(0)

caijie1982 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档