Hi all,
I have added a new directive DQ to CMM just like masm.
here is an text
=========
/*************************************
* New Sphinx Cmm *
* *
* asm dq test *
* *
* be Emil Halim *
* *
*************************************/
#pragma option w32c //create Windows console EXE.
#pragma option OS //speed optimization
#pragma option dbg
#pragma option lst
#pragma option upx-
#includelib win32.lib MSVCRT.lib ole32.lib
#includepath "$\winlib"
#include <windows.h>
#include <MSVCRT.H-->
#pragma option ia
dq100 : dq 100
dq0 : dq 0
//dq1 : dq ? // to be done ....
dqptr : dq # dq100
//dqptr1 : dq offset dq100 // to be done ....
dqarr : dq 1,2,3,4,5
dqarr1 : dq 5 dup 10
dqdble : dq 5.10
dqdblearr : dq 1.0,2.0,3.0
dqdblearr1 : dq 5 dup 100.0
main()
{
unsigned long long pam, sam, tsc;
printf("dq100 = %I64d\n",DSQWORD [ # dq100 ]);
printf("dq10 = %I64d\n",DSQWORD [ # dq0 ]);
printf("dqptr = %I64d\n",DSQWORD [ DSDWORD [# dqptr] ]);
printf("dqarr[0] = %I64d\n",DSQWORD [ # dqarr + 0 ]);
printf("dqarr[1] = %I64d\n",DSQWORD [ # dqarr + 8 ]);
printf("dqarr[2] = %I64d\n",DSQWORD [ # dqarr + 16 ]);
printf("dqarr[4] = %I64d\n",DSQWORD [ # dqarr + 32 ]);
printf("dqarr1[1] = %I64d\n",DSQWORD [ # dqarr1 + 8 ]);
printf("dqdble = %f\n",DSDOUBLE [ # dqdble ]);
printf("dqdblearr[0] = %f\n",DSDOUBLE [ # dqdblearr + 0 ]);
printf("dqdblearr[1] = %f\n",DSDOUBLE [ # dqdblearr + 8 ]);
printf("dqdblearr[2] = %f\n",DSDOUBLE [ # dqdblearr + 16 ]);
printf("dqdblearr[2] = %f\n",DSDOUBLE [ # dqdblearr1 + 16 ]);
system("pause");
}
the new version is 254 c , download it form my web site.
Enjoy coding with NewSphinxCmm.