微机实验一华科大.docVIP

  • 78
  • 0
  • 约5.46千字
  • 约 7页
  • 2016-10-06 发布于重庆
  • 举报
微机实验一华科大

《微机实验》报告 实验名称 KeilC的使用与汇编语言上机操作 指导教师 曹丹华 专业班级 光电1103 姓名 刘洒 学号 U201115011 序号 联系方式 任务要求 1.掌握KeilC环境的使用 1)字节拆分、合并:调试e421.asm程序, 观察相关寄存器和单元的内容。 2)数据块填充:调试fill.asm程序,观察相关寄存器和单元的内容。 2. 编写两个十六位数的加法程序。 有两个十六位无符号数,分别存放在从20H和30H开始的数据区中,低八位先存,高八位在后,和存于R3(高八位)和R4(低八位),进位位存于R2。 二、设计思路 对于任务要求1,由于实验代码已由老师给出,实验者只需在Keil软件上进行运行调试,在此不一一赘述,仅将程序调试结果截图附录余下。 字节拆分、合并程序 File name: e421.asm Description: 1字节BCD码转换为2字节ASCII 2字节ASCII码转化为1字节BCD码 Date: Designed by: Source used: 30H: BCD data 31H, 32H:ASCII data 31H, 32H -33H ORG 0000H LJMP MAIN ORG 0100H MAIN: MOV SP, #40H ;赋堆栈指针 MOV 30H, #49H ;30H单元赋值 MOV R0, #32H ;R0指针赋值 MOV @R0, #0 ;32H单元清零 MOV A, 30H XCHD A, @R0 ;拆分字节 ORL 32H, #30H ;转换为ASCII SWAP A ORL A, #30H ;转换为ASCII MOV 31H, A ;结果存于31H单元 MOV A, 31H ;从31H单元取值 ANL A, #0FH ;转换为BCD SWAP A MOV 33H, A ;结果存于33H单元 MOV A, 32H ;从32H单元取值 ANL A, #0FH ;转换为BCD ORL 33H, A ;合并字节 HERE: SJMP HERE ;踏步 END 数据块填充程序:将片外RAM 7000H-70FFH单元按一定规律填充 File name: fill.asm Date: 2011.8.20 Designed by: CDH Source used: R0: 计数器 DPTR: 片外数据指针 ORG 0000H LJMP MAIN ORG 0100H MAIN: MOV SP,#40H FILL: CLR A ;A寄存器清零 MOV R0, #00H ;设循环计数器 MOV DPTR, #7000H ;设数据指针 FILL1: MOVX @DPTR, A ;传送到片外RAM INC A ;A内容加1 INC DPTR ;修改数据指针 INC R0 ;修改循环计数器 CJNE R0, #00H, FILL1 ;判断是否结束 HERE: SJMP HERE ;原地踏步 END 下面对于实验要求2(编

文档评论(0)

1亿VIP精品文档

相关文档