• 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

  • 相关阅读:
    mysqldump 逻辑备份和物理备份
    mysql备份
    MySQL日志
    mysql 查询缓存
    Error: xz compression not available的解决办法
    rsync + crontab + expect 快速搭建同步
    同步文件,不需要密码
    logstash 值得收藏的
    MySQL5.7主从,单slave多master
    微信代扣签名
  • 原文地址:https://www.cnblogs.com/1996313xjf/p/5866959.html
Copyright © 2020-2023  润新知