1    /*
2     * Some or all of this work - Copyright (c) 2006 - 2021, Intel Corp.
3     * All rights reserved.
4     *
5     * Redistribution and use in source and binary forms, with or without modification,
6     * are permitted provided that the following conditions are met:
7     *
8     * Redistributions of source code must retain the above copyright notice,
9     * this list of conditions and the following disclaimer.
10     * Redistributions in binary form must reproduce the above copyright notice,
11     * this list of conditions and the following disclaimer in the documentation
12     * and/or other materials provided with the distribution.
13     * Neither the name of Intel Corporation nor the names of its contributors
14     * may be used to endorse or promote products derived from this software
15     * without specific prior written permission.
16     *
17     * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
18     * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19     * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20     * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
21     * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22     * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23     * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24     * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
25     * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
26     * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27     */
28    /*
29     * Implicit String to Integer (<0x-hex-dec>)
30     */
31    Method (MF97, 0, NotSerialized)
32    {
33        /* Hex: 0x - dec */
34
35        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
36        Local0 = ("" + 0x00)
37        If ((Local0 != 0x00))
38        {
39            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
40        }
41
42        Local0 = ("0x0" + 0x00)
43        If ((Local0 != 0x00))
44        {
45            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
46        }
47
48        Local0 = ("0x1" + 0x00)
49        If ((Local0 != 0x00))
50        {
51            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
52        }
53
54        Local0 = ("0x12345678" + 0x00)
55        If ((Local0 != 0x00))
56        {
57            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
58        }
59
60        Local0 = ("0x1234567890123456" + 0x00)
61        If ((Local0 != 0x00))
62        {
63            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
64        }
65
66        /* Hex: 0x - hex */
67
68        Local0 = ("0xabcdefef" + 0x00)
69        If ((Local0 != 0x00))
70        {
71            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
72        }
73
74        Local0 = ("0xabcdefefadefbcdf" + 0x00)
75        If ((Local0 != 0x00))
76        {
77            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
78        }
79
80        /* Hex: 0x - dec/hex */
81
82        Local0 = ("0x1ab2cd340fe05678" + 0x00)
83        If ((Local0 != 0x00))
84        {
85            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
86        }
87
88        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
89        Local0 = ("0x1ab2cd340fe0567823456789123456789987" + 0x00)
90        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
91        If ((Local0 != 0x00))
92        {
93            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
94        }
95
96        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
97    }
98
99    /*
100     * Implicit String to Integer (<dec>)
101     */
102    Method (MF98, 0, NotSerialized)
103    {
104        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
105        Local0 = ("0" + 0x00)
106        If ((Local0 != 0x00))
107        {
108            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
109        }
110
111        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
112        Local0 = ("0000000" + 0x00)
113        If ((Local0 != 0x00))
114        {
115            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
116        }
117
118        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
119        Local0 = ("000000000000000000000000000000" + 0x00)
120        If ((Local0 != 0x00))
121        {
122            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
123        }
124
125        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
126        Local0 = ("1" + 0x00)
127        If ((Local0 != 0x01))
128        {
129            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x01)
130        }
131
132        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
133        Local0 = ("12345678" + 0x00)
134        If ((Local0 != 0x12345678))
135        {
136            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x12345678)
137        }
138
139        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
140    }
141
142    /*
143     * Implicit String to Integer (<hex-dec>)
144     */
145    Method (MF99, 0, NotSerialized)
146    {
147        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
148        /* Hex: 0x - dec */
149
150        Local0 = ("1234567890123456" + 0x00)
151        If (F64)
152        {
153            If ((Local0 != 0x1234567890123456))
154            {
155                ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x1234567890123456)
156            }
157        }
158        ElseIf ((Local0 != 0x12345678))
159        {
160            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x12345678)
161        }
162
163        /* Hex: 0x - hex */
164
165        Local0 = ("abcdefef" + 0x00)
166        If ((Local0 != 0xABCDEFEF))
167        {
168            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0xABCDEFEF)
169        }
170
171        Local0 = ("abcdefe" + 0x00)
172        If ((Local0 != 0x0ABCDEFE))
173        {
174            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x0ABCDEFE)
175        }
176
177        Local0 = ("abcdefefadefbcdf" + 0x00)
178        If (F64)
179        {
180            If ((Local0 != 0xABCDEFEFADEFBCDF))
181            {
182                ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0xABCDEFEFADEFBCDF)
183            }
184        }
185        ElseIf ((Local0 != 0xABCDEFEF))
186        {
187            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0xABCDEFEF)
188        }
189
190        /* Hex: 0x - dec/hex */
191
192        Local0 = ("1ab2cd340fe05678" + 0x00)
193        If (F64)
194        {
195            If ((Local0 != 0x1AB2CD340FE05678))
196            {
197                ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x1AB2CD340FE05678)
198            }
199        }
200        ElseIf ((Local0 != 0x1AB2CD34))
201        {
202            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x1AB2CD34)
203        }
204
205        Local0 = ("1ab2cd340fe05" + 0x00)
206        If (F64)
207        {
208            If ((Local0 != 0x0001AB2CD340FE05))
209            {
210                ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x0001AB2CD340FE05)
211            }
212        }
213        ElseIf ((Local0 != 0x1AB2CD34))
214        {
215            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x1AB2CD34)
216        }
217
218        Local0 = ("1a" + 0x00)
219        If ((Local0 != 0x1A))
220        {
221            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x1A)
222        }
223
224        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
225    }
226
227    /*
228     * No exceptions in special cases which force exceptions on ToInteger
229     */
230    Method (MF9A, 0, NotSerialized)
231    {
232        /* 5. "1234cd" (non-decimal character in dec-image) */
233
234        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
235        Local0 = ("1234cd" + 0x00)
236        If ((Local0 != 0x001234CD))
237        {
238            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x001234CD)
239        }
240
241        /* 6. "000x1234" (non-decimal character in dec-image) */
242
243        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
244        Local0 = ("000x1234" + 0x00)
245        If ((Local0 != 0x00))
246        {
247            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
248        }
249
250        /* 7. "0x1234cdQ" (non-hex character in '0x'-image) */
251
252        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
253        Local0 = ("0x1234cdQ" + 0x00)
254        If ((Local0 != 0x00))
255        {
256            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
257        }
258
259        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
260        Local0 = ("1234cdQ" + 0x00)
261        If ((Local0 != 0x001234CD))
262        {
263            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x001234CD)
264        }
265
266        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
267        Local0 = ("0x0x12345" + 0x00)
268        If ((Local0 != 0x00))
269        {
270            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
271        }
272
273        /* 8. "1234 " (white space in dec image) */
274
275        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
276        Local0 = ("1234 " + 0x00)
277        If ((Local0 != 0x1234))
278        {
279            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x1234)
280        }
281
282        /* 9. "0x1234cd " (white space in '0x'-image) */
283
284        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
285        Local0 = ("1234cd " + 0x00)
286        If ((Local0 != 0x001234CD))
287        {
288            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x001234CD)
289        }
290
291        /* 10. "0x 1234cdQ" (white space after '0x') */
292
293        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
294        Local0 = ("0x 1234" + 0x00)
295        If ((Local0 != 0x00))
296        {
297            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
298        }
299
300        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
301        Local0 = ("0x0x 1234" + 0x00)
302        If ((Local0 != 0x00))
303        {
304            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
305        }
306
307        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
308        Local0 = ("0x0x 0x 1234" + 0x00)
309        If ((Local0 != 0x00))
310        {
311            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
312        }
313
314        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
315        Local0 = ("0x 0x 1234" + 0x00)
316        If ((Local0 != 0x00))
317        {
318            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
319        }
320
321        /* 11. (decimal image exceeding maximal) */
322        /*     32-bit mode � the value exceeding "4294967295" */
323        If (0x01)
324        {
325            CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
326            Local0 = ("4294967296" + 0x00)
327            If (F64)
328            {
329                If ((Local0 != 0x0000004294967296))
330                {
331                    ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x0000004294967296)
332                }
333            }
334            ElseIf ((Local0 != 0x42949672))
335            {
336                ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x42949672)
337            }
338
339            CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
340            Local0 = ("123456789012345678904294967296" + 0x00)
341            If (F64)
342            {
343                If ((Local0 != 0x1234567890123456))
344                {
345                    ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x1234567890123456)
346                }
347            }
348            ElseIf ((Local0 != 0x12345678))
349            {
350                ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x12345678)
351            }
352
353            CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
354            Local0 = (" \t \t\t00004294967296" + 0x00)
355            If (F64)
356            {
357                If ((Local0 != 0x0000004294967296))
358                {
359                    ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x0000004294967296)
360                }
361            }
362            ElseIf ((Local0 != 0x42949672))
363            {
364                ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x42949672)
365            }
366
367            CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
368            Local0 = ("\t0123456789012345678904294967296" + 0x00)
369            If (F64)
370            {
371                If ((Local0 != 0x1234567890123456))
372                {
373                    ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x1234567890123456)
374                }
375            }
376            ElseIf ((Local0 != 0x12345678))
377            {
378                ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x12345678)
379            }
380
381            CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
382            Local0 = ("0123456789012345678904294967296" + 0x00)
383            If (F64)
384            {
385                If ((Local0 != 0x1234567890123456))
386                {
387                    ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x1234567890123456)
388                }
389            }
390            ElseIf ((Local0 != 0x12345678))
391            {
392                ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x12345678)
393            }
394
395            CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
396            Local0 = (" 123456789012345678904294967296" + 0x00)
397            If (F64)
398            {
399                If ((Local0 != 0x1234567890123456))
400                {
401                    ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x1234567890123456)
402                }
403            }
404            ElseIf ((Local0 != 0x12345678))
405            {
406                ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x12345678)
407            }
408
409            CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
410            Local0 = ("\t123456789012345678904294967296" + 0x00)
411            If (F64)
412            {
413                If ((Local0 != 0x1234567890123456))
414                {
415                    ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x1234567890123456)
416                }
417            }
418            ElseIf ((Local0 != 0x12345678))
419            {
420                ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x12345678)
421            }
422        }
423
424        /*     64-bit mode � the value exceeding "18446744073709551615" */
425
426        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
427        Local0 = ("18446744073709551616" + 0x00)
428        If (F64)
429        {
430            If ((Local0 != 0x1844674407370955))
431            {
432                ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x1844674407370955)
433            }
434        }
435        ElseIf ((Local0 != 0x18446744))
436        {
437            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x18446744)
438        }
439
440        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
441        Local0 = ("\t18446744073709551616" + 0x00)
442        If (F64)
443        {
444            If ((Local0 != 0x1844674407370955))
445            {
446                ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x1844674407370955)
447            }
448        }
449        ElseIf ((Local0 != 0x18446744))
450        {
451            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x18446744)
452        }
453
454        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
455        Local0 = (" 18446744073709551616" + 0x00)
456        If (F64)
457        {
458            If ((Local0 != 0x1844674407370955))
459            {
460                ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x1844674407370955)
461            }
462        }
463        ElseIf ((Local0 != 0x18446744))
464        {
465            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x18446744)
466        }
467
468        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
469        Local0 = ("018446744073709551616" + 0x00)
470        If (F64)
471        {
472            If ((Local0 != 0x1844674407370955))
473            {
474                ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x1844674407370955)
475            }
476        }
477        ElseIf ((Local0 != 0x18446744))
478        {
479            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x18446744)
480        }
481
482        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
483        Local0 = (" \t000000000018446744073709551616" + 0x00)
484        If (F64)
485        {
486            If ((Local0 != 0x1844674407370955))
487            {
488                ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x1844674407370955)
489            }
490        }
491        ElseIf ((Local0 != 0x18446744))
492        {
493            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x18446744)
494        }
495
496        /* 12. "0x12345678901234567" (hex image exceeding maximal) */
497
498        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
499        Local0 = ("0x12345678901234567" + 0x00)
500        If ((Local0 != 0x00))
501        {
502            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
503        }
504
505        /* 13. "0x00000000000001234" (hex image exceeding maximal; no matter that zeros) */
506
507        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
508        Local0 = ("0x00000000000001234" + 0x00)
509        If ((Local0 != 0x00))
510        {
511            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
512        }
513
514        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
515        Local0 = ("0x0000000000000000000001234" + 0x00)
516        If ((Local0 != 0x00))
517        {
518            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
519        }
520
521        /* 14. "0x123456789" (hex image exceeding maximal; for 32-bit mode only) */
522
523        If (0x01)
524        {
525            CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
526            Local0 = ("0x123456789" + 0x00)
527            If ((Local0 != 0x00))
528            {
529                ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
530            }
531        }
532
533        /* 15. "0x" (incomplete '0x' image) */
534
535        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
536        Local0 = ("0x" + 0x00)
537        If ((Local0 != 0x00))
538        {
539            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
540        }
541
542        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
543    }
544
545    /*
546     * 2. " 0x1234cd" (white space before image of Data is skipped)
547     *
548     * All the above examples but with the white space before image of Data.
549     */
550    Method (MF9B, 0, NotSerialized)
551    {
552        /* Hex: 0x - dec */
553
554        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
555        Local0 = (" 0x0" + 0x00)
556        If ((Local0 != 0x00))
557        {
558            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
559        }
560
561        Local0 = ("\t0x1" + 0x00)
562        If ((Local0 != 0x00))
563        {
564            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
565        }
566
567        Local0 = ("\t 0x12345678" + 0x00)
568        If ((Local0 != 0x00))
569        {
570            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
571        }
572
573        Local0 = (" \t0x1234567890123456" + 0x00)
574        If ((Local0 != 0x00))
575        {
576            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
577        }
578
579        /* Hex: 0x - hex */
580
581        Local0 = ("  0xabcdefef" + 0x00)
582        If ((Local0 != 0x00))
583        {
584            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
585        }
586
587        Local0 = ("\t\t0xabcdefefadefbcdf" + 0x00)
588        If ((Local0 != 0x00))
589        {
590            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
591        }
592
593        /* Hex: 0x - dec/hex */
594
595        Local0 = (" \t \t \t \t \t0x1ab2cd340fe05678" + 0x00)
596        If ((Local0 != 0x00))
597        {
598            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
599        }
600
601        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
602        Local0 = ("\t \t \t \t \t \t0x1ab2cd340fe0567823456789123456789987" + 0x00)
603        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
604        If ((Local0 != 0x00))
605        {
606            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
607        }
608
609        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
610        /*
611         * Implicit String to Integer (<dec>)
612         *
613         * Method(mf98)
614         */
615        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
616        Local0 = ("                       0" + 0x00)
617        If ((Local0 != 0x00))
618        {
619            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
620        }
621
622        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
623        Local0 = ("\t\t\t\t\t\t0000000" + 0x00)
624        If ((Local0 != 0x00))
625        {
626            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
627        }
628
629        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
630        Local0 = ("                                 000000000000000000000000000000" + 0x00)
631        If ((Local0 != 0x00))
632        {
633            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
634        }
635
636        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
637        Local0 = ("\t\t\t\t\t\t\t000000000000000000000000000000" + 0x00)
638        If ((Local0 != 0x00))
639        {
640            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
641        }
642
643        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
644        Local0 = (" \t\t 1" + 0x00)
645        If ((Local0 != 0x01))
646        {
647            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x01)
648        }
649
650        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
651        Local0 = (" \t \t \t12345678" + 0x00)
652        If ((Local0 != 0x12345678))
653        {
654            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x12345678)
655        }
656
657        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
658        /*
659         * Implicit String to Integer (<hex-dec>)
660         *
661         * Method(mf99)
662         */
663        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
664        /* Hex: 0x - dec */
665
666        Local0 = ("\t\t\t\t1234567890123456" + 0x00)
667        If (F64)
668        {
669            If ((Local0 != 0x1234567890123456))
670            {
671                ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x1234567890123456)
672            }
673        }
674        ElseIf ((Local0 != 0x12345678))
675        {
676            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x12345678)
677        }
678
679        /* Hex: 0x - hex */
680
681        Local0 = ("\t\t\t\tabcdefef" + 0x00)
682        If ((Local0 != 0xABCDEFEF))
683        {
684            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0xABCDEFEF)
685        }
686
687        Local0 = ("     abcdefe" + 0x00)
688        If ((Local0 != 0x0ABCDEFE))
689        {
690            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x0ABCDEFE)
691        }
692
693        Local0 = ("             abcdefefadefbcdf" + 0x00)
694        If (F64)
695        {
696            If ((Local0 != 0xABCDEFEFADEFBCDF))
697            {
698                ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0xABCDEFEFADEFBCDF)
699            }
700        }
701        ElseIf ((Local0 != 0xABCDEFEF))
702        {
703            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0xABCDEFEF)
704        }
705
706        /* Hex: 0x - dec/hex */
707
708        Local0 = ("\t     \t\t\t \t   1ab2cd340fe05678" + 0x00)
709        If (F64)
710        {
711            If ((Local0 != 0x1AB2CD340FE05678))
712            {
713                ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x1AB2CD340FE05678)
714            }
715        }
716        ElseIf ((Local0 != 0x1AB2CD34))
717        {
718            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x1AB2CD34)
719        }
720
721        Local0 = (" 1ab2cd340fe05" + 0x00)
722        If (F64)
723        {
724            If ((Local0 != 0x0001AB2CD340FE05))
725            {
726                ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x0001AB2CD340FE05)
727            }
728        }
729        ElseIf ((Local0 != 0x1AB2CD34))
730        {
731            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x1AB2CD34)
732        }
733
734        Local0 = ("\t1a" + 0x00)
735        If ((Local0 != 0x1A))
736        {
737            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x1A)
738        }
739
740        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
741        /*
742         * No exceptions in special cases which force exceptions on ToInteger
743         *
744         * Method(mf9a)
745         */
746        /* 5. "1234cd" (non-decimal character in dec-image) */
747        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
748        Local0 = ("\t1234cd" + 0x00)
749        If ((Local0 != 0x001234CD))
750        {
751            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x001234CD)
752        }
753
754        /* 6. "000x1234" (non-decimal character in dec-image) */
755
756        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
757        Local0 = (" \t \t\t\t 000x1234" + 0x00)
758        If ((Local0 != 0x00))
759        {
760            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
761        }
762
763        /* 7. "0x1234cdQ" (non-hex character in '0x'-image) */
764
765        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
766        Local0 = (" \t  \t\t\t\t 0x1234cdQ" + 0x00)
767        If ((Local0 != 0x00))
768        {
769            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
770        }
771
772        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
773        Local0 = (" 1234cdQ" + 0x00)
774        If ((Local0 != 0x001234CD))
775        {
776            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x001234CD)
777        }
778
779        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
780        Local0 = ("   \t\t0x0x12345" + 0x00)
781        If ((Local0 != 0x00))
782        {
783            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
784        }
785
786        /* 8. "1234 " (white space in dec image) */
787
788        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
789        Local0 = ("   \t\t1234 " + 0x00)
790        If ((Local0 != 0x1234))
791        {
792            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x1234)
793        }
794
795        /* 9. "0x1234cd " (white space in '0x'-image) */
796
797        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
798        Local0 = ("\t\t\t  1234cd " + 0x00)
799        If ((Local0 != 0x001234CD))
800        {
801            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x001234CD)
802        }
803
804        /* 10. "0x 1234cdQ" (white space after '0x') */
805
806        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
807        Local0 = ("\t\t\t\t   \t \t \t\t0x 1234" + 0x00)
808        If ((Local0 != 0x00))
809        {
810            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
811        }
812
813        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
814        Local0 = (" \t   \t \t\t \t0x0x 1234" + 0x00)
815        If ((Local0 != 0x00))
816        {
817            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
818        }
819
820        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
821        Local0 = (" \t \t \t    \t\t0x0x 0x 1234" + 0x00)
822        If ((Local0 != 0x00))
823        {
824            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
825        }
826
827        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
828        Local0 = ("\t \t    \t      \t\t 0x 0x 1234" + 0x00)
829        If ((Local0 != 0x00))
830        {
831            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
832        }
833
834        /* 11. (decimal image exceeding maximal) */
835        /*     32-bit mode � the value exceeding "4294967295" */
836        If (0x01)
837        {
838            CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
839            Local0 = ("\t\t4294967296" + 0x00)
840            If (F64)
841            {
842                If ((Local0 != 0x0000004294967296))
843                {
844                    ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x0000004294967296)
845                }
846            }
847            ElseIf ((Local0 != 0x42949672))
848            {
849                ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x42949672)
850            }
851
852            CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
853            Local0 = ("    \t\t    \t\t\t123456789012345678904294967296" + 0x00)
854            If (F64)
855            {
856                If ((Local0 != 0x1234567890123456))
857                {
858                    ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x1234567890123456)
859                }
860            }
861            ElseIf ((Local0 != 0x12345678))
862            {
863                ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x12345678)
864            }
865
866            CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
867            Local0 = (" \t \t\t00004294967296" + 0x00)
868            If (F64)
869            {
870                If ((Local0 != 0x0000004294967296))
871                {
872                    ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x0000004294967296)
873                }
874            }
875            ElseIf ((Local0 != 0x42949672))
876            {
877                ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x42949672)
878            }
879
880            CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
881            Local0 = ("\t0123456789012345678904294967296" + 0x00)
882            If (F64)
883            {
884                If ((Local0 != 0x1234567890123456))
885                {
886                    ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x1234567890123456)
887                }
888            }
889            ElseIf ((Local0 != 0x12345678))
890            {
891                ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x12345678)
892            }
893
894            CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
895            Local0 = ("\t0123456789012345678904294967296" + 0x00)
896            If (F64)
897            {
898                If ((Local0 != 0x1234567890123456))
899                {
900                    ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x1234567890123456)
901                }
902            }
903            ElseIf ((Local0 != 0x12345678))
904            {
905                ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x12345678)
906            }
907
908            CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
909            Local0 = (" 123456789012345678904294967296" + 0x00)
910            If (F64)
911            {
912                If ((Local0 != 0x1234567890123456))
913                {
914                    ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x1234567890123456)
915                }
916            }
917            ElseIf ((Local0 != 0x12345678))
918            {
919                ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x12345678)
920            }
921
922            CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
923            Local0 = ("\t123456789012345678904294967296" + 0x00)
924            If (F64)
925            {
926                If ((Local0 != 0x1234567890123456))
927                {
928                    ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x1234567890123456)
929                }
930            }
931            ElseIf ((Local0 != 0x12345678))
932            {
933                ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x12345678)
934            }
935        }
936
937        /*     64-bit mode � the value exceeding "18446744073709551615" */
938
939        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
940        Local0 = ("\t\t\t18446744073709551616" + 0x00)
941        If (F64)
942        {
943            If ((Local0 != 0x1844674407370955))
944            {
945                ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x1844674407370955)
946            }
947        }
948        ElseIf ((Local0 != 0x18446744))
949        {
950            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x18446744)
951        }
952
953        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
954        Local0 = ("\t18446744073709551616" + 0x00)
955        If (F64)
956        {
957            If ((Local0 != 0x1844674407370955))
958            {
959                ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x1844674407370955)
960            }
961        }
962        ElseIf ((Local0 != 0x18446744))
963        {
964            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x18446744)
965        }
966
967        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
968        Local0 = (" 18446744073709551616" + 0x00)
969        If (F64)
970        {
971            If ((Local0 != 0x1844674407370955))
972            {
973                ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x1844674407370955)
974            }
975        }
976        ElseIf ((Local0 != 0x18446744))
977        {
978            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x18446744)
979        }
980
981        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
982        Local0 = ("   \t018446744073709551616" + 0x00)
983        If (F64)
984        {
985            If ((Local0 != 0x1844674407370955))
986            {
987                ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x1844674407370955)
988            }
989        }
990        ElseIf ((Local0 != 0x18446744))
991        {
992            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x18446744)
993        }
994
995        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
996        Local0 = (" \t000000000018446744073709551616" + 0x00)
997        If (F64)
998        {
999            If ((Local0 != 0x1844674407370955))
1000            {
1001                ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x1844674407370955)
1002            }
1003        }
1004        ElseIf ((Local0 != 0x18446744))
1005        {
1006            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x18446744)
1007        }
1008
1009        /* 12. "0x12345678901234567" (hex image exceeding maximal) */
1010
1011        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
1012        Local0 = ("\t\t0x12345678901234567" + 0x00)
1013        If ((Local0 != 0x00))
1014        {
1015            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
1016        }
1017
1018        /* 13. "0x00000000000001234" (hex image exceeding maximal; no matter that zeros) */
1019
1020        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
1021        Local0 = ("           0x00000000000001234" + 0x00)
1022        If ((Local0 != 0x00))
1023        {
1024            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
1025        }
1026
1027        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
1028        Local0 = ("          \t\t0x0000000000000000000001234" + 0x00)
1029        If ((Local0 != 0x00))
1030        {
1031            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
1032        }
1033
1034        /* 14. "0x123456789" (hex image exceeding maximal; for 32-bit mode only) */
1035
1036        If (0x01)
1037        {
1038            CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
1039            Local0 = ("0x123456789" + 0x00)
1040            If ((Local0 != 0x00))
1041            {
1042                ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
1043            }
1044        }
1045
1046        /* 15. "0x" (incomplete '0x' image) */
1047
1048        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
1049        Local0 = ("\t0x" + 0x00)
1050        If ((Local0 != 0x00))
1051        {
1052            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
1053        }
1054
1055        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
1056        Local0 = (" 0x" + 0x00)
1057        If ((Local0 != 0x00))
1058        {
1059            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
1060        }
1061
1062        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
1063    }
1064
1065    /*
1066     * 4. "0000000000000000000000001234"
1067     * (zeros before significant characters in image without '0x' are skipped).
1068     *
1069     * Exampples: mf9b + 000000000
1070     *
1071     * All the above examples but
1072     *
1073     *    with the white space before image of Data
1074     *  + 000000000 zeros before image
1075     */
1076    Method (MF9C, 0, NotSerialized)
1077    {
1078        /* Hex: 0x - dec */
1079
1080        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
1081        Local0 = (" 0000000000x0" + 0x00)
1082        If ((Local0 != 0x00))
1083        {
1084            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
1085        }
1086
1087        Local0 = ("\t0000000000x1" + 0x00)
1088        If ((Local0 != 0x00))
1089        {
1090            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
1091        }
1092
1093        Local0 = ("\t 0000000000x12345678" + 0x00)
1094        If ((Local0 != 0x00))
1095        {
1096            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
1097        }
1098
1099        Local0 = (" \t0000000000x1234567890123456" + 0x00)
1100        If ((Local0 != 0x00))
1101        {
1102            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
1103        }
1104
1105        /* Hex: 0x - hex */
1106
1107        Local0 = ("  0000000000xabcdefef" + 0x00)
1108        If ((Local0 != 0x00))
1109        {
1110            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
1111        }
1112
1113        Local0 = ("\t\t0000000000xabcdefefadefbcdf" + 0x00)
1114        If ((Local0 != 0x00))
1115        {
1116            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
1117        }
1118
1119        /* Hex: 0x - dec/hex */
1120
1121        Local0 = (" \t \t \t \t \t0000000000x1ab2cd340fe05678" + 0x00)
1122        If ((Local0 != 0x00))
1123        {
1124            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
1125        }
1126
1127        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
1128        Local0 = ("\t \t \t \t \t \t0000000000x1ab2cd340fe0567823456789123456789987" + 0x00)
1129        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
1130        If ((Local0 != 0x00))
1131        {
1132            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
1133        }
1134
1135        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
1136        /*
1137         * Implicit String to Integer (<dec>)
1138         *
1139         * Method(mf98)
1140         */
1141        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
1142        Local0 = ("                       0000000000" + 0x00)
1143        If ((Local0 != 0x00))
1144        {
1145            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
1146        }
1147
1148        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
1149        Local0 = ("\t\t\t\t\t\t0000000000000000" + 0x00)
1150        If ((Local0 != 0x00))
1151        {
1152            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
1153        }
1154
1155        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
1156        Local0 = ("                                 000000000000000000000000000000000000000" + 0x00)
1157        If ((Local0 != 0x00))
1158        {
1159            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
1160        }
1161
1162        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
1163        Local0 = ("\t\t\t\t\t\t\t000000000000000000000000000000000000000" + 0x00)
1164        If ((Local0 != 0x00))
1165        {
1166            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
1167        }
1168
1169        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
1170        Local0 = (" \t\t 0000000001" + 0x00)
1171        If ((Local0 != 0x01))
1172        {
1173            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x01)
1174        }
1175
1176        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
1177        Local0 = (" \t \t \t00000000012345678" + 0x00)
1178        If ((Local0 != 0x12345678))
1179        {
1180            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x12345678)
1181        }
1182
1183        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
1184        /*
1185         * Implicit String to Integer (<hex-dec>)
1186         *
1187         * Method(mf99)
1188         */
1189        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
1190        /* Hex: 0x - dec */
1191
1192        Local0 = ("\t\t\t\t0000000001234567890123456" + 0x00)
1193        If (F64)
1194        {
1195            If ((Local0 != 0x1234567890123456))
1196            {
1197                ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x1234567890123456)
1198            }
1199        }
1200        ElseIf ((Local0 != 0x12345678))
1201        {
1202            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x12345678)
1203        }
1204
1205        /* Hex: 0x - hex */
1206
1207        Local0 = ("\t\t\t\t000000000abcdefef" + 0x00)
1208        If ((Local0 != 0xABCDEFEF))
1209        {
1210            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0xABCDEFEF)
1211        }
1212
1213        Local0 = ("     000000000abcdefe" + 0x00)
1214        If ((Local0 != 0x0ABCDEFE))
1215        {
1216            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x0ABCDEFE)
1217        }
1218
1219        Local0 = ("             000000000abcdefefadefbcdf" + 0x00)
1220        If (F64)
1221        {
1222            If ((Local0 != 0xABCDEFEFADEFBCDF))
1223            {
1224                ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0xABCDEFEFADEFBCDF)
1225            }
1226        }
1227        ElseIf ((Local0 != 0xABCDEFEF))
1228        {
1229            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0xABCDEFEF)
1230        }
1231
1232        /* Hex: 0x - dec/hex */
1233
1234        Local0 = ("\t     \t\t\t \t   0000000001ab2cd340fe05678" + 0x00)
1235        If (F64)
1236        {
1237            If ((Local0 != 0x1AB2CD340FE05678))
1238            {
1239                ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x1AB2CD340FE05678)
1240            }
1241        }
1242        ElseIf ((Local0 != 0x1AB2CD34))
1243        {
1244            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x1AB2CD34)
1245        }
1246
1247        Local0 = (" 0000000001ab2cd340fe05" + 0x00)
1248        If (F64)
1249        {
1250            If ((Local0 != 0x0001AB2CD340FE05))
1251            {
1252                ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x0001AB2CD340FE05)
1253            }
1254        }
1255        ElseIf ((Local0 != 0x1AB2CD34))
1256        {
1257            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x1AB2CD34)
1258        }
1259
1260        Local0 = ("\t0000000001a" + 0x00)
1261        If ((Local0 != 0x1A))
1262        {
1263            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x1A)
1264        }
1265
1266        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
1267        /*
1268         * No exceptions in special cases which force exceptions on ToInteger
1269         *
1270         * Method(mf9a)
1271         */
1272        /* 5. "1234cd" (non-decimal character in dec-image) */
1273        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
1274        Local0 = ("\t0000000001234cd" + 0x00)
1275        If ((Local0 != 0x001234CD))
1276        {
1277            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x001234CD)
1278        }
1279
1280        /* 6. "000x1234" (non-decimal character in dec-image) */
1281
1282        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
1283        Local0 = (" \t \t\t\t 000000000000x1234" + 0x00)
1284        If ((Local0 != 0x00))
1285        {
1286            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
1287        }
1288
1289        /* 7. "0x1234cdQ" (non-hex character in '0x'-image) */
1290
1291        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
1292        Local0 = (" \t  \t\t\t\t 0000000000x1234cdQ" + 0x00)
1293        If ((Local0 != 0x00))
1294        {
1295            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
1296        }
1297
1298        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
1299        Local0 = (" 0000000001234cdQ" + 0x00)
1300        If ((Local0 != 0x001234CD))
1301        {
1302            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x001234CD)
1303        }
1304
1305        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
1306        Local0 = ("   \t\t0000000000x0x12345" + 0x00)
1307        If ((Local0 != 0x00))
1308        {
1309            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
1310        }
1311
1312        /* 8. "1234 " (white space in dec image) */
1313
1314        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
1315        Local0 = ("   \t\t0000000001234 " + 0x00)
1316        If ((Local0 != 0x1234))
1317        {
1318            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x1234)
1319        }
1320
1321        /* 9. "0x1234cd " (white space in '0x'-image) */
1322
1323        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
1324        Local0 = ("\t\t\t  0000000001234cd " + 0x00)
1325        If ((Local0 != 0x001234CD))
1326        {
1327            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x001234CD)
1328        }
1329
1330        /* 10. "0x 1234cdQ" (white space after '0x') */
1331
1332        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
1333        Local0 = ("\t\t\t\t   \t \t \t\t0000000000x 1234" + 0x00)
1334        If ((Local0 != 0x00))
1335        {
1336            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
1337        }
1338
1339        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
1340        Local0 = (" \t   \t \t\t \t0000000000x0x 1234" + 0x00)
1341        If ((Local0 != 0x00))
1342        {
1343            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
1344        }
1345
1346        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
1347        Local0 = (" \t \t \t    \t\t0000000000x0x 0x 1234" + 0x00)
1348        If ((Local0 != 0x00))
1349        {
1350            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
1351        }
1352
1353        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
1354        Local0 = ("\t \t    \t      \t\t 0000000000x 0x 1234" + 0x00)
1355        If ((Local0 != 0x00))
1356        {
1357            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
1358        }
1359
1360        /* 11. (decimal image exceeding maximal) */
1361        /*     32-bit mode � the value exceeding "4294967295" */
1362        If (0x01)
1363        {
1364            CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
1365            Local0 = ("\t\t0000000004294967296" + 0x00)
1366            If (F64)
1367            {
1368                If ((Local0 != 0x0000004294967296))
1369                {
1370                    ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x0000004294967296)
1371                }
1372            }
1373            ElseIf ((Local0 != 0x42949672))
1374            {
1375                ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x42949672)
1376            }
1377
1378            CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
1379            Local0 = ("    \t\t    \t\t\t000000000123456789012345678904294967296" + 0x00)
1380            If (F64)
1381            {
1382                If ((Local0 != 0x1234567890123456))
1383                {
1384                    ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x1234567890123456)
1385                }
1386            }
1387            ElseIf ((Local0 != 0x12345678))
1388            {
1389                ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x12345678)
1390            }
1391
1392            CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
1393            Local0 = (" \t \t\t00000000000004294967296" + 0x00)
1394            If (F64)
1395            {
1396                If ((Local0 != 0x0000004294967296))
1397                {
1398                    ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x0000004294967296)
1399                }
1400            }
1401            ElseIf ((Local0 != 0x42949672))
1402            {
1403                ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x42949672)
1404            }
1405
1406            CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
1407            Local0 = ("\t0000000000123456789012345678904294967296" + 0x00)
1408            If (F64)
1409            {
1410                If ((Local0 != 0x1234567890123456))
1411                {
1412                    ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x1234567890123456)
1413                }
1414            }
1415            ElseIf ((Local0 != 0x12345678))
1416            {
1417                ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x12345678)
1418            }
1419
1420            CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
1421            Local0 = ("\t0000000000123456789012345678904294967296" + 0x00)
1422            If (F64)
1423            {
1424                If ((Local0 != 0x1234567890123456))
1425                {
1426                    ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x1234567890123456)
1427                }
1428            }
1429            ElseIf ((Local0 != 0x12345678))
1430            {
1431                ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x12345678)
1432            }
1433
1434            CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
1435            Local0 = (" 000000000123456789012345678904294967296" + 0x00)
1436            If (F64)
1437            {
1438                If ((Local0 != 0x1234567890123456))
1439                {
1440                    ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x1234567890123456)
1441                }
1442            }
1443            ElseIf ((Local0 != 0x12345678))
1444            {
1445                ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x12345678)
1446            }
1447
1448            CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
1449            Local0 = ("\t000000000123456789012345678904294967296" + 0x00)
1450            If (F64)
1451            {
1452                If ((Local0 != 0x1234567890123456))
1453                {
1454                    ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x1234567890123456)
1455                }
1456            }
1457            ElseIf ((Local0 != 0x12345678))
1458            {
1459                ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x12345678)
1460            }
1461        }
1462
1463        /*     64-bit mode � the value exceeding "18446744073709551615" */
1464
1465        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
1466        Local0 = ("\t\t\t00000000018446744073709551616" + 0x00)
1467        If (F64)
1468        {
1469            If ((Local0 != 0x1844674407370955))
1470            {
1471                ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x1844674407370955)
1472            }
1473        }
1474        ElseIf ((Local0 != 0x18446744))
1475        {
1476            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x18446744)
1477        }
1478
1479        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
1480        Local0 = ("\t00000000018446744073709551616" + 0x00)
1481        If (F64)
1482        {
1483            If ((Local0 != 0x1844674407370955))
1484            {
1485                ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x1844674407370955)
1486            }
1487        }
1488        ElseIf ((Local0 != 0x18446744))
1489        {
1490            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x18446744)
1491        }
1492
1493        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
1494        Local0 = (" 00000000018446744073709551616" + 0x00)
1495        If (F64)
1496        {
1497            If ((Local0 != 0x1844674407370955))
1498            {
1499                ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x1844674407370955)
1500            }
1501        }
1502        ElseIf ((Local0 != 0x18446744))
1503        {
1504            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x18446744)
1505        }
1506
1507        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
1508        Local0 = ("   \t000000000018446744073709551616" + 0x00)
1509        If (F64)
1510        {
1511            If ((Local0 != 0x1844674407370955))
1512            {
1513                ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x1844674407370955)
1514            }
1515        }
1516        ElseIf ((Local0 != 0x18446744))
1517        {
1518            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x18446744)
1519        }
1520
1521        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
1522        Local0 = (" \t000000000000000000018446744073709551616" + 0x00)
1523        If (F64)
1524        {
1525            If ((Local0 != 0x1844674407370955))
1526            {
1527                ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x1844674407370955)
1528            }
1529        }
1530        ElseIf ((Local0 != 0x18446744))
1531        {
1532            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x18446744)
1533        }
1534
1535        /* 12. "0x12345678901234567" (hex image exceeding maximal) */
1536
1537        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
1538        Local0 = ("\t\t0000000000x12345678901234567" + 0x00)
1539        If ((Local0 != 0x00))
1540        {
1541            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
1542        }
1543
1544        /* 13. "0x00000000000001234" (hex image exceeding maximal; no matter that zeros) */
1545
1546        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
1547        Local0 = ("           0000000000x00000000000001234" + 0x00)
1548        If ((Local0 != 0x00))
1549        {
1550            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
1551        }
1552
1553        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
1554        Local0 = ("          \t\t0000000000x0000000000000000000001234" + 0x00)
1555        If ((Local0 != 0x00))
1556        {
1557            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
1558        }
1559
1560        /* 14. "0x123456789" (hex image exceeding maximal; for 32-bit mode only) */
1561
1562        If (0x01)
1563        {
1564            CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
1565            Local0 = ("0x123456789" + 0x00)
1566            If ((Local0 != 0x00))
1567            {
1568                ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
1569            }
1570        }
1571
1572        /* 15. "0x" (incomplete '0x' image) */
1573
1574        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
1575        Local0 = ("\t0000000000x" + 0x00)
1576        If ((Local0 != 0x00))
1577        {
1578            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
1579        }
1580
1581        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
1582        Local0 = (" 0000000000x" + 0x00)
1583        If ((Local0 != 0x00))
1584        {
1585            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Local0, 0x00)
1586        }
1587
1588        CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
1589    }
1590