(单片机原理与应用)keilC51编译环境的使用(C版和汇编版)
来源:互联网 发布:windows ssh客户端 编辑:程序博客网 时间:2024/06/05 02:54
一、实验内容
将-8到7的16个数放入30H开始的RAM区,其中正数、负数分别送40H和50H开始的存储单元,正数、负数和零的个数分别送到单元60H,61H,62H。
二、实验目的
掌握proteus和软件环境——keilC的联机调试过程
三、实验设备
DELL台式机
keilC51版本7
四、实验电路图
略
五、程序流程图
汇编版:R1=30h//存放地址;R2=16//循环次数;R3=40h//正数存放地址
R4=50h//负数存放地址;A=-8//存放的数据
C版:a=-8;i=16;*p3=0//正数个数;*p4=0//负数个数;*p5=0//0个数;
指针:p0=0x30;p1=0x40;p2=0x50;p3=0x60;p4=0x61;p5=0x62
六、程序源码
汇编版:
org 0000hmov R1,#30hmov R2,#16//循环次数mov R3,#40hmov R4,#50hmov A,#-8//数mov 60h,#0mov 61h,#0mov 62h,#0next:mov @R1,Ajnb acc.7,znumber//判断是否为负数mov B,R4mov R0,B//通过R0寄存器存入50h单元开始的RAM区inc R4inc 61h//负数个数+1jb acc.7,lastznumber://正数和0addc A,#0ffhmov A,@R1jc positive_number//判断是否是正数inc 62h//0的个数+1jnc overpositive_number:mov B,R3mov R0,B//通过R0寄存器存入40h单元开始的RAM区inc R3inc 60h//正数的个数+1last:mov @R0,A//将A存入RAM区over:inc R1inc Adjnz R2,next//判断循环是否结束sjmp $end
C版:
#include<reg51.h>void main(){int i;//循环次数char a=-8;char data *p0=0x30;char data *p1=0x40;char data *p2=0x50;char data *p3=0x60;char data *p4=0x61;char data *p5=0x62;*p3=0;*p4=0;*p5=0;for(i=0;i<16;i++){*p0=a;if(a>0){*p1=a;p1++;(*p3)++;}else if(a<0){*p2=a;p2++;(*p4)++;}else (*p5)++;a++;p0++;}}
0 0
- (单片机原理与应用)keilC51编译环境的使用(C版和汇编版)
- (单片机原理与应用)proteus(嵌入式系统设计仿真与开发平台)的使用和编译环境(汇编版)
- (单片机原理与应用)计算器的设计和实现(综合)
- [编译环境][gcc]16位程序中汇编代码与C语言代码的混合编译
- 单片机C语言应用100例的错误和不足(第二版)王东峰
- 51单片机定时器的原理与使用(二)
- PIC单片机开发中PICC编译环境的应用
- 51单片机定时器的原理与使用
- KEIL C51环境下,汇编与C语言交叉编译的问题
- 汇编之于C的理解和优化(单片机篇)
- Linux 环境下C编程指南-----gcc 编译的四大过程(预处理-编译-汇编-链接 )
- APUE [Linux C 编程开发环境(工具链,编译,汇编,链接,库)基础知识与实践]
- NEC单片机C编译中SREG的应用
- {单片机}之 单片机中C和汇编混合编程
- c/c++中extern关键字的编译原理和使用
- STM32单片机的BOOT0和BOOT1应用原理
- STM32单片机的BOOT0和BOOT1应用原理
- J.U.C--ThreadLocal的应用与使用原理
- Java的HashMap与LinkedHashMap异同
- (单片机原理与应用)proteus(嵌入式系统设计仿真与开发平台)的使用和编译环境(汇编版)
- 国内svn云服务地址汇总
- 1061. Dating
- 第一个swift程序
- (单片机原理与应用)keilC51编译环境的使用(C版和汇编版)
- Android源码分析--system_server进程分析
- NS2 学习笔记—— AODV协议
- iOS 设置控件全局显示样式appearance proxy
- opengl矩阵堆栈的常识
- Linux学习笔记(7)
- shrink_to_fit() demo
- 第二章 Big O notation
- 基于zookeeper、连接池、Failover/LoadBalance等改造Thrift 服务化