我一直在为分配工作编写此代码,似乎无法正确输出。谁能帮帮我?
注意:程序在 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