zoukankan      html  css  js  c++  java
  • 有关汇编的文章与代码

    ;浮点型指令编程--计算平方和的平方根程序
    ;find the square root of the sum of the squares of two floating point numbers
    ;Author:lionel.shen
    ;Date:revised 10/2009

    .386
    .MODEL FLAT
    ExitProcess PROTO NEAR32 stdcall,dwExitCode:DWORD

    .STACK 4096

    .DATA
    value1 REAL4  0.5
    value2 REAL4  1.2
    sqrt   REAL4  ?

    .CODE
    _start:
      finit            ;initialize floating point unit
      fld      value1  ;value1 in ST    实现从存储器复制value1值给ST
      fld      st      ;value1 in ST and ST(1)  把value从ST复制给ST,并把第一个堆栈的值下移到ST(1)
      fmul             ;value1*value1 in ST  在ST中计算value1*value1的值,同时ST(1)的值“清空“
      fld      value2  ;value1 in ST(value1*value1 in ST(1))
      fld      st      ;value2 in ST and ST(1)
      fmul             ;value2*value2 in ST
      fadd             ;sum of squares in ST
      fsqrt            ;square root of sum of squares in ST
      fstp     sqrt    ;store result,clearing stack
      
      
      INVOKE ExitProcess,0
      
    PUBLIC _start
    END


    //个人所添注释
    finit指令确保FPU寄存器的内容能被清空

  • 相关阅读:
    Oracle数据库面试题【转载】
    年龄计算周岁
    丈夫的权力与妻子的职业水平
    JDK 8 and JRE 8 Supported Locales
    一笔画 奇点 偶点
    流水行船问题
    PL/SQL LOOP SAMPLE
    OpenCV——识别各省份地图轮廓
    OpenCV——轮廓面积及长度计算
    树莓派3安装opencv2程序无法运行
  • 原文地址:https://www.cnblogs.com/wolflion/p/2539168.html
Copyright © 2011-2022 走看看