Я работал над этим кодом для задания, похоже, не могу получить правильный результат. Кто-нибудь может мне помочь?
ПРИМЕЧАНИЕ: программа скомпилирована в MASM.
- Мне разрешено использовать только команды архитектуры reg-mem и reg-reg.
- Используйте только инструкции MOV, ADD, DEC, JMP или Jcc.
- Используйте только четыре основных регистра, т. Е. EAX, EBX, ECX и EDX , а также регистр ESI и их подрегистры для арифметических / логических операций.
- За исключением строковых переменных памяти, никакие другие переменные памяти не допускаются.
Ниже приведен код:
INCLUDE Irvine32.inc
.data
string1 byte "Enter number to generate Fibonacci series: ",0
string2 byte "Fibonacci is ",0
.code
main PROC
call DumpRegs;
mov edx,offset string1;
call writestring;
call ReadInt;
mov ecx,eax;
mov eax,1;
call DumpRegs;
dec ecx;
mov esi,eax;
JMP Jumpzero;
mov edx, offset string2;
call writeint ; Display the contents of eax register on the output device
Jumpzero:
add eax,esi;
call DumpRegs;
inc esi;
dec ecx
jnz Jumpzero
exit
MAIN ENDP
END main
dec cx
jnz Jumpzero
вы не используетеloop Jumpzero
? - person Powerslave   schedule 14.04.2013