1 / 14
文档名称:

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

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

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

分享

预览

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

上传人:sunny 2021/9/17 文件大小:306 KB

下载得到文件列表

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

文档介绍

文档介绍:Keil-的使用与汇编语言上机操作
《微机实验》报告
3
实验名称 Keil的使用与汇编语言上机操作 成 绩
指导教师 *****
专业班级 光电1507 姓 名 **** 学 号 ********
联系电话 **********
任务要求
熟悉Keil环境,通过在Keil环境下调试字节拆分、合并程序、数据块清零程序、加法程序,掌握汇编语言程序的调试方法,加深对BCD码、ASCII码、堆栈、寄存器、数据指针、汇编语言指令、机器码等基本概念的理解,为后续程序编制和调试打下基础。
掌握Keil环境的使用
字节拆分、合并:, 观察相关寄存器和单元的内容。
数据块填充:,观察相关寄存器和单元的内容。
《微机实验》报告
3
编写多个十六位数的加法程序:有4个十六位无符号数,连续存放在20H开始的片上数据区中,低八位先存,高八位在后。要求:和存于R3(高八位)和R2(低八位),进位位存于R4。
设计思路
第一步是对相应的片内RAM存储空间置数
第二步是对前两个数低八位相加,不考虑进位;对高八位相加,考虑进位,若有进位信号,则对R4进行自加一处理
第三步是设置循环,对剩下的数进行同样的加法运算
资源分配
20H、22H、24H、26H存放低八位
21H、23H、25H、27H存放高八位
RO、R1数据指针
R2、R3分别存放结果低八位、高八位
R4存放进位位
R5存放循环判断数
流程图
《微机实验》报告
4
五、源代码 (含文件头说明、语句行注释)
ORG 0000H
LJMP START;长跳转至START执行程序

ORG 0100H
START: MOV SP, #40H;给堆栈指针赋初值

MOV 20H, #0FFH;第一个数低八位
《微机实验》报告
6
MOV 21H, #0FFH;第一个数高八位
MOV 22H, #11H;第二个数低八位
MOV 23H, #11H;第二个数高八位
MOV 24H, #11H;第三个数低八位
MOV 25H, #11H;第三个数高八位
MOV 26H, #11H;第四个数低八位
MOV 27H, #11H;第四个数高八位
MOV R0, #22H
MOV R1, #23H
MOV R2, 20H ;存低八位
MOV R3, 21H ;存高八位
MOV R4, #00H;存进位位
MOV R5, #3;循环次数

LOOP: CLR C
MOV A, ***@R0
ADD A, R2;低八位相加
MOV R2, A;低八位存于R2中
MOV A, ***@R1
ADDC A, R3;高八位相加
MOV R3, A ;高八位存于R3中
JC AA ;若有进位位,则转AA,对R4进行自加1操作
《微机实验》报告
6
BB: MOV A,R0
ADD A,#2
MOV R0,A
MOV A,R1
ADD A,#2
MOV R1,A
DJNZ R5, LOOP;判断循环是否结束
HERE: SJMP HERE
AA: INC R4
SJMP BB
《微机实验》报告
7
六、程序测试方法与结果
考虑无进位情况:
《微机实验》报告
9
考虑有进位情况:
七、思考题
怎样查看工作寄存器、SFR、片内RAM、片外RAM及程序代码空间内容?Disassembly 窗口有何作用?
《微机实验》报告
9
工作寄存器、SFR的内容可在Registers窗口中查看;
片内RAM、片外RAM、程序代码空间的内容可在Memorry窗口中,在Address栏中键入空间类型和地址来查看;
Disassembly窗口的作用是显示编译之后转化成的汇编代码。
字节拆分、合并还有哪些方法,举一例说明。
字节拆分可以通过ANL