0条评论
Sum 1 to 100
HB EQU 30H
LB EQU 31H
LP EQU 32H
ORG 0
JMP main
ORG 30H
main: MOV A,#60H
MOV SP,A
CLR A
MOV HB,A
INC A
MOV LB,A
MOV LP,#2
loop: MOV R7,HB
MOV R6,LB
MOV R5,#0
MOV R4,LP
CALL add16
MOV HB,R7
MOV LB,R6
INC LP
MOV R0,LP
CJNE R0,#101,loop
JMP $
ORG 0060H
add16:
CLR C
MOV A,R4
ADD A,R6
MOV R6,A
MOV A,R5
ADDC A,R7
MOV R7,A
RET
END main
① 建立目标,选择Atmel>AT89C52设备
#include
#include
#define OSC11059200
#define BAUD9600
int main(void)
{
int i, result = 0;
SCON = 0x50;
TMOD = 0x20;
TH1 = TL1 = 256 - (OSC / 12 / 16 / BAUD);
TR1 = 1;
TI = 1;
for (i = 1; i <= 100; i++)
{
result += i;
}
printf("%d
", result);
while (1);
}
① 建立目标,选择Atmel>AT89S51设备