汇编语言8085程序计算前20个偶数之和(8位)

时间:2013-06-21 06:41:55

标签: c assembly

汇编语言8085程序,用于计算前20个偶数(8位)的总和,并将结果存储在位置60006001。我试过但无法完成

MVI c,00H
MOV B, C
MOV D, 00H
NEXT:
INX, H

4 个答案:

答案 0 :(得分:2)

不要使用循环,因为现在使用装配的最常见原因是速度。

n偶数2, 4, 6, ...的总和等于n(n + 1)。 (或者当你从n(n + 1) - 2开始时,当然是0, 2, 4, ...。)

答案 1 :(得分:1)

首先用伪代码写出来:

    sum := 0                        ; init sum
    num := 2                        ; init first even number
    count := 20                     ; init loop counter
loop:
    sum := sum + num                ; accumulate sum
    num := num + 2                  ; next even number
    count := count - 1              ; decrement loop count
    IF count > 0 THEN GOTO loop     ; if loop count still positive then next num
    store sum -> 6000/6001          ; else we're done - store the result

从这里将伪代码转换为8085操作码应该非常简单。

答案 2 :(得分:0)

要测试汇编中的数字是偶数还是奇数,只需测试最不重要的位。因此,您只需要一个增加值的循环并重复测试该位。如果是,则将其添加到您的总和中。

sum = 0
value = 0
found = 0

loop:
    if found == 20
        goto done

    if value & 1
        sum += value
        found = found + 1

   value = value +1
   goto loop

done:
    print sum

答案 3 :(得分:0)

嗯,要获得最佳性能,请手动计算结果,然后用两条左右的指令将其存储在内存中。