0
ユーザがフィボナッチの用語をいくつか入力して、それらの順序で印刷するようにしました。しかし、それはまた、5つの用語が印刷された後に新しい行があることを要求する。もう1つの要件は、masm "loop"命令をフィボナッチ数を計算するループで使用する必要があるということです。私は無限ループなしでこれをどのように実装しますか?これは今私が持っているものです。私は新しい行を追加しようとすると、それは罰金ではなく、フィボナッチを計算します。フィボナッチの5つの出力の後にアセンブラプログラムの新しい行を呼び出す方法
.data
fib_count DWORD ?
num1 DWORD 0
num2 DWORD 1
sum DWORD 0
counter DWORD 0
spaces BYTE " ",0
.code
main PROC
;Display fibonacci
mov ecx, fib_count ;fib_count is the number of terms the user entered
;printing first 1
mov eax, 1
call WriteDec
mov edx, OFFSET spaces
call WriteString
dec ecx
print_loop:
mov eax, num1
add eax, num2
mov sum, eax
mov eax, num2
mov num1,eax
mov eax, sum
mov num2,eax
mov eax, sum
call WriteDec
inc counter
mov eax, counter
cmp eax, 5
je new_line
mov edx, OFFSET spaces
call WriteString
loop print_loop
new_line:
call crlf
loop print_loop
jmpの後の意味ですか? – Conman97
@ Conman97 - ショートジャンプは通常のジャンプよりもコードバイトが少なくてすみますが、「短い」範囲でジャンプするだけです。 – rcgldr