zoukankan      html  css  js  c++  java
  • win32汇编实现阶乘和斐波那契数列

    win32阶乘程序

    .486 ;使用486处理器
    .model flat,stdcall
    include masm32includemsvcrt.inc
    includelib masm32libmsvcrt.lib


    .data
    result0 dd 1;存储最终结果
    inputdata dd ?;输入的阶乘的最大值
    type0 db '%d',0
    data4 db '请输入阶乘最大值ddddd: ',0

    data1 db '请输入阶乘最大值: ',0
    data2 db '阶乘结果为: ',0
    .code
    start:
    invoke crt_printf,addr data1;打印字符串
    invoke crt_scanf,addr type0,addr inputdata;type0表示输入的格式,inputdata表示输入的值存在哪里
    mov eax,result0
    mov ecx,2d
    push eax

    @@:;win32里面跳转的东西,目前不懂是什么,但是应该和@B联系,如果往下跳转应该是@F
    pop eax
    ;mov eax,result0
    mul cx
    ;mov result0,eax;其实两种方法都可以
    inc ecx
    push eax
    cmp ecx,inputdata
    jle @B

    pop eax
    mov result0,eax
    invoke crt_printf,addr data2
    invoke crt_printf,addr type0,result0
    ret
    ;invoke crt__exit, 0 ;使用这个语句会使得exe立马退出
    end start

     win32汇编的斐波那契数列


    .486
    .model flat,stdcall
    include masm32includemsvcrt.inc
    includelib masm32libmsvcrt.lib;使用宏库


    .data
    result0 dd 0;存储最终结果的倒数第一个
    result1 dd 1;存储最终结果的倒数第二个
    inputdata dd ?;输入的斐波那契数列的个数
    type0 db '%d',0
    ;data4 db '请输入阶乘最大值ddddd: ',0

    data1 db '请输入斐波那契数列个数: ',0
    data2 db '结果为: ',0
    data3 db ' ',0

    .code
    start:
    invoke crt_printf,addr data1
    invoke crt_scanf,addr type0,addr inputdata
    invoke crt_printf,addr data2
    invoke crt_printf,addr type0,result0
    invoke crt_printf,addr data3
    invoke crt_printf,addr type0,result1


    mov ecx,1d

    @@:
    mov eax,result0
    mov ebx,result1
    mov result0,ebx
    add ebx,eax
    mov result1,ebx


    invoke crt_printf,addr data3
    invoke crt_printf,addr type0,result1

    inc ecx

    cmp ecx,inputdata
    jle @B


    ret
    ;invoke crt__exit, 0
    end start

  • 相关阅读:
    创建HttpFilter与理解多个Filter代码的执行顺序
    Filter
    JSTL
    EL
    JavaBean
    HttpSession之表单的重复提交 & 验证码
    相对路径和绝对路径
    HttpSession之简易购物车
    HttpSession
    Cookie
  • 原文地址:https://www.cnblogs.com/1996313xjf/p/5866959.html
Copyright © 2011-2022 走看看