1.直接计算出来
mov al,1
mov bl,0
mov cx,10
lop:
add bl,al
inc al
loop lop
2.把数据放进内存中再算
Dataseg segment
num db 1,2,3,4,5,6,7,8,9,10
Dataseg ends
3.用(1+10)*5
4.用jmp指令之类的
感觉那些方法都是差不多的,悲剧
51单片机的程序如下;
PING_FANG:
MOV R6, #0 ;乘积先清零.
MOV R7, #0
MOV R2, #1 ;从1开始.
LOOP:
MOV A, R2
MOV B, R2
MUL AB ;平方.
ADD A, R7 ;加入到R6 R7中.
MOV R7, A
MOV A, R6
ADDC A, #0
MOV R6, A
INC R2 ;下一个数字.
CJNE R2, #11, LOOP
RET
;完,1的平方加到10的平方,总和放在了R6R7中,R6是高字节。
MOV R0, #1 0 ;从10开始.
CLR A
LOOP:
ADD A, R0
DJNZ R0,LOOP
这是最简单的一种
你是米博把
不知道老师说的多种方法是不是指多种循环体的应用?比如 Do …… While Loop、Do …… Loop Until、For …… Next 等等。
以 For …… Next 为例:
For Num = 1 To 10
Sum = Sum + Num
Next