第3章 指令系统LAST.ppt

  1. 1、本文档共191页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MOV 20H,#55H MOV A,#88H MOV SP,#30H PUSH 20H PUSH ACC MOV 20H,#22H MOV A,#08H POP ACC POP 20H PINNUM EQU 0FFH ORG 0000H START: MOV A, #PINNUM MOV R0,#10H ACALL BINBCD SJMP $ BINBCD:MOV B,#100 DIV AB 3 判断题 (1)用户构建单片机应用系统,只能使用芯片提供的信号引脚 (2)程序计数器PC不能为用户使用,因此它没有地址 (3)内部RAM的位寻址区,只能供位寻址使用而不能供字节寻址使用 (4)在程序执行过程中,由PC提供数据存储器的读写地址 (5)80C51共有21个专用寄存器,它们的位都是可以软件设置的,因此是可以位寻址的 答案 错 错 答案 错 错 答案 错 书23页特殊功能寄存器 (6)对单片机的复位操作就是初始化操作 答案 对 3. 汇编语言程序的基本格式 ; 求片内RAM连续三个单元存放的无符号数中的最大值(P59) ADR1 DATA 50H ;存放第一个数地址 ADR2 DATA 51H ;存放第二个数地址 ADR3 DATA 52H ;存放第三个数地址 X EQU 20H ;第一个数的值 Y EQU 30H ;第二个数的值 Z EQU 0FFH ; 第三个数的值 ORG 0000H ; 规定程序起始地址 LJMP START ORG 0030H START: MOV ADR1 , #X ; 第一个数据送入ADR1单元 MOV ADR2 , #Y ; 第二个数据送入ADR2单元 MOV ADR3 , #Z ; 第三个数据送入ADR3单元 MOV R0 , #ADR1 ; 将首地址送入R0 ACALL MAX ; 调用求最大值子程序 SJMP $ ; 等待查看结果 ; 子程序见下一页 求最大值 求最大值2 ; 入口参数:连续三个单元的最低字节地址放在R0 ; 出口参数:最大值送入A寄存器 MAX: MOV A , @R0 ; ((R0))→A MOV B , A ; B暂存第1个数 CLR C ; 清进位标志 INC R0 ; 地址加1 SUBB A , @R0 ; 第1个数和第2个数相比 JNC MAX1 ; 没有进位表示第1个数大于第2个数 MOV A , @R0 ; 将两个数中最大值送A JMP MAX2 MAX1: MOV A , B MAX2: MOV B , A ; B暂存两个数中较大的数 INC R0 SUBB A , @R0 ; 与第3个数进行比较 JNC MAX3 MOV A , @R0 ; 最大值送入A RET MAX3: MOV A , B RET END 3.5.2 基本程序结构 任何大型的、复杂的程序都是由基本结构构成的,常用的程序结构包括: 顺序结构 分支结构 循环结构 子程序 顺序程序是指无分支、无循环结构的程序。其执行流程是依指令在存储器中的存放顺序进行的。 1. 顺序程序 例 有一变量存放在片内RAM的20H单元,其取值范围为:00H~05H。要求编制一段程序,根据变量值求其平方值,并存入片内RAM的21H单元。 ORG 1000H START: MOV DPTR,#2000H MOV A,20H MOVC A,@A+DPTR MOV 21H,A SJMP $ ORG 2000H TABLE: DB 00,01,04,09,16,25 END @A+DPTR 2. 分支程序 分支结构可以分成单分支、双分支和多分支几种情况 :

文档评论(0)

70后老哥 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档