您的位置:首页 > 其它

keilC51编译环境的使用

2015-12-22 13:16 169 查看
一、 实验内容

-8716个数放入30H开始的RAM区,其中正数、负数分别送40H50H开始的存储单元,正数、负数和零的个数分别送到单元60H61H62H

(-8作为内容送入30H中,30H作为内容,送入寄存器A中;A的内容自增1变为31H,同时31H中的内容自减1变为-7。可见P3511指令。)

二、 实验目的

掌握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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: