.

Colorforth Assembler

.

Macro words Code Mnemonics Code

.

f@ 8504dd 3, 0 , [drop] ; fld double dword ptr [eax*4] DD 04 85 0 0 0 0

.

f! 851CDD 3, 0 , [drop] ; fstp double dword ptr [eax*4] DD 1C 85 0 0 0 0

.

d2f 852CDF 3, 0 , [drop] ; fild qword dword ptr [eax*4] DF 2C 85 0 0 0 0

.

.

f+ C1DE 2, ; faddp ST(1) DE C1

.

f/ F9DE 2, ; fdivp ST(1) DE F9

.

f* C9DE 2, ; fmulp ST(1) DE C9

.

Float registers

.

st(0) st(1) st(2) st(3) st(4) st(5) st(6)

.

zinit 05DD 2, DD05

.

[cyi 4 *] fld [ cyi ] y2y1x2x1 zi=cyi

.

05DD 2, DD05

.

[cxr 4 *] fld [ cxr ] y2y1x2x1 zr=cxr zi

.

.

zr zi

.

mag4? C1D9 2, fld st(1) D9C1 zi zr zi

.

CAD8 2, fmul st(2) D8CA zi² zr zi

.

C1D9 2, fld st(1) D9C1 zr zi² zr zi

.

CAD8 2, fmul st(2) D8CA zr² zi² zr zi

.

C0D9 2, fld st(0) D9C0 zr² zr² zi² zr zi

.

C2D8 2, fadd st(2) D8C2 zi²+zr²=mag zr² zi² zr zi

.

05DD 2, DD05

.

[ fl4 4 * ] , fld [ fl4 ] y2y1x2x1 4 mag zr² zi² zr zi

.

C9D9 2, fxch st(1) D9C9 mag 4 zr² zi² zr zi

.

D9DE 2, fcompp DED9 zr² zi² zr zi

.

E0DF 2, fnstsw ax DFE0 zr² zi² zr zi

.

45E480 3, and ah 45h (set flags) 80E445 zr² zi² zr zi

.

;

.

.

zr² zi² zr zi

.

mag4- E9DE 2, fsubp st(1) DEE9 zr²-zi² zr zi

.

05DD 2, DD05

.

[ zr 4 * ] , fld [ zr ] y2y1x2x1 oldzr zr²-zi² zr zi

.

C1DE 2, faddp st(1) DEC1 oldzr+(zr²-zi²) zr zi

.

C9D9 2, fxch st(1) D9C9 zr nzr zi

.

CAD8 2, fmul st(2) D8CA zi*zr nzr zi

.

05DD 2, DD05

.

[ fl2 4 * ] , fld [ fl2 ] y2y1x2x1 2 zi*zr nzr zi

.

C9DE 2, fmulp st(1) DEC9 2*zi*zr nzr zi

.

05DD 2, DD05

.

[ zi 4 * ] , fld [ zi ] y2y1x2x1 oldzi 2*zi*zr zi

.

C1DE 2, faddp st(1) DEC1 nzi nzr zi

.

C2DD 2, ffree st(2) DDC2 nzi nzr

.

;

.

.

zr² zi² zr zi

.

mag4+ C0DD 2, ffree st(0) DDC0 - zi² zr zi

.

F7D9 2, fincstp D9F7 zi² zr zi

.

C0DD 2, ffree st(0) DDC0 - zr zi

.

F7D9 2, fincstp D9F7 zr zi

.

C0DD 2, ffree st(0) DDC0 - zi

.

F7D9 2, fincstp D9F7 zi

.

C0DD 2, ffree st(0) DDC0 -

.

F7D9 2, fincstp D9F7

.

;

.

.

nzi nzr

.

fs2- C0DD 2, ffree st(0) DDC0 - nzr

.

F7D9 2, fincstp D9F7 nzr

.

C0DD 2, ffree st(0) DDC0 -

.

F7D9 2, fincstp D9F7

.

;

.