编程:计算1~100的累加和,结果存放在内部RAM的30H、31H中,低位字节在前。
悬赏分:100 - 解决时间:2009-11-29 20:22
--------------------------------------
最佳答案:
;下列程序,经过仿真调试,结果是:(30H)=BAH, (31H)=13H
;程序如下:
MOV 30H, #0
MOV 31H, #0
MOV DPTR, #1
MOV R2, #10
LOOP1:
MOV R3, #10
LOOP2:
MOV A, 30H
ADD A, DPL
MOV 30H, A
MOV A, 31H
ADDC A, DPH
MOV 31H, A
INC DPTR
DJNZ R3, LOOP2
DJNZ R2, LOOP1
RET
;完
------------
回答者: 做而论道 - 十一级 2009-11-29 20:05
------------
提问者对于答案的评价: O(∩_∩)O 谢谢~真的
===========================================
#include<reg52.h>
void main()
{
int sum = 0;
char i;
char *s1 = 0x30, *s2 = 0x31; //s1 = 0x30, s2 = 31
//;指针指向RAM中地址
for(i = 0; i <= 100; i++) sum += i;
*s1 = sum % 256; //30H赋值低位
*s2 = sum / 256; //31H赋值高位
while(1);
}
回答者: liubinkaixin - 四级 2009-11-29 20:11
===========================================
原文网址:http://zhidao.baidu.com/question/127416286.html
求1到100的累加和,51单片机,keil软件
最新推荐文章于 2023-11-19 11:11:42 发布