您好,欢迎来到九壹网。
搜索
您的当前位置:首页实验三简单程序调试.

实验三简单程序调试.

来源:九壹网
实验三 简单程序调试

一、实验目的

初步掌握汇编语言程序设计及调试的方法

二、实验仪器

1、DVCC-598JH单片开发机一台; 2、WD-5型直流稳压源一台。 三、实验预习

1、认真阅读实验指导书有关内容,明确实验目的、内容和操作步骤; 2、对实验中的程序进行手工汇编; 3、复习实验中相关指令的功能; 4、复习顺序结构程序设计思想。 四、实验内容

程序一:BCD码数的加法运算

设有两个4位压缩的BCD码数,一个数存放在片内RAM31H(千位、百位)和30H(十位、个位)单元,另一个数高位存在33H单元,低位存在32H单元,求两数之和,其结果存30H和31H单元。

参考程序:

地址

目标程序

源程序 ORG 1000H MOV R0,#30H MOV R1,#32H MOV A,@R0 ADD DA

A,@R1 A

1000 1002 1004 1005 1006 1007 1008 1009 100A

7830 7932 E6 27 D4 F6 08 09 E6

MOV @R0,A INC R0 INC R1 MOV A,@R0

100B 100C 100D 100E

37 D4 F6 80FE

ADDC A,@R1 DA

A

MOV @R0,A SJMP $ END

程序二:拆字程序

设有一个8位二进制数存放在片内RAM40H单元,将其拆为两个4位二进制数,高4位存于41H单元,低4位存于42H单元。

参考程序:

ORG

1000H A,40H ;取数 A,#0FH

;屏蔽高四位

START: MOV

ANL MOV MOV SWAP ANL

42H,A ;存低四位数 A,40H ;重新取数 A

;高低四位互换 ;屏蔽低四位

A,#0FH

MOV SJMP END

41H,A ;存高四位数 $

程序三:负数求补程序

已知一个16位二进制负数存放在R1R0中,试求其补码,并将结果存在R3R2中。

提示:二进制负数的求补方法可归纳为“求反加1”。即可利用CPL指令实现求反,而16位加1,则应是低8位先加1,高8位再加上低位的进行位。注意,这里不能用INC指令,因INC指令不影响标志位。

参考程序:

ORG

1000H A,R0 A

;读低8位 ;取反

START: MOV

CPL

ADD A,#01H R2,A A,R1 A

;加1 ;存低8位 ;读高8位 ;取反 ;加进位

;高8位→位寻址区

MOV MOV CPL

ADDC MOV MOV MOV MOV SJMP END

A,#00H 20H,R1

C, 07H ;符号位→C ACC.7,C ;恢复符号 R3,A $

;存高8位

五、实验步骤

1、认真阅读实验参考程序并分析程序运行后的理论结果; 2、输入程序并检查输入是否正确;

3、根据已知条件输入程序执行前的原始数据; 4、执行程序,检查并记录结果; 六、练习

1、试编写计算6655H+11FFH的程序。

提示:被加数和加数是16位数,需分两步完成计算,首先将两数的低位相加,若有进位,保存在CY中;然后再将两数的高8位连同进位位相加,结果存入50H、51H单元中。

2、编写程序,将片内41H和42H单元的两个4位二进制数进行组合,存放于40H单元。41H单元的数作为低4位,42H单元的数作为高4位。

七、实验报告

1、整理记录结果,并与理论结果进行比较; 2、调试过程及体会;

3、思考BCD码相减的实现方法; 4、思考有符号数的求补方法。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 91gzw.com 版权所有 湘ICP备2023023988号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务