实用程序及其设计方法.ppt_第1页
实用程序及其设计方法.ppt_第2页
实用程序及其设计方法.ppt_第3页
实用程序及其设计方法.ppt_第4页
实用程序及其设计方法.ppt_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、,第四章 实用程序及其设计方法,4.1 源程序格式 4.2 实用程序举例,4.1 源程序格式,语句格式、伪指令,标号: 操作码 操作数 ;注释,4.1 源程序格式,语句格式:,ORG 起始汇编 END汇编结束 EQU赋值 DATA 数据地址赋值 BIT位地址符号 DB定义字节 DW定义字 DS定义存储空间,伪指令:,4.2 源程序格式,伪指令用法:,标号:,ORG,(16位地址)起始汇编,例:,标号:,END,ORG 3000H,START:MOV A,#45H MOV R0, A END,4.2 源程序格式,(汇编结束),伪指令用法:,4.2 源程序格式,字符名 EQU数据或汇编符号(赋值)

2、 REG EQU R7 HT1 EQU20H 字符名DATA数据或表达试(数据地址赋值) INDAT DATA8000H 字符名BIT位地址位地址符号 A1BIT30H,伪指令用法:,4.2 源程序格式,标号:DB字节常数或字符(定义字节) ORG8000H TABLE1:DB78H,100,A,01001001B 标号:DW字常数或字表(定义字) ORG8000H TB1:DW6754H,7AH,0CH 标号:DS表达式(定义存储空间) ORG8000H SPP:DS10 TB1:DB54H,7AH,0CH,4.2 实用程序举例,1. 子程序(补充) 2. 延时子程序(补充) 3. N分支转

3、移程序(4.1) 4. 128分支转移程序(4.2) 5. 多精度无符号加法子程序(4.7) 6. 16进制转换为ASCII码子程序(4.20) 7. I/O端口程序之一、之二(4.23、4.24略),1. 子程序(补充),用程序实现C=a2+b2。设a、b均小于10。a存在21H单元,b存在22H单元,结果C存在20H单元。,ORG 1000H MAIN:MOVA, 21H LCALL SQR MOV20H,A MOVA,22H LCALL SQR ADDA,20H SJMP $ ORG2000H SQR:MOVB,A MULAB RET,4.2 实用程序举例,2. 延时子程序(补充),设计

4、一个延时时间为10mS的子程序,设晶振频率为6MHz。,ORG 1000H MOV R6,#0AH DL2:MOVR7,#XUTH DL1:NOP NOP DJNZR7,DL1 DJNZR6,DL2 RET,(1+1+2)*2*XUT=1000(uS) XUT=125=7DH,4.2 实用程序举例,3. N分支转移程序(参考4.1),N_JMP:MOVA,R3 MOVCPTR,#JMPTBL MOVCA,A+DPTR JMPA+DPTR JMPTBL:DBMEM0-JMPTBL DBMEM1-JMPTBL DBMEM2-JMPTBL MEM0: MEM1: MEM2:,根据入口(R3)内容(0

5、、1、2、3)转向N个程序段,4.2 实用程序举例,4. 128种分支转移程序(参考4.2),LJMP_128:MOV A6,R3 RLA MOVDPTR, #TABLE JMPA + DPTR JMPTAB:AJMPROUT00 AJMPROUT01 AJMPROUT02 AJMPROUT7F 功能:根据入口(R3)的内容,转移到128个以内的地址 入口:R3,出口:ROUT00、 ROUT01、 ROUT7F,A中必须是偶数,双字节指令,4.2 实用程序举例,最多128个子程序入口,5. 多精度无符号加法子程序(4.7),ORG 1000H ADD2:CLRC ADD12:MOV A,R0

6、 ADDC A,R1 MOV R0, A INCR0 INCR1 DJNZR2,ADD12 JNCGET MOVR0,#01H SJMP$ RET GET:DECR0 RET,4.2 实用程序举例,ORG 1000H MOVA,R0 ANLA,#0FH ADDA,#03H MOVCA,A+PC INCR0 MOVR0,A RET ASCT:DB30H,31H,32H,33H DB34H,35H,36H,37H DB38H,39H,41H,42H DB43H,44H,45H,46,6. 16进制转换为ASCII码子程序(4.20),设一位16进制数放在(R0)的低4位,要求将转换后的ASCII码送回(R0)的下一个地址(查表程序)。,3个字节,R0,3,4.2 实用程序举例,5 6,56H,补充:字符显示子程序,设计一个将R0中十进制数转换成可以用数码管显示的字符码。(补充),ORG 1000H MOV A,R0 ANLA,#0FH ADDA,#02H MOVCA,A+PC MOVR0,A RET ASCT:DB03FH,06H,5BH,,2个字节,R0,0 1 0 1 1 0 1 1,例:R=02H,4.2 实用程序举例,7. I/O端口程序(4.23),略,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论