当前位置:文档之家› 实验二、熟悉51指令(多字节十进制加法)

实验二、熟悉51指令(多字节十进制加法)

实验二、熟悉51指令(多字节十进制加法)
实验二、熟悉51指令(多字节十进制加法)

实验二、熟悉51指令(多字节十进制加法)

一、实验目的:

1、了解DAA指令使用方法。

2、掌握子程序的使用方法。

二、实验设备:

TDS-MD微机教学实验系统一台

MP-51单片机开发系统一台

三、实验重点指令:

DAA指令为二-十进制调整指令,机器码为D4,该指令是对A(累加器)的BCD码加法结果进行调整。两个BCD码按二进制相加之后,必须经本指令调整,才能得到BCD码的和数。

DAA指令的操作为:

若[(A0~3)>9]或[(AC)=1],则(A0~3)←(A0~3)+06H;

若[(A4~7)>9]或[(CY)=1];则(A4~7)←(A4~7)+06H。

四、实验内容:

两字节加法参考程序如下:

地址指令码助记符

───────────────────────────────────

2000758150MOV81,#50

20037820MOVR0,#20

20057645MOV@R0,#45

200708INCR0

20087675 MOV@R0,#75

200A7930MOVR1,#30

200C7767MOV@R1,#67

200E09INCR1

200F7728MOV@R1,#28

2011C3CLRC

20127A02MOVR2,#02

20141122ACALL2022

201618DECR0

201719DECR1

2018DAFADJNZR2,2014

201AE4CLRA

201B92E0MOVE0,C

201D00NOP

201EF6MOV@R0,A

201F80FESJMP201F

202100NOP

2022E6MOVA,@R0

202337ADDCA,@R1

2024D4DAA

2025F6MOV@R0,A

202622RET

─────────────────────────────────

上述程序实现:4575+6728=?,其中20H,21H放被加数,30H,31H放加数,两数之和放在内部ROM的1FH,20H和21H单元中。

五、实验步骤:

1.将方框内程序主体装入开发机,并做认真检查。

2.在201F)处设置断点,运行程序,检查结果。

3.试将原程序改为三字节加法程序,计算:975+134098=?将程序认真调试后,记录到实验报告上(包括程序主体、机器码、地址等)。

六、实验练习题:

把示例程序改为三字节加法程序写出(写出地址、机器码、助记符三大部分)。

七、实验结果:

1.在输入两字节加法程序并经过检查、运行后,可知:

4575+6728=

其中,1FH内为20H内为

21H内为。

2.在输入三字节加法程序并经过检查、运行后,可知:

975+134098=

其中,结果放在、、、

等四个单元内。

相关主题
文本预览
相关文档 最新文档