and ax,4500h
finit
.if ax == 0 ;iResult>0,也就是显示的数字是一个正数
mov iDisplay[0],'-'
mov iDisplay[1],0
invoke SetDlgItemText,hWnd,IDE,addr iNull
invoke lstrcat ,addr iDisplay,addr iStore
invoke SetDlgItemText,hWnd,IDE,addr iDisplay
.elseif ax ==100h ;iResult<0,也就是显示的数字是一个负数
mov iStore[0],'+'
invoke StrToFloat,addr iStore,addr iResult ;将对应的正数转化成字符串即可
invoke FloatToStr,iResult,addr iDisplay
invoke SetDlgItemText,hWnd,IDE,addr iDisplay
.endif
.endif
.if wParam == IDB_Equ
.if iEqual == 1 ;处理连续的等号运算,就是将当前的结果置为第一个数
invoke GetDlgItemText,hWnd,IDE,addr iStore,20+1
invoke StrToFloat,addr iStore,addr iNumber1
.else
mov iEqual,1
;得到第二个运算数
invoke GetDlgItemText,hWnd,IDE,addr iStore,20+1
invoke StrToFloat,addr iStore,addr iNumber2
.endif
.if iCal ==1
finit
fld iNumber2 ;第二个数为ST(1)
论文网http://www.751com.cn/fld iNumber1 ;第一个数为ST(0)
fadd ST(0),ST(1)
fst iResult ;ST(0)即为结果存放到iResult中
finit
invoke FloatToStr,iResult,addr iDisplay
invoke SetDlgItemText,hWnd,IDE,addr iDisplay
<< 上一页 [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] 下一页