2014第3章单片机汇编语言程序设计.ppt

例:一个字符串存放在外部RAM中,起始地址为3000H,求这个字符串的长度,放入R0寄存器中。 解:根据字符串的原理,将字符串的每个字符所对应的ASCII码按顺序存放在存储器中,字符串的结尾是一个ASCII码为0的结尾符。很显然,该程序是一个循环次数不固定的程序,该循环的结束条件是从外部RAM中得到的当前字符的ASCII码是否为0。如果是0,表明该字符串到此结束。 程序流程图如下: 51系列单片机汇编程序设计 51系列单片机汇编程序设计 ORG 0000H MOV R0, #-1 ;在循环中,至少要进行一次加法,所以计数值初始值为-1 MOV DPTR, #3000H L00P: MOVX A, @DPTR ;将当前字符的ASCII码送入A寄存器 INC DPTR INC R0 CJNE A, #0, LOOP ;如果当前字符的ASCII码不为0,循环继续 LEND:SJMP $ END 51系列单片机汇编程序设计 查表程序设计 在程序设计中,查表功能是一项非常重要的功能。查表就是根据自变量x,在表格中寻找y,使y=f(x)。自变量x的范围一般是一个连续变化的整数,比如0~99之间的整数。因此,可以将所对应的y值按自变量x的顺序排列在一起,就得到了一个线性表。根据x的值求取y值,只需要在这个线性表中查询相应的单元即可,称之为查表功能。 指令“MOVC

文档评论(0)

1亿VIP精品文档

相关文档