Таким образом, мое задание состояло в том, чтобы пользователь вводил ряд условий фибоначчи для печати, и программа распечатывала их по порядку. Однако он также требует, чтобы была новая строка после печати пяти условий. Другое требование состоит в том, что команда masm «loop» должна использоваться в цикле, который вычисляет числа фибоначчи. Как бы реализовать это без бесконечного цикла? Это то, что у меня есть сейчас. Он рассчитывает фибо штраф, но не тогда, когда я пытаюсь добавить новую строку:Как сделать сборку программы вызовом новой строки после 5 выходов fibonacci
.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