1 / 7
文档名称:

Keil 的使用与汇编语言上机操作.doc

格式:doc   大小:311KB   页数:7页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Keil 的使用与汇编语言上机操作.doc

上传人:nnejja93 2019/4/28 文件大小:311 KB

下载得到文件列表

Keil 的使用与汇编语言上机操作.doc

相关文档

文档介绍

文档介绍:实验名称Keil的使用与汇编语言上机操作成绩指导教师*****专业班级光电1507姓名****学号********联系电话**********任务要求熟悉Keil环境,通过在Keil环境下调试字节拆分、合并程序、数据块清零程序、加法程序,掌握汇编语言程序的调试方法,加深对BCD码、ASCII码、堆栈、寄存器、数据指针、汇编语言指令、机器码等基本概念的理解,为后续程序编制和调试打下基础。掌握Keil环境的使用字节拆分、合并:,观察相关寄存器和单元的内容。数据块填充:,观察相关寄存器和单元的内容。编写多个十六位数的加法程序:有4个十六位无符号数,连续存放在20H开始的片上数据区中,低八位先存,高八位在后。要求:和存于R3(高八位)和R2(低八位),进位位存于R4。设计思路第一步是对相应的片内RAM存储空间置数第二步是对前两个数低八位相加,不考虑进位;对高八位相加,考虑进位,若有进位信号,则对R4进行自加一处理第三步是设置循环,对剩下的数进行同样的加法运算资源分配20H、22H、24H、26H存放低八位21H、23H、25H、27H存放高八位RO、R1数据指针R2、R3分别存放结果低八位、高八位R4存放进位位R5存放循环判断数流程图五、源代码(含文件头说明、语句行注释) ORG 0000H LJMPSTART;0100HSTART: MOVSP, #40H;给堆栈指针赋初值 MOV20H,#0FFH;第一个数低八位 MOV21H,#0FFH;第一个数高八位 MOV22H,#11H;第二个数低八位 MOV23H,#11H;第二个数高八位 MOV24H,#11H;第三个数低八位 MOV25H,#11H;第三个数高八位 MOV26H,#11H;第四个数低八位 MOV27H,#11H;第四个数高八位 MOVR0,#22H MOVR1,#23H MOVR2,20H;存低八位 MOVR3,21H ;存高八位 MOVR4,#00H;存进位位 MOVR5,#3;循环次数 LOOP: CLRC MOVA,***@R0 ADDA,R2;低八位相加 MOVR2,A;低八位存于R2中 MOVA,***@R1 ADDCA,R3;高八位相加 MOVR3,A;高八位存于R3中 JCAA;若有进位位,则转AA,对R4进行自加1操作BB: MOVA,R0 ADDA,#2 MOVR0,A MOVA,R1 ADDA,#2 MOVR1,ADJNZR5,LOOP;判断循环是否结束HERE: SJMPHEREAA: INCR4SJMPBB六、程序测试方法与结果考虑无进位情况:考虑有进位情况:七、思考题怎样查看工作寄存器、SFR、片内RAM、片外RAM及程序代码空间内容?Disassembly窗口有何作用?工作寄存器、SFR的内容可在Registers窗口中查看;片内RAM、片外RAM、程序代码空间