《微控制器原理及应用》第三章指令系统及程序设计.ppt

《微控制器原理及应用》第三章指令系统及程序设计.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* ;出口参数:三位BCD码存于R4、R5中。 ;转换方法:采用除法指令。 BINBCD: PUSH PSW ;现场保护 PUSH ACC PUSH B MOV A,R3 ;二进制整数送A MOV B,#100 ;十进制数100送B DIV AB ;A/100,以确定百位数 MOV R5,A ;商(百位数)存于R5中 * MOV A,#10 ;将10送A中 XCH A,B ;将10和B中余数互换 DIV AB ;A/10得十位、个位数 SWAP A ;将A中商(十位数)移入高4位 ADD A,B ;将B中余数(个位数)加到A中 MOV R4,A ;将十位、个位BCD码存入R4 POP B POP ACC ;恢复现场 POP PSW RET ;返回 * 3.5.6 程序设计综合举例 1.找最小值 例3.34 试编写一个程序,找出从片外RAM的0200H单元开始的连续10个单元无符号数中的最小值,井将它存在0300H中。 解:源程序如下: MIN: MOV DPTR,#0200H;数据区首地址送DPTR MOV R0,#9 ;循环次数送R0 MOVX A,@DPTR MOV 30H,A ;取第一个数送30H * LOOP: INC DPTR ;修改地址指针 MOVX A,@DPTR ;取下一个数送A CJNE A,30H,NEXT NEXT: JNC GREAT ;若(A)(30H),则转GREAT MOV 30H,A ;取小值送30H GREAT:DJNZ R0,LOOP ;数据区未比较完,继续执行 MOV A,30H MOV DPTR,#0300H;最小值送0300H单元 MOVX @DPTR,A ; RET * 2.查找关键字 例3.35 试编写一个程序,从片外RAM的ST单元开始的100个单元中查找某一数据DT,若找到,将片内RAM的BUF单元清0,并将该数据所在单元地址的高字节存入BUF+1单元,低字节存入BUF+2单元;若未找到,则将0FFH送入BUF单元。 解:源程序如下。 KEY: MOV DPTR,#ST ;DPTR←数据区首地址 MOV 30H,#DT ;30H←关键字 MOV R0,#100 ;数据区长度送R0 MOV R1,#BUF ;存储标志地址送R1 LOOP: MOVX A,@DPTR ;A←取数 * CJNE A,30H,NOT_KEY;不是关键字,则转 MOV @R1,#0 ;是关键字,BUF←00H INC R1 MOV @R1,DPH ;BUF+1←(DPH) INC R1 MOV @R1,DPL ;BUF+2←(DPL) AJMP ENDP NOT_KEY: INC DPTR ;修改地址指针 DJNZ R0,LOOP ;数据区未比较完,继续 MOV @R1,#0FFH ;BUF←0FFH ENDP: RET * 3.无符号数排序 排序就是把某一数据区间连续存放的数据按其大小进行排列,并依次存放于一系列连续的存储单元中。 例3.36 在片内数据存储器ST开始的单元中任意存放了N个无符号数,试编写一个程序,将这N个数在原数据区中由小到大进行排序。 解: 方法一:最小值法。 这种方法就是重复从数据区中找出最小数,并将这些最小数依次排列,第1次是找出N个数中的最小数,并换至数据 * 区的第1个单元存放;第2次是在剩余的N-1个数中找出最小数,并换到第2个单元存放;……,这样,经过N-1次循环查找、存放,原数据区中便会得到由小到大顺序排列的数。 设R7存放外循环计数值,R6存放内循环计数值。A存放每次查找的最小值,30H单元用作数据区首地址暂存,31H单元用作内循环计数值暂存,R0指向每次参与比较的数,R1存放每次内循环找出的最小值的存放地址。 源程序如下。 SORT1: MOV R7,#N-1

文档评论(0)

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

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

1亿VIP精品文档

相关文档