가 찍은 값이 원래 0이면 fibonnaci 시퀀스에 대한 코드 rosettacode.comintel 8080 :이 코드에서 뭔가 빠졌습니까? 여기
FIBNCI: MOV C, A ; C will store the counter
DCR C ; decrement, because we know f(1) already
MVI A, 1
MVI B, 0
LOOP: MOV D, A
ADD B ; A := A + B
MOV B, D
DCR C
JNZ LOOP ; jump if not zero
RET ; return from subroutine
찍은 우리는 C가 감소하고, C는 -1 되는가? 만약 그렇다면 제 2 DCR에서 그 가치는 어떻게 될 것입니다. JNZ 교육구는 무엇을 보거나합니까?
이것은 어셈블리 언어에 대한 나의 첫 접촉이므로 약간 혼란 스럽습니다. C가 이미 -1이고 JNZ 명령에 도달하면이 코드가 루프에 걸리지 않을 것이라고 생각합니다. 아니면 JNZ가 다른 곳에서 찾고 있습니까?
게시 된 코드에 'A'가 표시되지 않습니다. 원래. 'C'의 루핑에서'A'는 당신이 계산하길 원하는 피보나치 수의 숫자였던 것처럼 보입니다. –