- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
01例4—5负数求补程序:外部RAM地址为3000H的数据块中有100个补码,要求逐一检查,若为负数则取补后放回,正数则不变。02编制循环程序的要点:发现和寻找过程中具有重复性和规律性的部分,并分析出重复的次数、重复结束的条件等。03解:这个任务中规律性的过程是:取数、判符号、若为负数则取补负数求补程序流程图 ORG1000HSTART:MOVDPTR,#3000H ;置地址指针 MOVR7,#64H ;置计数初值LOOP1:MOVXA,@DPTR ;取数 JNBACC.7,LOOP2 ;若正数转LOOP2 CPLA INCA ;负数取补 MOVX@DPTR,A ;负数取补后送回LOOP2:INCDPTR ;修改地址指针 DJNZR7,LOOP1 ;100个数未完继续 END循环程序的结构包括四个部分:初始化部分:为循环做准备。处理部分(循环体部分):实际数据处理部分,是重复执行的程序段部分,是循环程序的主体。控制部分:控制循环的进行和结束。两个内容:修改循环参数为下一次循环做准备;判断是否满足结束条件,若不满足则转去继续执行循环体部分,满足则退出循环。结束部分:存放所得结果,恢复某些工作单元的初值。循环程序的2种组织方式2、程序的出口不同:方式1:程序的出口在最后方式2:程序出口通常不是在最后两种组织方式的区别判断循环结束条件的时刻不同:方式1:处理部分至少执行一次方式2:处理部分可能一次也不执行一串ASCII字符存放在以BLOCK开始的连续片外RAM单元中,以空白字符“0”结尾。要求用串行口发送出去。01循环结束条件是通过检查约定的结束标志0来决定继续循环或终止循环。循环次数不定的情况采用方式2。02例4—6发送字符串程序发送字符串程序流程图 ORG2000H MOVDPTR,#BLOCK;字符块首地址LOOP:MOVXA,@DPTR;取要发送字符 JZNEXT ;0字符转结束LOOP1:JNBTI,LOOP1 ;上个发送完吗? CLRTI ;发送完清TI MOVSBUF,A ;发送字符 INCDPTR ;调整指针下一个 SJMPLOOPNEXT: RET循环中包含另一个循环叫循环嵌套(LOOP1:JNBTI,LOOP1)有多层嵌套时称为多重循环程序1格式:字符名称EQU表达式2功能:汇编程序自动把EQU右边的“表达式(8位或16位)”的值赋给左边的“字符名称”。“字符名称”必须先赋值后使用。EQU伪指令与存储单元无关。3在某程序中,一旦用EQU伪指令对某字符名称赋值之后,就不能再用EQU伪指令来改变其值,其值在整个程序中是固定的。这里“字符名称”不同于标号,因此不加冒号。(3)、赋值伪指令EQU01ORG2000H02BT EQUR303DATA EQU30H04DELAY EQU1050H05MOVR0,DATA;R0←(30H)06MOVA,BT ;A←(R3)07?08LCALLDELAY ;调用1050H子程序09?10END例:[标号:]DBX1,X2,…,Xn格式:01把右边的Xi(i=1~n)依次存放到以左边标号为起始地址的连续的存储单元中。其中Xi为8位二进制数据(或十进制、十六进制、表达式、ASCII码等多种形式)。功能:02(4)、定义字节伪指令DB例:ORG1200H1TAB:DB50H,100,2*5,-4TAB1:DB‘D’,‘2’,‘#’,‘ABC’2TAB的地址1200H3TAB1的地址为1205H例中的字符以ASCII码存入(例如:D、#、ABC)。负数用补码存入(例如:-4)。4格式:[标号:]DWX1,X2,…,Xn功能:DW与DB功能相似,区别在于DB定义的是字节,DW定义的是字(两个字节),所以Xi是16位的数据字或标号,但该标号必须事先赋值。汇编时一个字数据占用两个连续的存储单元。(5)、定义字伪指令DW例:ORG1500HDATA EQU3522HADDR:DW3456H,9BH,10DWDATA高字节在前(低地址单元)低字节在后(高地址单元)12[标号:]DS表达式格式:指示汇编程序
文档评论(0)