【发布时间】:2020-02-23 00:30:46
【问题描述】:
我试图从 500 到 504 的内存中找到 5 个 EVEN 的总和。我无法获得所需的结果。你能帮我找出我的逻辑错误吗?
我正在尝试使用 8086 汇编语言来做到这一点
mov [500],4
mov [501],30
mov [502],15
mov [503],7
mov [504],98
mov bl,00
mov si,500
mov cx,5
l1:
mov dl,[si]
test dl,01
jnz next
; if even
add dl,bl
inc si
loop l1
jmp exit
; if odd
next:
inc si
jmp l1
exit:
mov ah,4ch
int 21h
ret
【问题讨论】:
-
add dl,bl被反转。如果您想在bl中累积总和,则应为add bl, dl。next部分也不会减少cx。你也想要一个loop。您也可以共享该代码。 PS:学习使用你的模拟器单步执行代码。 -
@Jester 我无法控制两个标签的计数器值。请帮帮我:(