- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机的 指令系统与程序设计
传送类指令小结 例2:设A中有 一个BCD码常数,试用查表法获得其相应的ASCII码 解法I: MOV DPTR,#TAB MOVC A,@.A+DPTR TAB:DB 30H DB 31H DB 32H,33H,34H,35H ······ ? ? ? ? MOV 56H 34H LCALL 执行结果:(SP)= 09H,(09H)= 21H,(08H)= 03H, (PC)= 3456H SP 07H SP SP 08H 09H 2100H 3456H 外ROM 内RAM PC +3 PC 2103H PC 03H 21H 练习2、设(SP)= 07H,(PC)= 2100H,子程序首地址为3456H,执行下列指令,分析执行过程与堆栈操作. LCALL 3456H MOV A,20H · · · · · · ?用汇编语言编写程序,一般可分为以下几个步骤: 1)分析题意,确定算法; 2)设计程序流程图; 3)确定数据结构:合理地选择和分配内存单元以及工作寄存器; 4)编写源程序: 5)上机调试程序。 第三节 程序设计方法 第三节 程序设计方法 MCS-51单片机汇编语言,包含两类不同性质的指令。 (1)基本指令:即指令系统中的指令。它们都是机器能够执行的指令,每一条指令都有对应的机器码。 (2)伪指令:汇编时用于控制汇编的指令。它们都是机器不执行的指令,无机器码 汇编语言的语句格式 汇编语言源程序是由汇编语句(即指令)组成的。汇编语言一般由四部分组成。 标号: 操作码 操作数 ;注释 START: MOV A,30H ;A←(30H) (1)标号段 —— 标号是用户根据需要设定的符号地址。通常是在一段程序的入口或程序的转向点设置一个标号。使用标号便于程序的阅读、修改及转移指令的书写。标号由英文字母开头的1~8个字母数字串组成。 标号以“:”结束,且同一个标号名在一个程序中只能使用一次,不能重复定义。 (2)操作码段——即指令系统中的助记符。它规定了语句执行的操作属性,是不可缺少的。 (3)操作数段——操作数用于给指令的操作提供具体数据和地址。 操作数可以是一项或用逗号分开的两项、三项,也可以是空白(例如DA A 指令)。 (4)注释段——注释用于对语句或一段程序进行解释和说明,有利于交流和阅读。注释的长度不限,但应尽量简明扼要。注释与操作数之间用“;”分开。 第三节 程序设计方法 一、伪指令简介 1. ORG ——汇编起始地址伪指令 指令格式: ORG m m为十六进制数或十进制。它规定了它下面的程序或数表应从ROM的m地址处开始存放。一个汇编语言源程序中,可以多次使用ORG命令,地址一般应从小到大,且不能使各程序段出现重叠现象。 第三节 程序设计方法 例如: ORG 0000H LJMP MAIN ; 本指令从0000H开始存放 ┋ ORG 0030H MAIN: MOV R0,#40H ;本指令从0030H开始存放 一、伪指令简介 2. END —— 汇编结束伪指令 指令格式: END END指令用于终止源程序的汇编工作。一般一个源程序只能有一个END。 3. EQU ——赋值伪指令 指令格式: 标号名称 EQU 汇编符号或数 EQU是将一个数或汇编符号赋予规定的标号名称,汇编程序会自动将EQU右边的数或汇编符号(地址或常数)赋给左边的标号名称。所以应先定义后使用。 LONG EQU 50H ZZ EQU R0 MOV A,@ZZ ;R0间接寻址单元的内容送A MOV R1,#LONG ;立即数50H送R1 ? 一、伪指令简介 4.DB ——定义字节伪指令 指令格式: 标号: DB 字节常数或数表。表明从该标号地址单元开始定义一个或若干个字节的数。例如: ORG 1000H TAB:DB 12H,34H,56H ;从1000H单元开始存放数 DB 78H,9A
文档评论(0)