实验一汇编语言的应用及Keil C编译环境
一、实验目的
熟悉51指令系统,掌握程序设计方法。
二、实验内容
1、通过执行程序中的相关指令,将有关数据写入工作寄存器区、位寻址区、数据缓冲区和特殊功能寄存器区各存储单元
2、编写并调试一个排序子程序,其功能为用冒泡法将内存RAM中几个单字节无符号的正整数,按从小到大的次序重新排列。
三、实验步骤及参考程序:
1、编写程序,将有关数据写入工作寄存器区、位寻址区、数据缓冲区和特殊功能寄存器区各存储单元,并参考预备知识中有关内容对程序的执行结果进行检查。
参考程序A:工作寄存器区的数据传送
地址机器码源程序注释检查数据
ORG 0000H ;表示程序从地址0000H存放
0000H 78 11 MOV R0,#11H ;将立即数11H送到寄存器R0中( H)=11H 0002H 79 22 MOV R1,#22H ;将立即数22H送到寄存器R1中( H)=22H 0004H 7A 33 MOV R2,#33H ;将立即数33H送到寄存器R2中( H)=33H 0006H 7B 44 MOV R3,#44H ;将立即数44H送到寄存器R3中( H)=44H
0008H
75 D0
10
MOV PSW,#10H ;使工作寄存器工作于2区( H)=10H
000BH 78 55 MOV R0,#55H ;将立即数55H送到寄存器R0中( H)=55H 000DH 79 66 MOV R1,#66H ;将立即数66H送到寄存器R1中( H)=66H 000FH 7A 77 MOV R2,#77H ;将立即数77H送到寄存器R2中( H)=77H 0011H 7B 88 MOV R3,#88H ;将立即数88H送到寄存器R3中( H)=88H
END ;程序结束
参考程序B:位寻址区的数据传送
地址机器码源程序注释检查数据
ORG 0100H ;表示程序从地址0100H存放
0100H 75 20
F0 MOV 20H,#0F0H ;将字节地址20H单元中的内容置
F0H
(20H)=
0103H D2 00 SETB 00H ;将位地址00H单元中的内容置1 ( H)=1 0105H D2 01 SETB 01H ;将位地址01H单元中的内容置1 ( H)=1 0107H D2 02 SETB 02H ;将位地址02H单元中的内容置1 ( H)=1 0109H D2 03 SETB 03H ;将位地址03H单元中的内容置1 ( H)=1 010BH C2 04 CLR 04H ;将位地址04H单元中的内容置0 ( H)=0 010DH C2 05 CLR 05H ;将位地址05H单元中的内容置0 ( H)=0 010FH C2 06 CLR 06H ;将位地址06H单元中的内容置0 ( H)=0 0111H C2 07 CLR 07H ;将位地址07H单元中的内容置0 ( H)=0
(20H)= 0113H 75 90 FF MOV P1,#0FFH ;将字节地址90H单元中的内容置FFH (90H)= 0116H C2 90 CLR 90H ;将P1.0置0 ( H)=0 0118H D2 90 SETB 90H ;将P1.0置1 ( H)=1 011AH C2 91 CLR 91H ;将P1.1置0 ( H)=0 011CH D2 91 SETB 91H ;将P1.1置1 ( H)=1
END ;程序结束
参考程序C:数据缓冲区和特殊功能寄存器区的数据传送
地址机器码源程序注释检查数据
ORG 0200H ;表示程序从地址0200H存放
0200H 75 30 99 MOV 30H,#99H ;将立即数99H送到30H中(30H)=
(PC)=
0203H75 45 AA MOV 45H,#0AAH ;将立即数AAH送到45H中(45H)=