keilC51编译环境的使用
2015-12-22 13:16
169 查看
一、 实验内容
将-8到7的16个数放入30H开始的RAM区,其中正数、负数分别送40H和50H开始的存储单元,正数、负数和零的个数分别送到单元60H,61H,62H。
(-8作为内容送入30H中,30H作为内容,送入寄存器A中;A的内容自增1变为31H,同时31H中的内容自减1变为-7。可见P35加1减1指令。)
二、 实验目的
掌握proteus和软件环境——keilC的联机调试过程
三、 实验设备
DELL台式机 + proteus版本6 + keilC51版本7
四、 实验电路图(可打印)
五、 程序流程图
六、 程序源码(可打印)
ORG 0000H
MOV R1,#30H
MOV R2,#16
MOV R3,#40H
MOV R4,#50H
MOV A,#-8 //8个数
MOV 60H,#0
MOV 61H,#0
MOV 62H,#0
NEXT:
MOV @R1,A //A->以R1的内容为地址的内部RAM
JNB ACC.7,ZNUMBER //判断负数
MOV B,R4
MOV R0,B//通过R0寄存器存入50H单元开始的RAM区
INC R4
INC 61H //负数个数加一
JB ACC.7,LAST
ZNUMBER:
ADDC A,#0FFH
MOV A,@R1
JC ZHENGSHU //判断正数
INC 62H //0个数加一
JNC OVER
ZHENGSHU:
MOV B,R3
MOV R0,B
INC R3
INC 60H //整数个数加一
LAST:
MOV @R0,A //将A存入RAM区
OVER:
INC R1
INC A
DJNZ R2,NEXT //判断循环是否结束
SJMP $
END
将-8到7的16个数放入30H开始的RAM区,其中正数、负数分别送40H和50H开始的存储单元,正数、负数和零的个数分别送到单元60H,61H,62H。
(-8作为内容送入30H中,30H作为内容,送入寄存器A中;A的内容自增1变为31H,同时31H中的内容自减1变为-7。可见P35加1减1指令。)
二、 实验目的
掌握proteus和软件环境——keilC的联机调试过程
三、 实验设备
DELL台式机 + proteus版本6 + keilC51版本7
四、 实验电路图(可打印)
五、 程序流程图
六、 程序源码(可打印)
ORG 0000H
MOV R1,#30H
MOV R2,#16
MOV R3,#40H
MOV R4,#50H
MOV A,#-8 //8个数
MOV 60H,#0
MOV 61H,#0
MOV 62H,#0
NEXT:
MOV @R1,A //A->以R1的内容为地址的内部RAM
JNB ACC.7,ZNUMBER //判断负数
MOV B,R4
MOV R0,B//通过R0寄存器存入50H单元开始的RAM区
INC R4
INC 61H //负数个数加一
JB ACC.7,LAST
ZNUMBER:
ADDC A,#0FFH
MOV A,@R1
JC ZHENGSHU //判断正数
INC 62H //0个数加一
JNC OVER
ZHENGSHU:
MOV B,R3
MOV R0,B
INC R3
INC 60H //整数个数加一
LAST:
MOV @R0,A //将A存入RAM区
OVER:
INC R1
INC A
DJNZ R2,NEXT //判断循环是否结束
SJMP $
END
相关文章推荐
- Objective-C_语言_延展
- 关于iOS中的type encodings 和method encodings
- js模板引擎
- 数据结构录 之 单调队列&单调栈。
- 架构师不可不知的十大可扩展架构
- 架构师不可不知的十大可扩展架构
- 架构师不可不知的十大可扩展架构
- 架构师不可不知的十大可扩展架构
- oracle 查看锁死的表,锁死的进程
- C++命名规则 (转载仅作参考)
- 通讯录的获取
- 蓝桥杯-带分数(枚举)
- EditText支持多行同时支持imeOptions设置
- 【数据结构】计数排序
- proteus的使用和编译环境
- busybox下mount nfs的命令
- android—— eclipse打包apk
- HTMl5的sessionStorage和localStorage
- ASP.NET中生成并导出Excel
- Jsoup-解析Html文档