1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
|
DOSSEG
.386
.MODEL SMALL
.STACK 1024
.DATA
cwr DW ? ; zur Aufnahme des CW-Registers der FPU
.CODE
Berechnung PROC
PUSH bp
MOV bp,sp
PUSH ECX
PUSH EDI
PUSH ESI
XOR EAX,EAX
XOR EBX,EBX
MOV EAX,2
MOV EBX,1
FILD temp ;2 laden
MOV CX, 10000 ; Schleifenzählregister laden
RegRechnung:
MOV temp,EAX
FILD temp
FMUL
MOV temp, EBX
FILD temp
FDIV
ADD EBX,2
MOV temp,EAX
FILD temp
FMUL
MOV temp, EBX
FILD temp
FDIV
ADD EAX,2
LOOP RegRechnung
MOV EAX,1000000000
MOV factor, EAX
FILD factor
FMUL
FILD factor
FMUL
FISTP qword ptr Rueck
MOV EDX, Rueckhigh
MOV EAX, Ruecklow
POP ESI
POP EDI
POP ECX
MOV SP, BP
POP BP
RET
temp DD 2
factor DD 0
Rueck DQ 0
Ruecklow DD dword ptr[Rueck -4]
Rueckhigh DD dword ptr[Rueck]
Berechnung ENDP
;gibt eine 64-Bit-Zahl im Dezimalsystem aus
;Parameter: EDX:EAX = auszugebende Zahl
;Ausgabe : keine
dezimalausgabe64 PROC |