我是在大学学习汇编语言编程的起点,我有一个小项目要做:计算三角形的面积,将两边作为键盘的输入。大部分项目已经完成,但我需要使用数学协处理器进行计算,而且我没有从我写的内容中获得任何结果。这是我对数学协处理器的第一次尝试,也许我是菜鸟,但我没有看到内部发生任何事情。
以下是代码:
DATA SEGMENT PARA PUBLIC 'DATA'
SIDEONE DQ 3
SIDETWO DQ 4
SIDETHREE DQ 5
HALFPERIMETER DQ ?
RESULT DQ ?
DATA ENDS
CODE SEGMENT PARA PUBLIC 'CODE'
ASSUME CS:CODE, DS:DATA
COMPUTATION PROC FAR
PUSH DS
XOR AX,AX
PUSH AX
MOV AX,DATA
MOV DS,AX
FINIT
FILD SIDEONE
FILD SIDETWO
FILD SIDETHREE
FADD ST3,ST0
FADD ST2,ST0
FADD ST1,ST0
FSTP HALFPERIMETER
FWAIT
FINIT
FILD HALFPERIMETER
FILD SIDEONE
FILD SIDETWO
FILD SIDETHREE
FSUB ST3,ST0
FILD HALFPERIMETER
FSUB ST2,ST0
FILD HALFPERIMETER
FSUB ST1,ST0
FILD HALFPERIMETER
FMULP ST3,ST0
FMULP ST2,ST0
FMULP ST1,ST0
FSQRT
FSTP RESULT
FWAIT
RET
COMPUTATION ENDP
CODE ENDS
END COMPUTATION
它只是一个测试单元,如果这个工作我将把程序与我的程序的其余部分连接,但首先我想看到这个工作。