- 17
- 0
- 约5.24千字
- 约 11页
- 2020-11-23 发布于天津
- 举报
专业
专业word可编辑
实验名称 Keil的使用与汇编语言上机操作 成绩
一、 任务要求
1?掌握Keil环境的使用
1) 字节拆分、合并:调试e421.asm程序,观察相关寄存器和单元的内容 。
2) 数据块填充:调试fill.asm程序,观察相关寄存器和单元的内容 。
2.编写多个十六位数的加法程序
有4个十六位无符号数,连续存放在20H开始的片上数据区中,低八位先存,高
八位在后。要求:和存于R3 (高八位)和R2 (低八位),进位位存于R4。
二、 设计思路
实验一已给出程序代码,不需要设计,下面阐明实验二,编写多个十六位数的加法
程
序的设计思路。
十六位数相加,先是低八位相加,低八位相加不用考虑进位,所以,此时用ADD
指
令,但因为在每次循环时都有 CLR C操作,所以也可以用 ADDC指令。而且题目中要求 将
和的低八位存于 R2,所以将每次低八位相加的和存于 R2,然后从R2中取值求和。
低八位相加后高八位相加,因为必须处理低位相加的进位问题,所以必须用ADDC 指
令。而且因为要求高位和存于 R3,所以将每次计算的和存于 R3,每次从R3中取数跟新
的高八位相加
另外考虑到高位进位的问题 ,所以必须安排一个地址单元或者寄存器存放最高位
正是因为每次循环中,进位都会被处理,所以每次循环开始要 CLR C。
三、 资源分配
4个十六位无符号数,连续存放在20H开始的片上数据区中,低八位先存,高 八位在后。
和存于R3 (高八位)和R2 (低八位),进位位存于R4。
R0和R1作为数据指针,存放低八位和高八位的地址 。
循环次数存于R5。
四、 流程图
Cyj
■ ■*
YES
軌元初始賦值
RO—20H
指針賦初值
NO
R2*-(20H) (2111)
R2*-(20H) (2111) R4—QOH 寄存器赋值
R4—A进位存于KH
五、源代码
(含文件头说明、语句行注释)
四个十六位数的加法程序
File n ame:
3.asm
Descriptio n:
四个十六位数的加法程序
Date: 2016/09/23
Desig ned by: 陈钰
Source used:R0,R1
Source used:
R0,R1数据指针
R2,R3,R4,R5 寄存器
20H-27H
ORG 0000H
LJMP MAIN
;进位清零;A
;进位清零
;A — R2
;R0— R0+1+1 , R0指向下一个低八位
;A—A+(R0),低八位相加
;R2—A,低八位的和存于 R2
;A — R3
ORG 0100H
MAIN: MOV R0,#20H
MOV R1,#21H
MOV R2,20H
MOV R3,21H
MOV R4,#00H
MOV R5,#03H
LOOP: CLR C
MOV A,R2
INC RO
INC R0
ADD A,@R0
MOV R2,A
MOV A,R3
;设数据指针
;R2 — (20H),R3 — (21H)
;最高位进位清零
;设置循环次数
INC R1
INC R1
;R1 — R1+1+1 , R1指向下一个高八位
ADDC A,@R1
;A — A+(R1)+C ,高八位加进位的和
MOV R3,A
;R3—A,高八位的和存于 R3
CLR A
;A寄存器清零
ADDC A,R4
;A—A+R4+C ,计算进位
MOV R4,A
;R4—A ,进位信息存入 R4
DJNZ R5,L00P ;判断R5是否等于零判断循环是否结束
HERE:SJMP HERE
HERE:
SJMP HERE
END
六、程序测试方法与结果
字节拆分、合并程序:(存于30H的数被拆分,分别转为ASCII码存于31H和32H , 最
后再合并存于33H)
Address: d:3Qh
D:0x30:0 :
的
3弓
D:0x32:2 :
39
D:0x34:4 :
00
00
数据块填充程序(将片外RAM 7000H-70FFH 单元按一定规律填充)
Address: |x:7{XH3h
X
0x007000
00
01
02
03
04
05
06
07
OS
09
OA
OB
oc
OD
OE
X
02£Q0700F
OF
10
11
12
13
14
IS
ie
17
19
19
1A
IB
1C
ID
X
OX0O7QLE
IE
IF
20
21
22
23
2^
25
26
27
25
29
2A
23
2C
X
0X00702D
2D
2E
2F
30
31
32
33
3^
35
3石
37
38
39
3A
33
X
0X00703C
3C
3D
3E
3F
40
41
42
43
44
45
46
47
43
49
4A
X
4B
4C
4D
4F
SO
51
52
原创力文档

文档评论(0)