Intel汇编写的斐波那契数

来源:互联网 发布:广电宽带是什么网络 编辑:程序博客网 时间:2024/05/21 15:49
includelib kernel32.lib  includelib user32.lib  includelib Irvine32.lib .386.model flat,stdcall.stack 4096ExitProcess PROTO, dwExitCode:DWORD DumpRegs PROTO.datafirst DWORD 1;初始化第一个数为1twoDWORD 1;初始化第二个数为1dest  DWORD 12 dup (0);输出前12个斐波那契数.codemain PROC mov edx, offset dest; edx是 dest 的偏移地址    mov esi, 0;; esi 用来做 dest 的索引 mov ecx, 10;  ; 循环10次,因为前两个已经给出来啦  mov eax, first;; eax 存放结果; mov DWORD ptr [edx], eax;  mov eax, two; mov DWORD ptr [edx+4], eax;  start: push ecx;  mov ecx, DWORD ptr [edx + esi * 4];  inc esi; mov eax, DWORD ptr [edx + esi * 4];  add eax, ecx;  inc esi; mov DWORD ptr [edx + esi * 4], eax; call DumpRegs; dec esi;  pop ecx; loop start;      INVOKE ExitProcess, 0main ENDPEND main