- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
4.1.2 伪指令 在汇编时起控制作用,自身并不产生机器码,不属于指令系统,而仅是为汇编服务的一些指令,称为伪指令。 常用的伪指令有以下几种: ⒈ 起始伪指令 ORG(Origin) 功能:规定ORG下面目标程序的起始地址。 格式:ORG (16位地址) 功能:将一个数据或特定的汇编符号赋予规定 的字符名称。 ⒉ 结束伪指令 END 功能:是汇编语言源程序的结束标志。在END 以后所写的指令,汇编程序不再处理。 格式:END ⒊ 等值伪指令 EQU(Equate) 格式:(字符名称) EQU (数据或汇编符号) ⒋ 数据地址赋值伪指令 DATA 格式:(字符名称) DATA (表达式) 功能:将数据地址或代码地址赋予规定的 字符名称。 ⒌ 定义字节伪指令DB(Define Byte) 格式:DB (8位二进制数表) 功能:从指定的地址单元开始,定义若干 个8位内存单元的数据。 数据与数据之间用“,”分割。 格式:(字符名称) BIT (位地址) ⒍ 定义字伪指令DW(Define Word) 格式:DW (16位二进制数据表) 功能:从指定的地址单元开始,定义 若干个16位数据。 ⒎ 定义位地址伪指令BIT 功能:将位地址赋予所规定的字符名称。 ⑷ 汇编和调试 4.1.3 程序设计的基本步骤 编写程序要求: 不仅要完成规定的功能任务,而且还应该执行速度快、占用内存少、条理清晰、阅读方便、便于移植、巧妙而实用。 一般应按以下几个步骤进行: ⑴ 分析问题,确定算法或解题思路 ⑵ 画流程图 ⑶ 编写源程序 顺序程序是指按顺序依次执行的程序,也称为简单程序或直线程序。 顺序程序结构虽然比较简单,但也能完成一定的功能任务,是构成复杂程序的基础。 4.2 汇编语言程序设计举例 4.2.1 顺序程序 CONT: MOV A,R0 ;读低8位 CPL A ;取反 ADD A,#1 ;加1 MOV R2,A ;存低8位 MOV A,R1 ;读高8位 CPL A ;取反 ADDC A,#80H ;加进位及符号位 MOV R3,A ;存高8位 RET ; 【例】 已知16位二进制负数存放在R1R0中, 试求其补码,并将结果存在R3R2中。 解:二进制负数的求补方法可归结为“求反加1”,符号位不变。利用CPL指令实现求反;加1时,则应低8位先加1,高8位再加上低位的进位。注意这里不能用INC指令,因为INC指令不影响标志位。 程序如下: 在许多情况下,需要根据不同的条件转向不同的处理程序,这种结构的程序称为分支程序。 80C51指令系统中设置了条件转移指令、比较转移指令和位转移指令,可以实现分支程序。 4.2.2 分支程序 ① S0单独按下, 红灯亮,其余灯灭; ② S1单独按下, 绿灯亮,其余灯灭; ③ S0、S1均按下, 红绿黄灯全亮; ④ S0、S1均未按下, 黄灯亮,其余灯灭。 【例4-6】已知电路如图4-4所示,要求实现: Keil C51软件调试(见例9-1 ) ⑴ 程序编译链接及纠错。直至显示:0 Error(s),0 Warning(s) ⑵ 进入调试状态 ,全速运行。 ⑶ 打开P1口对话框,设置 P1.7 P1.6(s0、s1)状态 。 ⑷ 观测 P1.2~P1.0状态 (0亮1灭 ),是否符合题目要求。 画出Proteus 虚拟仿真电路图装入在Keil 调试时生成的 Hex文件全速运行 后,即时操作带锁按钮S0、S1信号灯会按题目要求随之变化 图9-59 Proteus ISIS虚拟仿真信号灯电路 课堂练习题: 电路及灯亮灭要求同上例,其中第2、3两条指令 JB P1.7和JB P1.6按下列要求修改,试重新编程,并进行Keil 软件调试、Proteus 虚拟仿真,看能否达到题目要求。 ⑴ JB P1.7,… JNB P1.6,… ⑵ JNB P1.7,… JB P1.6,… ⑶ JNB P1.7,… JNB P1.6,… 循环程序一般包括以下几个部分: ⑴ 循环初值; ⑵ 循环体; ⑶ 循环修改; ⑷ 循环控制; 其结构可以有两种组织形式, 如图4-6所示。 4.2.3 循环程序 【例4-7】设Xi均为单字节
您可能关注的文档
最近下载
- 物业安全生产培训PPT课件.pptx VIP
- 1.2掌握广西壮族服饰元素及特点(课件)《广西壮族服饰文化与创意设计》.pptx VIP
- 交流电气装置的接地规范.pdf VIP
- 创伤(救治)理论知识考核试题及答案.pdf VIP
- 47_DLT 584-2017《3kV~110kV电网继电保护装置运行整定规程》.pdf VIP
- 基于FAP启动子的表达载体及心肌纤维化药物筛选方法.pdf VIP
- 建设工程项目管理规范材料.doc VIP
- 中国设施农业的减碳增汇效应分析——基于1828个县域面板数据的实证研究.pdf VIP
- 小学体育与健康沪教版(五四学制)(2024)二年级全一册《第四课 运动场上我最棒》教学设计 .pdf
- GB50270-2010 输送设备安装工程施工及验收规范.docx VIP
文档评论(0)