c汇编语言实验,实验一 汇编语言的应用及Keil C编译环境

实验一汇编语言的应用及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)=

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值