【2017年整理】汇编语言程序设计.doc
文本预览下载声明
实验报告
课程名称:单片微机原理与接口技术 指导老师:彭勇刚 成绩:__________________
实验名称:_______________________________实验类型:________________同组学生姓名:__________
一、实验目的和要求(必填) 二、实验内容和原理(必填)
三、主要仪器设备(必填) 四、操作方法和实验步骤
五、实验数据记录和处理 六、实验结果与分析(必填)
七、讨论、心得
汇编语言程序设计
实验目的:
1. 熟悉80C51单片微机汇编语言设计及编程技巧。
2. 掌握逻辑运算程序的设计方法。
3. 掌握求最小数和最大数程序的设计方法。
4.掌握多字节无符号十进制数加、减法程序的设计。
实验内容:
1.逻辑运算:
根据下列逻辑运算式,编写程序计算运算结果。
Y=A⊕B?C ? D+A
设: A=63H,B=82H,C=C5H,D=36H。
2.求最小数和最大数:
10个无符号数连续存放在以20H为起始地址的RAM中,找出其中的最小值存入30H单元中,找出其中的最大值存入31H单元中。
3.十进制加、减运算:
286729+652430-752196=?
在8051片内RAM的20H~22H中放入3字节被加数(低位在先)、23H~25H放入加数(低位在先)、26H~28H放入减数,结果存入2DH~2FH单元(低位在先)。
实验器材:
1. Micetek仿真器一台
2. 实验板一块
实验结果:
1.逻辑运算:
实验名称:_______________________________姓名:袁僮科 学号:3140101237
ORG 0000H
0000 7463 MAIN:MOV A,#63H ;将A值给累加器A
0002 4436 ORL A,#36H ;A与D逻辑或,即A+D存入累加器A
0004 F4 CPL A ;求
0005 F8 MOV R0,A ;将存入R0
0006 E4 CLR A ;累加器清零
0007 7482 MOV A,#82H ;将B值给累加器A
0009 7FC5 MOV R7,#0C5H ;将C值给R7
000B 5F ANL A,R7 ;B与C逻辑与,结果存入累加器A
000C F4 CPL A ;求反,即
000D 6463 XRL A,#63H ;,结果存入累加器A
000F F4 CPL A ;取反
0010 58 ANL A,R0 ;
END 0000H
流程图:
执行结果如图,累加器A内存放结果为80H实验名称:_______________________________姓名:袁僮科 学号:3140101237
2.求最小数和最大数:
ORG 0000H
0000 0180 AJMP MAIN
ORG 0080H
0080 7820 MAIN:MOV R0,#20H ;设数的存放首地址
0082 E6 MOV A,@R0 ;将首地址中的数送累加器A
0083 7F09 MOV R7,#09H ;设存放数的个数为10
0085 FA MOV R2,A ;设第一个数为最小数存入R2
0086 FB MOV R3,A ;设第一个数为最大数存入R3
0087 08 LOOP:INC R0 ;地址加一
0088 118E ACALL COMP ;调用子程序
008A DFFB DJNZ R7,LOOP ;判断是否已将10个数比较完
00
显示全部