(XL)第4章-汇编程序设计.ppt

  1. 1、本文档共51页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
(XL)第4章-汇编程序设计

第4章:汇编语言程序设计 本章基本要求: ⑴ 汇编语言的构成 ⑵ 源程序的设计与汇编* ⑶ 应用程序设计* 4.1 汇编语言的构成 4.1.1 程序设计语言 用户要使计算机能完成各式各样的任务,就要设计各种相应的应用程序, 而设计程序就要用到程序设计语言。程序设计语言有3种: ● 机器语言 ● 汇编语言 ● 高级语言。 4.1 汇编语言的构成 4.1.3 汇编语言构成 汇编语言语句分为:指令性语句、指示性语句两类。 1、 (概念4-1)指令性语句 指采用指令助记符构成的汇编语言语句,必须符合汇编语言的语法规则,包括指令系统中的全部指令,每条指令有对应的机器代码,并可由CPU执行。 2、 (概念4-2)指示性语句 在汇编源程序的过程中,还有一些指令不要求CPU进行任何操作,也没有对应的机器码,不影响程序的执行,仅仅是能够指导汇编进行处理的一些指令,称之为伪指令。 4.1 汇编语言的构成 伪指令的主要功能是: 1)用来指定程序或数据的起始位置 2)给出一些连续存放数据的确定地址 3)为中间运算结果保留一部分存储空间 4)为源程序中的符号和标号赋值; 5)以及表示源程序结束等等。 不同版本的汇编语言,伪指令的符号和含义可能有所不同, 但是基本用法是相似的。 下面介绍几种常用的基本伪指令。 4.2 汇编源程序的设计与汇编 4.2.1 汇编程序设计步骤 1、确定方案和计算方法 2、了解应用系统的硬件配置、性能指标。 3、建立系统数学模型,确定控制算法和操作步骤。 4、画程序流程图,表示程序结构和程序功能。 5、编制源程序 ①合理分配存储器单元和了解I/O接口地址。 ②按功能设计程序,明确各程序之间的相互关系。 ③用注释行说明程序,便于阅读和修改调试和修改。 6、上机调试,对程序的正确性作最后的确定。 4.2 汇编源程序的设计与汇编 程序设计步骤流程: 4.2 汇编源程序的设计与汇编 4.2.2 源程序的汇编 CPU可以执行的只能是机器码程序。称:把源程序翻译成机器码的过程为汇编。汇编可:人工汇编和机器汇编两类。 1、人工汇编 由人工直接将汇编源程序翻译成机器码。 2、机器汇编 使用计算机执行“汇编程序”来代替人工实现将汇编源程序翻译成机器码。 4.3.1 简单程序设计 [例4.1]请编写能把20H单元内两个BCD数变成相应的ASCII码并放在21H(高位BCD数的ASCII码)和22H (低位BCD数的ASCII码)单元的程序。 分析: 1) 20H单元存放的为压缩BCD码,送入A中,先处理低四位,使用交换低四位指令,结果存入22H单元 XCHD A,@Ri(唯一一个交换低四位指令) 本设计用R0实现。 2)BCD码与ASCII码关系: BCD码+30H=相应ASCII码 4.3 简单程序与分支程序设计 程序: ORG 0000H LJMP MAIN ORG 30H MAIN: MOV SP,#60H MOV A,20H ;A ←(20H) BCD码 MOV R0,#22H ;R0=22H MOV @R0,#00H ;(22H)=0 XCHD A,@R0 ;低位BCD码与22H半字节交换 ORL 22H,#30H ;加30H完成ASCII码变换 SWAP A ;高位BCD码高低位半字节交换 ORL A,#30H ;加30H完成ASCII码变换 ( ADD A,#30H ) MOV 21H,A ;存入21H单元 END 例2、3、4、5、6、7程序所占单片机内部RAM资源 例2:从外部1234H单元(外设)读回重量数据,共操作八次,读回的数据存放31H---3CH单元,次数存放30H单元 例3:八次的数据求和,高位存3DH,低位存3EH 例4: 3DH,3EH得数据求平均值并存放在3FH单元 例5: 3FH单元数据换算成钱数,存在40H单元(二进制) 例6: 40H单元内容转换成BCD码,并存在41H(高位)42H 43H 例7: BCD码转换成共阴字形码,并存在44H 45H 46H 30H:从外部读回数据的个数(假设8次) 31H---3CH:从外部读回原始数据 3DH,3EH:原始数据的累计和 3FH:存放实际重量 40H:实际收费数,二进制形式 41H 42H 43H :40H单元内容的B

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档