MediaWiki API result

This is the HTML representation of the JSON format. HTML is good for debugging, but is unsuitable for application use.

Specify the format parameter to change the output format. To see the non-HTML representation of the JSON format, set format=json.

See the complete documentation, or the API help for more information.

{
    "batchcomplete": "",
    "query": {
        "pages": {
            "144": {
                "pageid": 144,
                "ns": 0,
                "title": "Syscalls",
                "revisions": [
                    {
                        "contentformat": "text/x-wiki",
                        "contentmodel": "wikitext",
                        "*": "The system call documentation can be downloaded here[http://www.casiopeia.net/forum/downloads.php?view=detail&df_id=72].\n\nTo use system calls in the official SDK, you can either use instant the system call implementation or a .src-file.\n\nThe effect of both implementations is the same, these asm lines are generated:\n mov.l   #h'80010070, r2\n mov.l   #SyscallNo, r0\n jmp     @r2\n nop\n\n=== Instant system call implementation ===\nSource [http://www.casiopeia.net/forum/viewtopic.php?f=20&t=1376]\n<pre>\n// the following definitions are only needed once\n#define SCA 0xD201D002\n#define SCB 0x422B0009\n#define SCE 0x80010070\n// now define some function pointer types\n// (for every syscall's interface a different function pointer type is required)\n// the following type is for syscalls, which return an int and require no input.\ntypedef int(*sc_iv)(void);\n// the following type is for syscalls, which return an int and require an int-pointer as input (like GetKey).\ntypedef int(*sc_ipi)(int*);\n\n// example 1\nconst unsigned int sc0998[] = { SCA, SCB, SCE, 0x0998 };\n#define App_DYNA (*(sc_iv)sc0998)\n\n// now you could use\n  App_DYNA();\n// to call the built-in DYNA.\n\n// or\n\n// example 2\nconst unsigned int sc090F[] = { SCA, SCB, SCE, 0x090F };\n#define GetKey (*(sc_ipi)sc090F)\n// to call\n  GetKey( &key );\n</pre>"
                    }
                ]
            },
            "58": {
                "pageid": 58,
                "ns": 0,
                "title": "WSC and FVM",
                "revisions": [
                    {
                        "contentformat": "text/x-wiki",
                        "contentmodel": "wikitext",
                        "*": "{{MsgBox|title=Hello !|text=New version ('''1.3''') will be released in next days, stay tunned.|TitleStyle=color:#00FF44;text-decoration:underline;}}\n<br/>\n==Getting Started==\nCopy the two files inside the bin folder (WSC.g1a, FVM.g1a) to the calculator. \nIn order to edit the source code on calc, you may need to use the [http://www.casio-scene.com/downloads.php?do=file&id=119 EDITv1.51], of course, you can also edit the source code on the computer, it is plain text.\n\nAfter the installation is complete, the main menu should be as follows:\n\n[[File:Wsc-fvm-installed.jpg]]\n\n===Making a hello world===\nOpen the EDIT, the storage Mem (Warning: Do not use the Main Mem) and create a new document.\n\n[[File:Wsc-fvm-hello-c.jpg]]\n\nEnter the text:\n<pre>void main( )\n{\n       printf( \u201cHello World!\\n\u201d );\n}</pre>\n\n(P.S. EDIT could adjust the font size\uff08shift--set up to enter the setting interface\uff09, you can see more code on a screen by using the small font, it is recommended to use the small print,the recommended settings below)\n\n[[File:Edit-settings.png]]\n\nThe input is completed as follows:\n\n[[File:Wsc-fvm-hello-c-code.jpg]]\n\nTo compile the file, exit, enter the WSC, press the F1 (compile) to compile the source code.\n\n[[File:Wsc-fvm-compile-file.jpg]]\n\nIf there are no errors, the screen will output \u201cDone\u201d, if there are some errors, you can go back to EDIT to modify. After compiling, enter FVM, press F1(run) to run the bytecode file. the screen will output \u201chello world\u201d\n\n[[File:Wsc-fvm-hello-f.jpg]][[File:Wsc-fvm-run-hello.jpg]]\n\n==WSC Support the C language features==\n===The operator===\n\n+ - * / % += -= *= /= < <= > >= == != && || ! != &\n\nnote the last \u2018&\u2019 is geting address but not bitwise and\n\n===Data type===\n\nint  char  float  mult-dimensions array  pointer(can\u2019t point to array)  string constant\n\n===Statement===\n\nif else while for return break\n\n===Notes===\n\nC style /*............*/  and C++ style //............\n\n===The function===\n\nsupports recursion, a detailed list of library functions, see [[#WSC_Functions|library section]]\n\n===Preprocessor===\n\nSimple macro replacement (with parameters) a #define, #include (not a real file contains internal use only)\n\n==WSC Error reporting==\nThe error reporting of WSC is not perfect,\n\nWSC will displayed the error message when the error is detected, as below:\n\n[[File:Wsc-error-reporting.jpg]]\n\nYou can press menu key to exit and go back to modify source code. If you press any other key, the next error message will be displayed.\n\n<font color=\"red\">Note that WSC did not prompt a warning!</font>\n\nAny pointers, arrays are the same in its eyes,\n\nAny assignment between int, char, float will not generate any errors.\n\nA function that return type is not \u2018void\u2019 don\u2019t return a value will not generate any errors.\n\n==Some differences in the WSC with the standard C==\nThere ary some differences between the WSC and the standard C.\n\n===Doesn\u2019t require the function declaration===\n\nAs long as the function is defined in the file, regardless of location, you can call anywhere.\n\n===Only two scopes===\n\nThe program has only two scopes, global scope and local scope of funcion.\n\n<pre>void main()\n{\nint a;\n{\n    int a;\n}\n}</pre>\n\nthe example program will recerve an error message \u201cVariable \u2018a\u2019 redefinition\u201d\n\n===int * a, b\uff1b===\na and b will both be a pointer.(so, it recommended that written int*  a, b; but not int  *a, b;);\n\n===int *p\uff1b p++\uff1b===\nThe actual value of p will add 4(i.e. sizeof(int) ) in the ANSI C, but WSC will only let p add 1\n\n===char s[50] = \u201casdfjkl\u201d\uff1b===\nThis initialization is not yet supported, sample sentence is wrong.\n\n===int a[2][2] = { 1, 2, 3, 4 }\uff1b===\nThis initialization is not yet supported, sample sentence is wrong.\n\nMult-idimensional array initialization must be grouped properly, such as\n\nint a[2][2] = { {1, 2}, {3, 4} };\n\nthe follow is alse correct:\n\nint a[2][2] = { {1}, {3} };\n\n==Notice & Tips==\n\n===int a[10]\uff1bprintf( \u201c%d\u201d, a )\uff1b===\nThe programmer\u2019s intent is to get the value of a. But as mentioned above, all the pointer are the same in WSC, WSC see a as a pointer to char. so some errors occur.\n\na correct way as follw:\n\nint a[10]; int t = a; printf( \u201c%d\u201d, t );\n\n===char ch\uff1bscanf( \u201c%c\u201d, &ch )\uff1b===\nFor some reasons, the statement is wrong, it is recommended to use getchar();\n\n===Enter the uppercase letters===\nPress F6 in the input interface, than you can enter the uppercase letters\n\n===FVM will automatically initialize the random number seed===\nDon\u2019t require the programmer calling srand();\n\n===Enter the uppercase letters===\n\nPress F6 in the input interface switch case\n\n===Set up multiple strong back===\n\n<pre>#progma FORCE_BREAK</pre>\n\nadd the statement above in the source code, then you can hold down F1 + F2 + F6 to force quit the running program.\n\n===Use a large font in the IO interface===\n\n<pre># progma BIG_FONT</pre>\n\nThe above statement can be added anywhere in the source code\n\n===FVM program size limit===\nFVM procedure 10kb (not source code, is the f files), if your program is outside this range, use exefvm function\n\n===FVM execution environment===\n\nThe default memory (in this case refers to a static area and stack area) 8kb, you can redefine the following statement\n\n<pre>#progma RAM_SIZE 10240 // set to 10240kb = 10kb</pre>\n\nThe size of the heap area depends on the calculator\n\nIf you need exefvm other programs, it is recommended call program RAM_SIZE set\n\n==List of library functions==\nnote printf, sprintf, scanf, sscanf are overloading functions, they don\u2019t have variable argument list\n\n\n<table border=1 cellspacing=0 cellpadding=0>\n    <tr>\n      <td width=119 rowspan=14 valign=top><p style='  line-height:normal'><span\n  class=SpellE><b><span lang=EN-US\n  style='font-size:14.0pt;font-family:SimSun;\n  '>stdio.h</span></b></span></p></td>\n      <td width=456 valign=top><p style='  line-height:normal'><span class=SpellE><span lang=EN-US style='font-size:\n  12.0pt;font-family:SimSun;'>int</span></span><span lang=EN-US\n  style='font-size:12.0pt;font-family:SimSun;\n  '> <span class=SpellE>printf</span>(\n          char *format, <span class=SpellE>int</span> <span class=SpellE>val</span> )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span class=SpellE><span lang=EN-US style='font-size:\n  12.0pt;font-family:SimSun;'>int</span></span><span lang=EN-US\n  style='font-size:12.0pt;font-family:SimSun;\n  '> <span class=SpellE>printf</span>(\n          char *format, float <span class=SpellE>val</span> )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span class=SpellE><span lang=EN-US style='font-size:\n  12.0pt;font-family:SimSun;'>int</span></span><span lang=EN-US\n  style='font-size:12.0pt;font-family:SimSun;\n  '> <span class=SpellE>printf</span>(\n          char *format, char* <span class=SpellE>val</span> )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span class=SpellE><span lang=EN-US style='font-size:\n  12.0pt;font-family:SimSun;'>int</span></span><span lang=EN-US\n  style='font-size:12.0pt;font-family:SimSun;\n  '> <span class=SpellE>sprintf</span>(\n          char *buffer, char *format, <span class=SpellE>int</span> <span class=SpellE>val</span> )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span class=SpellE><span lang=EN-US style='font-size:\n  12.0pt;font-family:SimSun;'>int</span></span><span lang=EN-US\n  style='font-size:12.0pt;font-family:SimSun;\n  '> <span class=SpellE>sprintf</span>(\n          char *buffer, char *format, float <span class=SpellE>val</span> )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span class=SpellE><span lang=EN-US style='font-size:\n  12.0pt;font-family:SimSun;'>int</span></span><span lang=EN-US\n  style='font-size:12.0pt;font-family:SimSun;\n  '> <span class=SpellE>sprintf</span>(\n          char *buffer, char *format, char* <span class=SpellE>val</span> )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span class=SpellE><span lang=EN-US style='font-size:\n  12.0pt;font-family:SimSun;'>int</span></span><span lang=EN-US\n  style='font-size:12.0pt;font-family:SimSun;\n  '> <span class=SpellE>scanf</span>(\n          char *format, <span class=SpellE>int</span> *address )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span class=SpellE><span lang=EN-US style='font-size:\n  12.0pt;font-family:SimSun;'>int</span></span><span lang=EN-US\n  style='font-size:12.0pt;font-family:SimSun;\n  '> <span class=SpellE>scanf</span>(\n          char *format, float *address )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span class=SpellE><span lang=EN-US style='font-size:\n  12.0pt;font-family:SimSun;'>int</span></span><span lang=EN-US\n  style='font-size:12.0pt;font-family:SimSun;\n  '> <span class=SpellE>scanf</span>(\n          char *format, char *address )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span class=SpellE><span lang=EN-US style='font-size:\n  12.0pt;font-family:SimSun;'>int</span></span><span lang=EN-US\n  style='font-size:12.0pt;font-family:SimSun;\n  '> <span class=SpellE>sscanf</span>(\n          char *buffer, char *format, <span class=SpellE>int</span> *address )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span class=SpellE><span lang=EN-US style='font-size:\n  12.0pt;font-family:SimSun;'>int</span></span><span lang=EN-US\n  style='font-size:12.0pt;font-family:SimSun;\n  '> <span class=SpellE>sscanf</span>(\n          char *buffer, char *format, <span class=SpellE>int</span> *address )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span class=SpellE><span lang=EN-US style='font-size:\n  12.0pt;font-family:SimSun;'>int</span></span><span lang=EN-US\n  style='font-size:12.0pt;font-family:SimSun;\n  '> <span class=SpellE>sscanf</span>(\n          char *buffer, char *format, float *address )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span class=SpellE><span lang=EN-US style='font-size:\n  12.0pt;font-family:SimSun;'>int</span></span><span lang=EN-US\n  style='font-size:12.0pt;font-family:SimSun;\n  '> <span class=SpellE>getchar</span>(\n          void )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span class=SpellE><span lang=EN-US style='font-size:\n  12.0pt;font-family:SimSun;'>int</span></span><span lang=EN-US\n  style='font-size:12.0pt;font-family:SimSun;\n  '> <span class=SpellE>putchar</span>( <span class=SpellE>int</span> c )</span></p></td>\n    </tr>\n    <tr>\n      <td width=119 rowspan=12 valign=top><p align=center style='text-align:center;line-height:normal'><span class=SpellE><b><span lang=EN-US style='font-size:14.0pt;\n  font-family:SimSun;'>ctype.h</span></b></span></p></td>\n      <td width=456 valign=top><p style='  line-height:normal'><span class=SpellE><span lang=EN-US style='font-size:\n  12.0pt;font-family:SimSun;'>int</span></span><span lang=EN-US\n  style='font-size:12.0pt;font-family:SimSun;\n  '> <span class=SpellE>isalnum</span>( <span class=SpellE>int</span> c )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span class=SpellE><span lang=EN-US style='font-size:\n  12.0pt;font-family:SimSun;'>int</span></span><span lang=EN-US\n  style='font-size:12.0pt;font-family:SimSun;\n  '> <span class=SpellE>isalpha</span>( <span class=SpellE>int</span> c )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span class=SpellE><span lang=EN-US style='font-size:\n  12.0pt;font-family:SimSun;'>int</span></span><span lang=EN-US\n  style='font-size:12.0pt;font-family:SimSun;\n  '> <span class=SpellE>iscntrl</span>( <span class=SpellE>int</span> c )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span class=SpellE><span lang=EN-US style='font-size:\n  12.0pt;font-family:SimSun;'>int</span></span><span lang=EN-US\n  style='font-size:12.0pt;font-family:SimSun;\n  '> <span class=SpellE>isdigit</span>( <span class=SpellE>int</span> c )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span class=SpellE><span lang=EN-US style='font-size:\n  12.0pt;font-family:SimSun;'>int</span></span><span lang=EN-US\n  style='font-size:12.0pt;font-family:SimSun;\n  '> <span class=SpellE>isgraph</span>( <span class=SpellE>int</span> c )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span class=SpellE><span lang=EN-US style='font-size:\n  12.0pt;font-family:SimSun;'>int</span></span><span lang=EN-US\n  style='font-size:12.0pt;font-family:SimSun;\n  '> <span class=SpellE>islower</span>( <span class=SpellE>int</span> c )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span class=SpellE><span lang=EN-US style='font-size:\n  12.0pt;font-family:SimSun;'>int</span></span><span lang=EN-US\n  style='font-size:12.0pt;font-family:SimSun;\n  '> <span class=SpellE>isprint</span>( <span class=SpellE>int</span> c )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span class=SpellE><span lang=EN-US style='font-size:\n  12.0pt;font-family:SimSun;'>int</span></span><span lang=EN-US\n  style='font-size:12.0pt;font-family:SimSun;\n  '> <span class=SpellE>ispunct</span>( <span class=SpellE>int</span> c )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span class=SpellE><span lang=EN-US style='font-size:\n  12.0pt;font-family:SimSun;'>int</span></span><span lang=EN-US\n  style='font-size:12.0pt;font-family:SimSun;\n  '> <span class=SpellE>isspace</span>( <span class=SpellE>int</span> c )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span class=SpellE><span lang=EN-US style='font-size:\n  12.0pt;font-family:SimSun;'>int</span></span><span lang=EN-US\n  style='font-size:12.0pt;font-family:SimSun;\n  '> <span class=SpellE>isupper</span>( <span class=SpellE>int</span> c )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span class=SpellE><span lang=EN-US style='font-size:\n  12.0pt;font-family:SimSun;'>int</span></span><span lang=EN-US\n  style='font-size:12.0pt;font-family:SimSun;\n  '> <span class=SpellE>tolower</span>( <span class=SpellE>int</span> c )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span class=SpellE><span lang=EN-US style='font-size:\n  12.0pt;font-family:SimSun;'>int</span></span><span lang=EN-US\n  style='font-size:12.0pt;font-family:SimSun;\n  '> <span class=SpellE>toupper</span>( <span class=SpellE>int</span> c )</span></p></td>\n    </tr>\n    <tr>\n      <td width=119 rowspan=19 valign=top><p style='  line-height:normal'><span\n  class=SpellE><b><span lang=EN-US\n  style='font-size:14.0pt;font-family:SimSun;\n  '>math.h</span></b></span></p></td>\n      <td width=456 valign=top><p style='  line-height:normal'><span lang=EN-US style='font-size:12.0pt;font-family:\n  SimSun;  '>float <span class=SpellE>acos</span>( float x )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span lang=EN-US style='font-size:12.0pt;font-family:\n  SimSun;  '>float <span class=SpellE>asin</span>( float x )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span lang=EN-US style='font-size:12.0pt;font-family:\n  SimSun;  '>float <span class=SpellE>atan</span>( float x )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span lang=EN-US style='font-size:12.0pt;font-family:\n  SimSun;  '>float atan2( float x, float y )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span lang=EN-US style='font-size:12.0pt;font-family:\n  SimSun;  '>float <span class=SpellE>cos</span>( float x )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span lang=EN-US style='font-size:12.0pt;font-family:\n  SimSun;  '>float sin( float x )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span lang=EN-US style='font-size:12.0pt;font-family:\n  SimSun;  '>float tan( float x )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span lang=EN-US style='font-size:12.0pt;font-family:\n  SimSun;  '>float <span class=SpellE>cosh</span>( float x )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span lang=EN-US style='font-size:12.0pt;font-family:\n  SimSun;  '>float <span class=SpellE>sinh</span>( float x )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span lang=EN-US style='font-size:12.0pt;font-family:\n  SimSun;  '>float <span class=SpellE>tanh</span>( float x )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span lang=EN-US style='font-size:12.0pt;font-family:\n  SimSun;  '>float log( float x )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span lang=EN-US style='font-size:12.0pt;font-family:\n  SimSun;  '>float log10( float x )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span lang=EN-US style='font-size:12.0pt;font-family:\n  SimSun;  '>float <span class=SpellE>modf</span>( float x, float\n          *y )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span lang=EN-US style='font-size:12.0pt;font-family:\n  SimSun;  '>float <span class=SpellE>pow</span>( float x, float\n          y )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span lang=EN-US style='font-size:12.0pt;font-family:\n  SimSun;  '>float <span class=SpellE>sqrt</span>( float x )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span lang=EN-US style='font-size:12.0pt;font-family:\n  SimSun;  '>float ceil( float x )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span lang=EN-US style='font-size:12.0pt;font-family:\n  SimSun;  '>float <span class=SpellE>fabs</span>( float x )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span lang=EN-US style='font-size:12.0pt;font-family:\n  SimSun;  '>float floor( float x )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span lang=EN-US style='font-size:12.0pt;font-family:\n  SimSun;  '>float <span class=SpellE>fmod</span>( float x, float\n          y )</span></p></td>\n    </tr>\n    <tr>\n      <td width=119 rowspan=10 valign=top><p style='  line-height:normal'><span\n  class=SpellE><b><span lang=EN-US\n  style='font-size:14.0pt;font-family:SimSun;\n  '>stdlib.h</span></b></span></p></td>\n      <td width=456 valign=top><p style='  line-height:normal'><span lang=EN-US style='font-size:12.0pt;font-family:\n  SimSun;  '>float <span class=SpellE>atof</span>( char *<span\n  class=SpellE>str</span> )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span class=SpellE><span lang=EN-US style='font-size:\n  12.0pt;font-family:SimSun;'>int</span></span><span lang=EN-US\n  style='font-size:12.0pt;font-family:SimSun;\n  '> <span class=SpellE>atoi</span>(\n          char *<span class=SpellE>str</span> )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span class=SpellE><span lang=EN-US style='font-size:\n  12.0pt;font-family:SimSun;'>int</span></span><span lang=EN-US\n  style='font-size:12.0pt;font-family:SimSun;\n  '> rand( void )</span></p></td>\n    </tr>\n\n<tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span class=SpellE><span lang=EN-US style='font-size:\n  12.0pt;font-family:SimSun;'>#define RAND_MAX 32767</span></span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span lang=EN-US style='font-size:12.0pt;font-family:\n  SimSun;  '>void <span class=SpellE>srand</span>( <span\n  class=SpellE>int</span> seed )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span lang=EN-US style='font-size:12.0pt;font-family:\n  SimSun;  '>void *<span class=SpellE>calloc</span>( <span\n  class=SpellE>int</span> <span class=SpellE>nelem</span>, <span class=SpellE>int</span> <span class=SpellE>elsize</span> )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span lang=EN-US style='font-size:12.0pt;font-family:\n  SimSun;  '>void *<span class=SpellE>malloc</span>( <span\n  class=SpellE>int</span> size )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span lang=EN-US style='font-size:12.0pt;font-family:\n  SimSun;  '>void *<span class=SpellE>calloc</span>( void *<span\n  class=SpellE>ptr</span>, <span class=SpellE>int</span> size )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p><span lang=EN-US style='font-size:12.0pt;\n  font-family:SimSun;'>void free( void *<span class=SpellE>ptr</span> )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span class=SpellE><span lang=EN-US style='font-size:\n  12.0pt;font-family:SimSun;'>int</span></span><span lang=EN-US\n  style='font-size:12.0pt;font-family:SimSun;\n  '> abs( <span class=SpellE>int</span> x )</span></p></td>\n    </tr>\n    <tr>\n      <td width=119 rowspan=18 valign=top><p style='  line-height:normal'><span\n  class=SpellE><b><span lang=EN-US\n  style='font-size:14.0pt;font-family:SimSun;\n  '>string.h</span></b></span></p></td>\n      <td width=456 valign=top><p style='  line-height:normal'><span lang=EN-US style='font-size:12.0pt;font-family:\n  SimSun;  '>void <span class=SpellE>memcpy</span>( void *p1,\n          void *p2, <span class=SpellE>int</span> n )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span lang=EN-US style='font-size:12.0pt;font-family:\n  SimSun;  '>char *<span class=SpellE>strcpy</span>( char *s1,\n          char *s2 )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span lang=EN-US style='font-size:12.0pt;font-family:\n  SimSun;  '>char *<span class=SpellE>strncpy</span>( char *s1,\n          char *s2, <span class=SpellE>int</span> n )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span lang=EN-US style='font-size:12.0pt;font-family:\n  SimSun;  '>char *<span class=SpellE>strcat</span>( char *s1,\n          char *s2 )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span lang=EN-US style='font-size:12.0pt;font-family:\n  SimSun;  '>char *<span class=SpellE>strncat</span>( char *s1,\n          char *s2, <span class=SpellE>int</span> n )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span class=SpellE><span lang=EN-US style='font-size:\n  12.0pt;font-family:SimSun;'>int</span></span><span lang=EN-US\n  style='font-size:12.0pt;font-family:SimSun;\n  '> <span class=SpellE>memcmp</span>(\n          void *p1, void *p2, <span class=SpellE>int</span> n )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span class=SpellE><span lang=EN-US style='font-size:\n  12.0pt;font-family:SimSun;'>int</span></span><span lang=EN-US\n  style='font-size:12.0pt;font-family:SimSun;\n  '> <span class=SpellE>strcmp</span>(\n          char *s1, char *s2 )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span class=SpellE><span lang=EN-US style='font-size:\n  12.0pt;font-family:SimSun;'>int</span></span><span lang=EN-US\n  style='font-size:12.0pt;font-family:SimSun;\n  '> <span class=SpellE>strncmp</span>(\n          char *s1, char *s2, <span class=SpellE>int</span> n )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span lang=EN-US style='font-size:12.0pt;font-family:\n  SimSun;  '>void *<span class=SpellE>memchr</span>( void *p, <span\n  class=SpellE>int</span> c, <span class=SpellE>int</span> n )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span lang=EN-US style='font-size:12.0pt;font-family:\n  SimSun;  '>char *<span class=SpellE>strchr</span>( char *s, <span\n  class=SpellE>int</span> c )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span class=SpellE><span lang=EN-US style='font-size:\n  12.0pt;font-family:SimSun;'>int</span></span><span lang=EN-US\n  style='font-size:12.0pt;font-family:SimSun;\n  '> <span class=SpellE>strcspn</span>(\n          char *s1, char *s2 )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span lang=EN-US style='font-size:12.0pt;font-family:\n  SimSun;  '>char *<span class=SpellE>strpbrk</span>( char *s1,\n          char *s2 )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span lang=EN-US style='font-size:12.0pt;font-family:\n  SimSun;  '>char *<span class=SpellE>strrchr</span>( char *s, <span\n  class=SpellE>int</span> c )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span class=SpellE><span lang=EN-US style='font-size:\n  12.0pt;font-family:SimSun;'>int</span></span><span lang=EN-US\n  style='font-size:12.0pt;font-family:SimSun;\n  '> <span class=SpellE>strspn</span>(\n          char *s1, char *s2 )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span lang=EN-US style='font-size:12.0pt;font-family:\n  SimSun;  '>char *<span class=SpellE>strstrr</span>( char *s1,\n          char *s2 )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span lang=EN-US style='font-size:12.0pt;font-family:\n  SimSun;  '>void <span class=SpellE>memset</span>( void *s, <span\n  class=SpellE>int</span> c, <span class=SpellE>int</span> n )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span class=SpellE><span lang=EN-US style='font-size:\n  12.0pt;font-family:SimSun;'>int</span></span><span lang=EN-US\n  style='font-size:12.0pt;font-family:SimSun;\n  '> <span class=SpellE>strlen</span>(\n          char *s )</span></p></td>\n    </tr>\n    <tr>\n      <td width=456 valign=top><p style='  line-height:normal'><span lang=EN-US style='font-size:12.0pt;font-family:\n  SimSun;  '>void *<span class=SpellE>memmove</span>( void *s1,\n          void *s2, <span class=SpellE>int</span> n )</span></p></td>\n    </tr>\n  </table>\n\n===WSC Functions===\nTo use the following functions and definitions, include '''fxlib.h'''<br/>\nAll the graphing function draw to VRAM, programmer should use putdisp() to put VRAM to Display Driver.<br/>\nThe range fo abscissa(x) of pointers is from 0 to 127.<br/>\nThe range fo ordinate(y) of pointers is from 0 to 63.\n\n====void allclr( void )====\nClear the whole area\n\n====void areaclr( int x1, int y1, int x2, int y2 )====\nClear the specified area<br/>\n(x1, y1) is the upper-left conner of rectangle. (x2, y2) is the lower-right corner of rectangle.\n\n====void arearev( int x1, int y1, int x2, int y2 )====\nReverses a specified area<br/>\n(x1, y1) is the upper-left conner of rectangle. (x2, y2) is the lower-right corner of rectangle.\n\n====void putdisp( void )====\nPut all data from VRAM to Display Driver.\n\n====void setpoint( int x, int y, char kind )====\nSet or erase a dot at the specified  position.<br/>\nIf you set point to 1 then the dot is made black. If you set point to 0 then the dot is cleared.\n\n====int getpoint( int x, ing y )====\nChecks a dot at the specified position<br/>\nIf the dot at the specified position is black then this function returns 1. If the dot at the specified position is white then this function returns 0.\n\n====void drawline( int x1, int y1, int x2, int y2 )====\nDraws a line from (x1, y1) to (x2, y2)\n\n====void clearline( int x1, int y1, int x2, int y2 )====\nDraws a white line from (x1, y1) to (x2, y2)\n\n====void drawcircle( int x, int y, int r )====\nDraws a circle at (x,y)\n\n====void fillcircle( int x, int y, int r )====\nDraws a filled circle at (x,y)\n\n====void drawbox( int x1, int y1, int x2, int y2 )====\nDraws a box, (x1, y1) is the upper-left conner of rectangle. (x2, y2) is the lower-right corner of rectangle.\n\n====void fillbox( int x1, int y1, int x2, int y2 )====\nDraws a filled box, (x1, y1) is the upper-left conner of rectangle. (x2, y2) is the lower-right corner of rectangle.\n\n====void locate( int x, int y )====\nMakes settings for the location of the display cursor<br/>\nThe range of x is from 1 to 8, the range of y is from 1 to 21 here.\n\n====void print( char *str )====\nDisplays a character string at the current position of the display cursor\n\n====void printxy( int x, int y, char *str, int type )====\nDisplays a character string at the specified position.<br/>\nIf you set the  type  to 0 then the character string is displayed in normal color. If you set the type  to 1 then the character string is displayed in reverse color.\n\n====void printmini( int x, int y, char *str, int type )====\nDisplays a small font character string at the specified position.\n\nThe following definitions are declared for type:\n\n<table width=\"300\" border=\"1\">\n  <tr>\n    <td>MINI_OVER</td>\n    <td>Overwrite (fill)</td>\n  </tr>\n  <tr>\n    <td>MINI_OR</td>\n    <td>OR</td>\n  </tr>\n  <tr>\n    <td>MINI_REV</td>\n    <td>Reverse color</td>\n  </tr>\n  <tr>\n    <td>MINI_REVOR</td>\n    <td>OR in reverse color</td>\n  </tr>\n</table>\n\n( printmini( 1, 1, \u201chello\u201d, MINI_OVER ); )\n\n====void savedisp( char num )====\nSaves a screen image in the system area.<br/>\nNum is the ID of the save area. It can only be SAVEPAGE1, SAVEPAGE2 or SAVEPAGE3.<br/>\n( savedisp( SAVEPAGE1 ); )\n\n====void restdisp( char num )====\nRestores a  screen image in the system area.<br/>\nNum is the ID of the save area. It can only be SAVEPAGE1, SAVEPAGE2 or SAVEPAGE3.<br/>\n( restdisp( SAVEPAGE1 ); )\n\n====void popupwin( int n )====\nDisplays a popup window of the specified size of lines. Also, the inside of the popup window is cleared.<br/>\nThe range of n is from 1 to 5.\n\n====int openfile( const char *name, int mode )====\nopens an existing file<br/>\nname is the file name ([[#File_name_format|File Name Format]])<br/>\nmode specifies the action to open. The following definitions are declared for open mode.\n\n<table width=\"300\" border=\"1\">\n  <tr>\n    <td>OPEN_R</td>\n    <td>Read</td>\n  </tr>\n  <tr>\n    <td>OPEN_W</td>\n    <td>Write</td>\n  </tr>\n  <tr>\n    <td>OPEN_RW</td>\n    <td>Read and write</td>\n  </tr>\n</table>\nIf the function succeeds, the return value specifies a file handle. It is greater than or equal to 0.<br/>\nIf the function fails, the return value is an error code. It is a negative value.\n\n====int readfile( int handle, void *buf, int size, int readpos )====\nhandle is the return value of openfile()<br/>\nsize is the bytes to be read from the file.<br/>\nreadpos is the starting position to read. If the  readpos  parameter is -1, this functi on reads data from the position last read ended. If the  readpos  parameter greater than or equal to 0, this function reads data from the position indicated by the  readpos  parameter.<br/>\nIf the function succeeds, this function returns the number of bytes actually read. It is greater than or equal to 0.<br/>\nIf the function fails, the return value is an error code. It is a negative value.\n\n====int writefile( int handle, void *buf, int size )====\nhandle is the return value of openfile()<br/>\nIf the function succeeds, this function returns the number of bytes actually read. It is greater than or equal to 0.<br/>\nIf the function fails, the return value is an error code. It is a negative value.\n\n====int seekfile( int handle, int pos )====\nmoves the file pointer of an open file<br/>\nIf the function succeeds, this function returns the number of bytes that can continuously be read. It is greater than or equal to 0.<br/>\nIf the function fails, the return value is an error code. It is a negative value.\n\n====int closefile( int handle )====\ncloses an open file handle\n\n====int getfree( int type, int *freebytes )====\nretrieves the size of  the free space, in bytes,  of the specified device<br/>\nThe following definitions are declared for type.\n\n<table width=\"300\" border=\"1\">\n  <tr>\n    <td>MAIN_FREE</td>\n    <td>main memory</td>\n  </tr>\n  <tr>\n    <td>STO_FREE</td>\n    <td>storage memory</td>\n  </tr>\n  <tr>\n    <td>SD_FREE</td>\n    <td>sd card</td>\n  </tr>\n</table>\n( getfree( SD_FREE, &size ); )\n\nfreebytes is the pointer to the size of the free space<br/>\nIf the function succeeds, this function returns 0.<br/>\nIf the function fails, the return value is an error code. It is a negative value.\n\n====int getsize( int handle )====\nretrieves the size, in bytes, of the specified file.\n\n====int createfile( const char *name, int size )====\nCreates a file ([[#File_name_format|View File Name Format]])<br/>\nIf the function succeeds, the return value is 0.<br/>\nIf the function fails, the return value is an error code. It is a negative value.\n\n====int createdir( const char *name )====\nCreates a directory ([[#File_name_format|View File Name Format]])<br/>\nIf the function succeeds, the return value is 0.<br/>\nIf the function fails, the return value is an error code. It is a negative value.\n\n====int deletefile( const char *name )====\nDelete a file ([[#File_name_format|View File Name Format]])<br/>\nIf the function succeeds, the return value is 0.<br/>\nIf the function fails, the return value is an error code. It is a negative value.\n\n====int deletedir( const char *name )====\nDelete a directory ([[#File_name_format|View File Name Format]])<br/>\nIf the function succeeds, the return value is 0.<br/>\nIf the function fails, the return value is an error code. It is a negative value.\n\n\n<font color=\"#FF0000\">The following three functions need to used in conjunction, for example, see the example\\find.c</font>\n\n====int findfirst( char *pathname, int *handle, char *foundname, int *fileinfo )====\npathname is to find the path ([[#File_name_format|View File Name Format]]), you can use the wildcard \"*\", \"\\\\\\\\fls0\\\\\uff0a.txt\", \u3001\"\\\\\\\\fls0\\\\*\"\n\nFile find handle pointed to by handle int (used the findnext and findclose)\n\nfoundname will be saved to find the name of the file\n\nThe fileinfo maintain to find the file information, it should be a size 6 int array (int the fileinfo [6]), information storage location in the table below\n\n(under construction)...\n\n====int getkey( int *keycode )====\nPerforms a key wait and returns a value indicating the pressed key\n\n \nIf there are no characters in the key buffer, this func tion waits until a character arrives and then returns immediately.<br/>\nEven if the menu key pressed, this function does not return menu key code. The system processes the menu key event.<br/>\nOff event, Auto Power Off event, and contrast adjustment are also handled by this function. If an off or Auto Power Off event occurs the application will not be notified. Once the calculator is turned back on control is returned to the GetKey function.\n\n \nIf a character key was pressed, the return value is 1.<br/>\nIf a control key was pressed, the return value is 0.\n\n([[#Keycode|View key code]])\n\n====int waitkey( void )====\nWait for a key, and return the key code.\n\nIt is a simplify of getkey<br/>\n([[#Keycode|View key code]])\n\n====int iskeydown( int keycode )====\nChecks whether the specified key is pressed.<br/>\nThe parameter is a key code of the key that you check. <br/>\nWhen you wait events only by this function, the calculator never turns off. Only use this function when you need to wait for key input to continue.<br/>\nIf the specified key is pressed, the return value is 1.<br/>\nIf the specified key is not pressed, the return value is 0.<br/>\n([[#Keycode|View key code]])\n\n====void sleep( int millsecond )====\nSuspends the execution of the current thread for a specified interval.\n\n----\n\n===File name format===\nA few examples to illustrate the format of the file name:<br/>\nFile named 2.txt in the Storage Mem in the root directory is \"\\\\\\\\fls0\\\\2.txt\"<br/>\nFile named 2.txt in the directory book in the Storage Mem is \"\\\\\\\\fls0\\\\book\\\\2.txt\"<br/>\nFile named 2.txt in the root directory of the SD card is \"\\\\\\\\crd0\\\\2.txt\"<br/>\nDirectory book in SD card is \u201c\\\\\\\\crd0\\\\book\u201d<br/>\n\nIn this moment you can\u2019t operate the file in Main Mem\n\n<font color=\"#FF0000\">Note that the filename is case sensitive!</font>\n\n\\exemple\\FILE.c shows how to operate file\n\n===Keycode===\nThe following definitions are declared for some common key in fxlib.h\n\n<pre>#define KEY_UP         30018\n#define KEY_DOWN       30023\n#define KEY_LEFT       30020\n#define KEY_RIGHT      30021\n#define KEY_EXIT       30002\n#define KEY_AC         30015\n#define KEY_DEL        30025\n#define KEY_EXE        30024\n#define KEY_SHIFT      30006\n#define KEY_ALPHA      30007\n#define KEY_MENU       30003\n#define KEY_OPTN       30008\n#define KEY_F1         30009\n#define KEY_F2         30010\n#define KEY_F3         30011</pre>\n\n\\example\\KEYCODE.c shows how to get the key code of other keys\n\n==Feedback==\nIf you found bugs, or have any suggestions, questions, you can post it at [http://www.casio-scene.com/showthread.php?1396-WSC-amp-FVM-1-0-Oncalc-C-Compiler-for-fx9860 WSC and FVM Thread].\n\nSpecial thanks to yangsc825 (testing and recommendations), helder7 (English documentation), Kenneth C. Louden (\"Compiler Construction Principles and Practice\").\n\n==Changelog==\n'''* 2012-07-06 version 1.3'''<br/>\n- Add overclocking, RTC functions and perform the function of the FVM program<br/>\n(Function names are cpuspeed, readrtc, setrtc, findfirst, findnext, findclose, exefvm, getfvmmsg\uff09<br/>\n- Add a bit manipulation functions (for the realization of convenience, make it functional form rather than the operator)<br/>\n(Name of the function distribution is bitand, bitor, bitxor, bitnot, shiftl, shiftr)<br/>\n- Add the support of the hexadecimal constants<br/>\n- Add the font of the IO interface support [[#Use_a_large_font_in_the_IO_interface|See tips]]<br/>\n- Optimization of the source code of the FVM (thanks to chuxianbing)<br/>\n- Fixed some of the errors of the optimization techniques<br/>\n- Canceled automatically initialize the random number seed (time function)<br/>\n- Other\n\n'''* 21-06-2012 version 1.2'''<br/>\n- Add a simple pre-processor (now the #include)<br/>\n- Add file manipulation and plotting functions<br/>\n- Add to the bond strength rewind functions<br/>\n- Add an optimized technology, test data, maximum speed increased by 10%<br/>\n- Fixed some errors in the parameter passing<br/>\n- Fix array initialization can only occur once error<br/>\n- Fixed the error of the multidimensional array address<br/>\n- Others...<br/>\n\n'''* 07-06-2012 version 1.1'''<br/>\n- Add most of 9860 to support the standard C function<br/>\n- Add a full description of document<br/>\n- Add multi-dimensional array initialization<br/>\n- Add transfer the character '\\ t'<br/>\n- Improve the stdio, to support multi-line input, uppercase letters<br/>\n- Improve the error message, more friendly<br/>\n- Fixed main, not the return 0 mistakes<br/>\n- Fixed errors in some of the parameters passed<br/>\n- Fixed a global variable, function, character constants can not be the same name error<br/>\n- Repair evaluation stack stack stack error<br/>\n- Other<br/>\n\n'''* 28-05-2012 version 1.0'''<br/>\n- Preview Release"
                    }
                ]
            }
        }
    }
}