《微机实验》报告
实验名称:KeilC的使用与汇编语言上机操作
一、任务要求
实验目的:熟悉KeilC环境,通过在KeilC环境下调试字节拆分、合并程序、数据块清零程序、加法程序,掌握汇编语言程序的调试方法,加深对BCD码、ASCII码、堆栈、寄存器、数据指针、汇编语言指令、机器码等基本概念的理解,为后续程序编制和调试打下基础。
实验内容:
1.掌握KeilC环境的使用
1)字节拆分、合并:调试e421.asm程序, 观察相关寄存器和单元的内容。
2)数据块填充:调试fill.asm程序,观察相关寄存器和单元的内容。
2. 编写两个十六位数的加法程序。
有两个十六位无符号数,分别存放在从20H和30H开始的数据区中,低八位先存,高八位在后,和存于R3(高八位)和R4(低八位),进位位存于R2。
二、设计思路
实验1中的两个实验,已经给出了程序代码,,无需再进行设计。下面阐述实验2的设计思路:
对于该程序,在处理低位相加时,直接采用指令ADD,然后存数,在处理高位时,考虑到可能存在进位,所以在相加时,应使用指令ADDC将被加数、加数以及低位到高位的进位相加然后存数。
此外,在处理该问题时,还应考虑到两个十六位相加可能会出现第十七位,所以要另外安排一个地址单元用来存放最高位的数。
三、资源分配
两个十六位无符号数,分别存放在从20H和30H开始的数据区中;
和存于R3(高4八位)和R4(低八位);
进位位存于R2。
四、流程图
四、源代码 (含文件头说明、资源使用说明、语句行注释)
File name: test2.asm
Description: 两个十六位数的加法程序
…… …… 余下全文