网站大量收购独家精品文档,联系QQ:2885784924

第四篇 汇编语言程序设计2010春.ppt

  1. 1、本文档共88页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4.1.2 汇编语言源程序的编辑和汇编 1. 汇编语言源程序的编辑 编辑好的源程序应以“. ASM”扩展名存盘 2. 汇编语言源程序的汇编 源程序经机器汇编之后,若无语法错误,一般将生成两个新文件,它们的扩展名分别是.OBJ和.LST。 例4-1 将内部RAM从30H开始的10个单元的内容相加,其和保存于A(假设其和仍为8位数)。 列表文件(.LST)信息如下: 地址 机器码 汇编语言源程序 注释 ORG 2000H ;定义程序起始地址 2000 7830 START:MOV R0,#30H ;初始地址送R0 2002 7A0A MOV R2,#10 ;循环初始值送R2 2004 7400 MOV A,#00H ;累加和初始值送A 2006 26 LOOP:ADDC A,@R0 ;完成累加 2007 08 INC R0 ;修改地址 2008 DAFC DJNZ R2,LOOP ;循环判断 200A 80FE SJMP $ ;暂停 END ;程序结束 INCLUDE IN HASHTAB START: 2000 LOOP: 2006 目标文件(.OBJ)信息如下: 2000200C78307A0AFC80FE 4.2 汇编语言源程序的基本结构 共有四种结构形式: 顺序结构、循环结构、分支结构和子程序结构。 例4-10 在图3-11 的P1口与LED的连接示意图中,若使得LED0~LED7依次点亮,其延时时间分别从1s至8s,LED7点亮之后又从LED0开始循环。编写汇编语言源程序实现该功能。 ORG 1000H MOV A,#1 ;主程序 NEXT1: MOV 20H,#0 MOV R3,#8 NEXT:INC 20H MOV R4,20H MOV P1,A ACALL DELAY RL A DJNZ R3,NEXT SJMP NEXT1 DELAY:MOV R7,#10 ;1s延时子程序 DELAY3:MOV R6,#200 DELAY2:MOV R5,#125 DELAY1:DJNZ R5,DELAY1 ;125×4=500μs=0.5ms DJNZ R6,DELAY2 ;0.5 ms×200=0.1s DJNZ R7,DELAY3 ;0.1s×200=1s DJNZ R4,DELAY RET END 例4-11 两个无符号数据块的首地址分别为30H和40H,每个数据块的第一个字节都存放着数据块的长度(小于15),求各数据块中最大值的乘积,并将结果存入50H(乘积低字节)和51H(乘积高字节)。 解:可将求最大值的过程编写成一个子程序,子程序的入口参数是数据块的首地址,存放在R1中,返回参数即为最大值,存放在A中,参考程序如下: 思考题与习题 4-1 把外部RAM 5000H的内容拆开,高位送5001H,低位送5002H。 4-2 把外部RAM 3000H开始的100字节的内容传送到从外部RAM 3500H开始的连续单元中。 4-3 设有100个有符号数,连续存放在外部RAM以2000H为首地址的存储区中,编程统计其中正数、负数和零的个数,并分别存放在R5、R6和R7。 4-4 外部RAM 1000H开始连续存放20个双字节无符号数,低字节在前,高字节在后,编写求和程序,将结果存入内部RAM 30H,31H,32H单元中。 4-5 编程计算片内RAM40H~47H单元中无符号数的算术平均值(假设和仍为8位数),结果存放在50H(商)和51H(余数)中。 4-6 从内部RAM 30H开始存有一无符号数据块,其长度在2FH单元中。求出数据块中最小值和最大值并分别存入R6和R7中。 MOV R0,#30H MOV A,@R0 MOV R6,A MOV R7,A DEC 2FH LOOP:INC R0 CLR C MOV A,R6 SUBB A,@R0 JNC MIN CLR C MOV A,R7 SUBB A,@R0 JNC LOOP1 MAX:MOV A,@R0 MOV R7,A SJMP LOOP1 MIN:MOV A,@R0 MOV R6,A LOOP1:DJNZ 2FH,LOOP 4-8 从外部RAM首地址

文档评论(0)

189****6140 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档