第4章 汇编语言程序设计.doc

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 汇编语言程序设计 一、教学要求: 掌握:单片机汇编语言程序的基本结构以及加、减、乘、除运算及数制转换程序设计。 理解:查表、差值运算、译码等简单程序设计方法。 二、教学内容: 4.1 汇编语言程序设计概述 4.2 单片机汇编语言程序的基本结构形式 4.3 单片机汇编语言程序程序设计举例 4.4 单片机汇编语言的伪指令 4.5 单片机汇编语言源程序的编辑和汇编 三、教学重点: 单片机汇编语言程序的基本结构及程序设计方法。 四、教学难点: 加、减、乘、除运算及数制转换程序设计。 五、建议学时:4学时。 六、教学内容: 4-1 汇编程序约定 汇编语言程序: 用汇编语言编写的、完成特定功能的指令序列。 汇编程序: 能将汇编语言源程序转换成机器语言目标程序的系统软件。 汇编语言程序到机器语言程序的转换过程称为汇编。 1、手工汇编:人工查指令表汇编。用于设计短小程序或调试程序的场合。 2、机器汇编:用汇编程序进行汇编。 源程序使用机器汇编要考虑汇编程序的约定: 1)按指令格式和语法规则编写程序。 常数的表示: 十进制数:20 十六进制数:87H,0F0H 二进制数 字符: ‘H’ 字符串: “Hello” 2)使用伪指令提供汇编信息。 汇编的主要任务: 1)确定程序中每条汇编语言指令的指令机器码。 2)确定每条指令在存储器中的存放地址。 3)提供错误信息。 4)提供目标执行文件(*.OBJ/*.HEX)和列表文件(*.LST)。 一、汇编语言指令类型: 1. 机器指令: 指令系统中的全部指令,每条指令有对应的机器代码。 2. 伪指令: 汇编控制指令,仅提供汇编信息,没有指令代码。 3. 宏指令: 宏汇编功能:将需要多次反复执行的程序段定义成一个宏指令名(宏定义),编程时,可在程序中使用宏指令名来替代一段程序(宏调用)。 宏定义过程: 宏指令名 MACRO 形式参数 … ;定义程序段 ENDM 宏调用过程: … 宏指令名 实际参数 … 宏指令名 实际参数 二、汇编控制指令(伪指令): 常用伪指令及其功能: 1.ORG—起始地址指令:指明程序和数据块起始地址。 指令地址 机器码 源程序 ORG 2000H 2000H 78 30 MAIN:MOV R0,#30H 2002H E6 MOV A,@R0 … ORG 3000H 3000H 23 DB 23H,100,‘A’ 3001H 64 3002H 41 2.DB—定义字节型常数指令。 例: DB 12H,100,‘A’ 3. DW — 定义字型常数指令。 例: DW 1234H,5678H 4. EQU — 等值。为标号或标识符赋值。 X1 EQU 2000H X2 EQU 0FH … MAIN:MOV DPTR,#X1 ADD A,#X2 5. END — 结束汇编指令。 例: START: … … END START 4-2 汇编语言程序设计步骤 一、确定方案和计算方法; 二、了解应用系统的硬件配置、性能指标; 三、建立系统数学模型,确定控制算法和操作步骤; 四、画程序流程图; 表示程序结构和程序功能。 五、编制源程序。 1.合理分配存储器单元和了解I/O接口地址。 2.按功能设计程序,明确各程序之间的相互关系。 3.用注释行说明程序,便于阅读、修改和调试。 常用程序结构: 顺序程序、分支程序、循环程序、子程序。 4-3 顺序程序 顺序程序又称简单程序,程序走向只有一条路径。 例:双字节变补程序(设数据在R4R5中): MOV A,R5 ;取低字节 CPL A ADD A,#01H ;低字节变补 MOV R5,A MOV A, R4 ;取高字节 CPL A ADDC A,#00H ;高字节变补 MOV R4,A P84:例题(顺序) [例4.1] 三字节无符号数相加,其中被加数在内部RAM的50H、51H和52H单元中;加数在内部RAM的53H、54H和55H单元中;要求把相加之和存放在50H、51H和52H单元中,进位存放在位寻址区的00H位中。 程序: MOV R0,#52H MOV R1,#55H MOV A,@ R0 ADD A,@R1 MOV @

文档评论(0)

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

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

1亿VIP精品文档

相关文档