Login

Subversion Repositories NedoOS

Rev

Rev 539 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

# file opened: numeric_constants_defX.asm
 1    0000                  OUTPUT "numeric_constants_defX.bin"
 2    0000                  ;; official documentation of v1.10.4 - all possible DEFx directives and synonyms
 3    0000
 4    0000                  ; should produce ABCDEFGHIJKLM, all possible numeric literals - byte size
 5    0000 41 42            BYTE    65, 66d
 6    0002 43 44 45 46      DB      43h, 0C4h-080h, 0x45, $46, #47
 6    0006 47
 7    0007 48 49 4A 4B      DEFB    1001000b, 01001001b, %1001010, %01001011
 8    000B 4C 4D            DEFM    114q, 115o
 9    000D
10    000D                  ;; some char/string literals - quotes parse escape sequences
11    000D                  ; \n, ", \, ', ', ', ?, ?, \n
12    000D 0A 22 5C 27      DM      "\n", "\"", "\\", "''\'", "\??", "\N"
12    0011 27 27 3F 3F
12    0015 0A
13    0016                  ; 2x "012345678\n" + "012\n"
14    0016 30 31 32 33      db      48-7+"\A", 49-8+"\B", 50-127+"\D", 51-27+"\E", 52-12+"\F"
14    001A 34
15    001B 35 36 37 38      db      53-10+"\N", 54-13+"\R", 55-9+"\T", 56-11+"\V", "\n"
15    001F 0A
16    0020 30 31 32 33      db      "\A"+48-7, "\B"+49-8, "\D"+50-127, "\E"+51-27, "\F"+52-12
16    0024 34
17    0025 35 36 37 38      db      "\N"+53-10, "\R"+54-13, "\T"+55-9, "\V"+56-11, "\n"
17    0029 0A
18    002A 30 31 32 0A      db      '0'+0,1+'0','0'+2,10
19    002E
20    002E                  ; WORD binary data
21    002E 00 C0 41 48      WORD    0C000h, "HA"   ,   "HE"
21    0032 45 48
22    0034 AE 08            DW      %0000100010101110
23    0036 E9 8A            DEFW    1000101011101001b
24    0038
25    0038                  ; DWORD binary data
26    0038 78 56 34 12      DWORD   0x12345678
27    003C 21 43 65 87      DD      87654321h,$FFFFFFFF
27    0040 FF FF FF FF
28    0044 0D F0 AD DE      DEFD    #DEADF00D   ,   "\nEEB"
28    0048 42 45 45 0A
29    004C
30    004C 41 42 43         ABYTE   64 1, 2, 3          ; +64
31    004F 44 45 C6 07      ABYTEC  3 "ABC", 4, "EF"    ; +3, last char of each substring |128
31    0053 48 C9
32    0055 4A 4B 4C 0D      ABYTEZ  9 "ABC", 4, "EF"    ; +9, extra 0 after last byte
32    0059 4E 4F 00
33    005C 0A C1 42 C3      DC      10, "A", "BC", "DEF" ; last char of each substring |128
33    0060 44 45 C6
34    0063 0A 61 62 63      DZ      10, "abc", "def"    ; extra 0 after last byte
34    0067 64 65 66 00
35    006B
36    006B                  ; block/ds directive
37    006B 0A 0A 0A...      BLOCK   5, "\n"
38    0070 2A 2A 2A...      DS      16, '*'
39    0080
40    0080                  ; 7x warning, testing 8/16b checks
numeric_constants_defX.asm(41): warning: value 0x10A is truncated to 8bit value: 0x0A
numeric_constants_defX.asm(41): warning: value 0x100 is truncated to 8bit value: 0x00
numeric_constants_defX.asm(41): warning: value 0xFFFFFEFF is truncated to 8bit value: 0xFF
numeric_constants_defX.asm(41): warning: value 0xFFFFFE0A is truncated to 8bit value: 0x0A
41    0080 0A 00 FF 0A      DB      266, 256, -257, -502
numeric_constants_defX.asm(42): warning: value 0xFFFEFFFF is truncated to 16bit value: 0xFFFF
numeric_constants_defX.asm(42): warning: value 0x10000 is truncated to 16bit value: 0x0000
numeric_constants_defX.asm(42): warning: value 0x44434241 is truncated to 16bit value: 0x4241
42    0084 FF FF 00 00      DW      -65537, 65536, "DCBA"   ; last one should produce bytes 'A', 'B'
42    0088 41 42
43    008A                  ; 5x 8b warnings for whole expressions (checks before "add" in ABYTE directive)
numeric_constants_defX.asm(44): warning: value 0x100 is truncated to 8bit value: 0x00
numeric_constants_defX.asm(44): warning: value 0x100 is truncated to 8bit value: 0x00
numeric_constants_defX.asm(44): warning: value 0x100 is truncated to 8bit value: 0x00
numeric_constants_defX.asm(44): warning: value 0x100 is truncated to 8bit value: 0x00
numeric_constants_defX.asm(44): warning: value 0x100 is truncated to 8bit value: 0x00
44    008A 21 21 21 21      ABYTE '!' 128+128, 191+'A', 'A'+191, 191+"A", "A"+191
44    008E 21
45    008F
46    008F 61 61 E2         DC      'a', 'ab'               ; DC distincts between single (no |128) and two+ chars
47    0092 E1 61 E2         DC      "a", "ab"               ; but only in apostrophes, quotes make it "string" always
48    0095
numeric_constants_defX.asm(49): error: Expression expected
49    0095                  DB                              ; expression expected error
numeric_constants_defX.asm(50): error: Expression expected
50    0095 01               DB      1,                      ; expression expected error
numeric_constants_defX.asm(51): warning: Empty string: "", ''
numeric_constants_defX.asm(51): warning: Empty string: ''
numeric_constants_defX.asm(51): error: no arguments
51    0096                  DC      "", ''                  ; 2x warning about empty "string" + 1x error "no arguments"
52    0096
53    0096                  ;; too many arguments error tests:
54    0096                  ; 2x OK (max 128 bytes)
55    0096 0A 31 32 33      DB      "\n123456789ABCDEF","0123456789ABCDEF","0123456789ABCDEF","0123456789ABCDEF","\n123456789ABCDEF","0123456789ABCDEF","0123456789ABCDEF","0123456789ABCDEF"
55    009A 34 35 36 37
55    009E 38 39 41 42
55    00A2 43 44 45 46
55    00A6 30 31 32 33
55    00AA 34 35 36 37
55    00AE 38 39 41 42
55    00B2 43 44 45 46
55    00B6 30 31 32 33
55    00BA 34 35 36 37
55    00BE 38 39 41 42
55    00C2 43 44 45 46
55    00C6 30 31 32 33
55    00CA 34 35 36 37
55    00CE 38 39 41 42
55    00D2 43 44 45 46
55    00D6 0A 31 32 33
55    00DA 34 35 36 37
55    00DE 38 39 41 42
55    00E2 43 44 45 46
55    00E6 30 31 32 33
55    00EA 34 35 36 37
55    00EE 38 39 41 42
55    00F2 43 44 45 46
55    00F6 30 31 32 33
55    00FA 34 35 36 37
55    00FE 38 39 41 42
55    0102 43 44 45 46
55    0106 30 31 32 33
55    010A 34 35 36 37
55    010E 38 39 41 42
55    0112 43 44 45 46
56    0116 0A 31 32 33      DB      "\n123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF\n123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"
56    011A 34 35 36 37
56    011E 38 39 41 42
56    0122 43 44 45 46
56    0126 30 31 32 33
56    012A 34 35 36 37
56    012E 38 39 41 42
56    0132 43 44 45 46
56    0136 30 31 32 33
56    013A 34 35 36 37
56    013E 38 39 41 42
56    0142 43 44 45 46
56    0146 30 31 32 33
56    014A 34 35 36 37
56    014E 38 39 41 42
56    0152 43 44 45 46
56    0156 0A 31 32 33
56    015A 34 35 36 37
56    015E 38 39 41 42
56    0162 43 44 45 46
56    0166 30 31 32 33
56    016A 34 35 36 37
56    016E 38 39 41 42
56    0172 43 44 45 46
56    0176 30 31 32 33
56    017A 34 35 36 37
56    017E 38 39 41 42
56    0182 43 44 45 46
56    0186 30 31 32 33
56    018A 34 35 36 37
56    018E 38 39 41 42
56    0192 43 44 45 46
57    0196                  ; 3x error too many
numeric_constants_defX.asm(58): error: Over 128 bytes defined in single DB/DC/... Values over: F"
58    0196 0A 31 32 33      DB      "\n123456789ABCDEF","0123456789ABCDEF","0123456789ABCDEF","0123456789ABCDEF",'!',"\n123456789ABCDEF","0123456789ABCDEF","0123456789ABCDEF","0123456789ABCDEF"
58    019A 34 35 36 37
58    019E 38 39 41 42
58    01A2 43 44 45 46
58    01A6 30 31 32 33
58    01AA 34 35 36 37
58    01AE 38 39 41 42
58    01B2 43 44 45 46
58    01B6 30 31 32 33
58    01BA 34 35 36 37
58    01BE 38 39 41 42
58    01C2 43 44 45 46
58    01C6 30 31 32 33
58    01CA 34 35 36 37
58    01CE 38 39 41 42
58    01D2 43 44 45 46
58    01D6 21 0A 31 32
58    01DA 33 34 35 36
58    01DE 37 38 39 41
58    01E2 42 43 44 45
58    01E6 46 30 31 32
58    01EA 33 34 35 36
58    01EE 37 38 39 41
58    01F2 42 43 44 45
58    01F6 46 30 31 32
58    01FA 33 34 35 36
58    01FE 37 38 39 41
58    0202 42 43 44 45
58    0206 46 30 31 32
58    020A 33 34 35 36
58    020E 37 38 39 41
58    0212 42 43 44 45
numeric_constants_defX.asm(59): error: Over 128 bytes defined in single DB/DC/... Values over:  1
59    0216 0A 31 32 33      DB      "\n123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF\n123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF", 1
59    021A 34 35 36 37
59    021E 38 39 41 42
59    0222 43 44 45 46
59    0226 30 31 32 33
59    022A 34 35 36 37
59    022E 38 39 41 42
59    0232 43 44 45 46
59    0236 30 31 32 33
59    023A 34 35 36 37
59    023E 38 39 41 42
59    0242 43 44 45 46
59    0246 30 31 32 33
59    024A 34 35 36 37
59    024E 38 39 41 42
59    0252 43 44 45 46
59    0256 0A 31 32 33
59    025A 34 35 36 37
59    025E 38 39 41 42
59    0262 43 44 45 46
59    0266 30 31 32 33
59    026A 34 35 36 37
59    026E 38 39 41 42
59    0272 43 44 45 46
59    0276 30 31 32 33
59    027A 34 35 36 37
59    027E 38 39 41 42
59    0282 43 44 45 46
59    0286 30 31 32 33
59    028A 34 35 36 37
59    028E 38 39 41 42
59    0292 43 44 45 46
numeric_constants_defX.asm(60): error: Over 128 bytes defined in single DB/DC/... Values over: !"
60    0296 0A 31 32 33      DB      "\n123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF\n123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF!"
60    029A 34 35 36 37
60    029E 38 39 41 42
60    02A2 43 44 45 46
60    02A6 30 31 32 33
60    02AA 34 35 36 37
60    02AE 38 39 41 42
60    02B2 43 44 45 46
60    02B6 30 31 32 33
60    02BA 34 35 36 37
60    02BE 38 39 41 42
60    02C2 43 44 45 46
60    02C6 30 31 32 33
60    02CA 34 35 36 37
60    02CE 38 39 41 42
60    02D2 43 44 45 46
60    02D6 0A 31 32 33
60    02DA 34 35 36 37
60    02DE 38 39 41 42
60    02E2 43 44 45 46
60    02E6 30 31 32 33
60    02EA 34 35 36 37
60    02EE 38 39 41 42
60    02F2 43 44 45 46
60    02F6 30 31 32 33
60    02FA 34 35 36 37
60    02FE 38 39 41 42
60    0302 43 44 45 46
60    0306 30 31 32 33
60    030A 34 35 36 37
60    030E 38 39 41 42
60    0312 43 44 45 46
61    0316
62    0316                  ;; exercising DW a bit more
63    0316 41 41 42 42      DW      'AA',    'BB'     ,       'CC'
63    031A 43 43
numeric_constants_defX.asm(64): error: Expression expected
64    031C                  DW                              ; error: Expression expected
numeric_constants_defX.asm(65): error: [DW/DEFW/WORD] Syntax error: &&$
65    031C                  DW      &&$                     ; error: Syntax error
66    031C                  ; 128 values = OK
67    031C 01 00 02 00      DW      1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16
67    0320 03 00 04 00
67    0324 05 00 06 00
67    0328 07 00 08 00
67    032C 09 00 0A 00
67    0330 0B 00 0C 00
67    0334 0D 00 0E 00
67    0338 0F 00 10 00
67    033C 01 00 02 00
67    0340 03 00 04 00
67    0344 05 00 06 00
67    0348 07 00 08 00
67    034C 09 00 0A 00
67    0350 0B 00 0C 00
67    0354 0D 00 0E 00
67    0358 0F 00 10 00
67    035C 01 00 02 00
67    0360 03 00 04 00
67    0364 05 00 06 00
67    0368 07 00 08 00
67    036C 09 00 0A 00
67    0370 0B 00 0C 00
67    0374 0D 00 0E 00
67    0378 0F 00 10 00
67    037C 01 00 02 00
67    0380 03 00 04 00
67    0384 05 00 06 00
67    0388 07 00 08 00
67    038C 09 00 0A 00
67    0390 0B 00 0C 00
67    0394 0D 00 0E 00
67    0398 0F 00 10 00
67    039C 01 00 02 00
67    03A0 03 00 04 00
67    03A4 05 00 06 00
67    03A8 07 00 08 00
67    03AC 09 00 0A 00
67    03B0 0B 00 0C 00
67    03B4 0D 00 0E 00
67    03B8 0F 00 10 00
67    03BC 01 00 02 00
67    03C0 03 00 04 00
67    03C4 05 00 06 00
67    03C8 07 00 08 00
67    03CC 09 00 0A 00
67    03D0 0B 00 0C 00
67    03D4 0D 00 0E 00
67    03D8 0F 00 10 00
67    03DC 01 00 02 00
67    03E0 03 00 04 00
67    03E4 05 00 06 00
67    03E8 07 00 08 00
67    03EC 09 00 0A 00
67    03F0 0B 00 0C 00
67    03F4 0D 00 0E 00
67    03F8 0F 00 10 00
67    03FC 01 00 02 00
67    0400 03 00 04 00
67    0404 05 00 06 00
67    0408 07 00 08 00
67    040C 09 00 0A 00
67    0410 0B 00 0C 00
67    0414 0D 00 0E 00
67    0418 0F 00 10 00
68    041C                  ; 129 values = error too many
numeric_constants_defX.asm(69): error: Over 128 values in DW/DEFW/WORD. Values over: 16
69    041C FF FF 01 00      DW      -1, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16
69    0420 02 00 03 00
69    0424 04 00 05 00
69    0428 06 00 07 00
69    042C 08 00 09 00
69    0430 0A 00 0B 00
69    0434 0C 00 0D 00
69    0438 0E 00 0F 00
69    043C 10 00 01 00
69    0440 02 00 03 00
69    0444 04 00 05 00
69    0448 06 00 07 00
69    044C 08 00 09 00
69    0450 0A 00 0B 00
69    0454 0C 00 0D 00
69    0458 0E 00 0F 00
69    045C 10 00 01 00
69    0460 02 00 03 00
69    0464 04 00 05 00
69    0468 06 00 07 00
69    046C 08 00 09 00
69    0470 0A 00 0B 00
69    0474 0C 00 0D 00
69    0478 0E 00 0F 00
69    047C 10 00 01 00
69    0480 02 00 03 00
69    0484 04 00 05 00
69    0488 06 00 07 00
69    048C 08 00 09 00
69    0490 0A 00 0B 00
69    0494 0C 00 0D 00
69    0498 0E 00 0F 00
69    049C 10 00 01 00
69    04A0 02 00 03 00
69    04A4 04 00 05 00
69    04A8 06 00 07 00
69    04AC 08 00 09 00
69    04B0 0A 00 0B 00
69    04B4 0C 00 0D 00
69    04B8 0E 00 0F 00
69    04BC 10 00 01 00
69    04C0 02 00 03 00
69    04C4 04 00 05 00
69    04C8 06 00 07 00
69    04CC 08 00 09 00
69    04D0 0A 00 0B 00
69    04D4 0C 00 0D 00
69    04D8 0E 00 0F 00
69    04DC 10 00 01 00
69    04E0 02 00 03 00
69    04E4 04 00 05 00
69    04E8 06 00 07 00
69    04EC 08 00 09 00
69    04F0 0A 00 0B 00
69    04F4 0C 00 0D 00
69    04F8 0E 00 0F 00
69    04FC 10 00 01 00
69    0500 02 00 03 00
69    0504 04 00 05 00
69    0508 06 00 07 00
69    050C 08 00 09 00
69    0510 0A 00 0B 00
69    0514 0C 00 0D 00
69    0518 0E 00 0F 00
70    051C
71    051C                  ;; exercising DD a bit more
72    051C 41 41 41 41      DD      'AAAA',    'BBBB'     ,       'CCCC'
72    0520 42 42 42 42
72    0524 43 43 43 43
numeric_constants_defX.asm(73): error: Expression expected
73    0528                  DD                              ; error: Expression expected
numeric_constants_defX.asm(74): error: [DWORD] Syntax error: &&$
74    0528                  DD      &&$                     ; error: Syntax error
75    0528                  ; 128 values = OK
76    0528 FF FF FF FF      DD      -1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16
76    052C 02 00 00 00
76    0530 03 00 00 00
76    0534 04 00 00 00
76    0538 05 00 00 00
76    053C 06 00 00 00
76    0540 07 00 00 00
76    0544 08 00 00 00
76    0548 09 00 00 00
76    054C 0A 00 00 00
76    0550 0B 00 00 00
76    0554 0C 00 00 00
76    0558 0D 00 00 00
76    055C 0E 00 00 00
76    0560 0F 00 00 00
76    0564 10 00 00 00
76    0568 01 00 00 00
76    056C 02 00 00 00
76    0570 03 00 00 00
76    0574 04 00 00 00
76    0578 05 00 00 00
76    057C 06 00 00 00
76    0580 07 00 00 00
76    0584 08 00 00 00
76    0588 09 00 00 00
76    058C 0A 00 00 00
76    0590 0B 00 00 00
76    0594 0C 00 00 00
76    0598 0D 00 00 00
76    059C 0E 00 00 00
76    05A0 0F 00 00 00
76    05A4 10 00 00 00
76    05A8 01 00 00 00
76    05AC 02 00 00 00
76    05B0 03 00 00 00
76    05B4 04 00 00 00
76    05B8 05 00 00 00
76    05BC 06 00 00 00
76    05C0 07 00 00 00
76    05C4 08 00 00 00
76    05C8 09 00 00 00
76    05CC 0A 00 00 00
76    05D0 0B 00 00 00
76    05D4 0C 00 00 00
76    05D8 0D 00 00 00
76    05DC 0E 00 00 00
76    05E0 0F 00 00 00
76    05E4 10 00 00 00
76    05E8 01 00 00 00
76    05EC 02 00 00 00
76    05F0 03 00 00 00
76    05F4 04 00 00 00
76    05F8 05 00 00 00
76    05FC 06 00 00 00
76    0600 07 00 00 00
76    0604 08 00 00 00
76    0608 09 00 00 00
76    060C 0A 00 00 00
76    0610 0B 00 00 00
76    0614 0C 00 00 00
76    0618 0D 00 00 00
76    061C 0E 00 00 00
76    0620 0F 00 00 00
76    0624 10 00 00 00
76    0628 01 00 00 00
76    062C 02 00 00 00
76    0630 03 00 00 00
76    0634 04 00 00 00
76    0638 05 00 00 00
76    063C 06 00 00 00
76    0640 07 00 00 00
76    0644 08 00 00 00
76    0648 09 00 00 00
76    064C 0A 00 00 00
76    0650 0B 00 00 00
76    0654 0C 00 00 00
76    0658 0D 00 00 00
76    065C 0E 00 00 00
76    0660 0F 00 00 00
76    0664 10 00 00 00
76    0668 01 00 00 00
76    066C 02 00 00 00
76    0670 03 00 00 00
76    0674 04 00 00 00
76    0678 05 00 00 00
76    067C 06 00 00 00
76    0680 07 00 00 00
76    0684 08 00 00 00
76    0688 09 00 00 00
76    068C 0A 00 00 00
76    0690 0B 00 00 00
76    0694 0C 00 00 00
76    0698 0D 00 00 00
76    069C 0E 00 00 00
76    06A0 0F 00 00 00
76    06A4 10 00 00 00
76    06A8 01 00 00 00
76    06AC 02 00 00 00
76    06B0 03 00 00 00
76    06B4 04 00 00 00
76    06B8 05 00 00 00
76    06BC 06 00 00 00
76    06C0 07 00 00 00
76    06C4 08 00 00 00
76    06C8 09 00 00 00
76    06CC 0A 00 00 00
76    06D0 0B 00 00 00
76    06D4 0C 00 00 00
76    06D8 0D 00 00 00
76    06DC 0E 00 00 00
76    06E0 0F 00 00 00
76    06E4 10 00 00 00
76    06E8 01 00 00 00
76    06EC 02 00 00 00
76    06F0 03 00 00 00
76    06F4 04 00 00 00
76    06F8 05 00 00 00
76    06FC 06 00 00 00
76    0700 07 00 00 00
76    0704 08 00 00 00
76    0708 09 00 00 00
76    070C 0A 00 00 00
76    0710 0B 00 00 00
76    0714 0C 00 00 00
76    0718 0D 00 00 00
76    071C 0E 00 00 00
76    0720 0F 00 00 00
76    0724 10 00 00 00
77    0728                  ; 129 values = error too many
numeric_constants_defX.asm(78): error: Over 128 values in DWORD. Values over: 16
78    0728 FF FF FF FF      DD      -1, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16
78    072C 01 00 00 00
78    0730 02 00 00 00
78    0734 03 00 00 00
78    0738 04 00 00 00
78    073C 05 00 00 00
78    0740 06 00 00 00
78    0744 07 00 00 00
78    0748 08 00 00 00
78    074C 09 00 00 00
78    0750 0A 00 00 00
78    0754 0B 00 00 00
78    0758 0C 00 00 00
78    075C 0D 00 00 00
78    0760 0E 00 00 00
78    0764 0F 00 00 00
78    0768 10 00 00 00
78    076C 01 00 00 00
78    0770 02 00 00 00
78    0774 03 00 00 00
78    0778 04 00 00 00
78    077C 05 00 00 00
78    0780 06 00 00 00
78    0784 07 00 00 00
78    0788 08 00 00 00
78    078C 09 00 00 00
78    0790 0A 00 00 00
78    0794 0B 00 00 00
78    0798 0C 00 00 00
78    079C 0D 00 00 00
78    07A0 0E 00 00 00
78    07A4 0F 00 00 00
78    07A8 10 00 00 00
78    07AC 01 00 00 00
78    07B0 02 00 00 00
78    07B4 03 00 00 00
78    07B8 04 00 00 00
78    07BC 05 00 00 00
78    07C0 06 00 00 00
78    07C4 07 00 00 00
78    07C8 08 00 00 00
78    07CC 09 00 00 00
78    07D0 0A 00 00 00
78    07D4 0B 00 00 00
78    07D8 0C 00 00 00
78    07DC 0D 00 00 00
78    07E0 0E 00 00 00
78    07E4 0F 00 00 00
78    07E8 10 00 00 00
78    07EC 01 00 00 00
78    07F0 02 00 00 00
78    07F4 03 00 00 00
78    07F8 04 00 00 00
78    07FC 05 00 00 00
78    0800 06 00 00 00
78    0804 07 00 00 00
78    0808 08 00 00 00
78    080C 09 00 00 00
78    0810 0A 00 00 00
78    0814 0B 00 00 00
78    0818 0C 00 00 00
78    081C 0D 00 00 00
78    0820 0E 00 00 00
78    0824 0F 00 00 00
78    0828 10 00 00 00
78    082C 01 00 00 00
78    0830 02 00 00 00
78    0834 03 00 00 00
78    0838 04 00 00 00
78    083C 05 00 00 00
78    0840 06 00 00 00
78    0844 07 00 00 00
78    0848 08 00 00 00
78    084C 09 00 00 00
78    0850 0A 00 00 00
78    0854 0B 00 00 00
78    0858 0C 00 00 00
78    085C 0D 00 00 00
78    0860 0E 00 00 00
78    0864 0F 00 00 00
78    0868 10 00 00 00
78    086C 01 00 00 00
78    0870 02 00 00 00
78    0874 03 00 00 00
78    0878 04 00 00 00
78    087C 05 00 00 00
78    0880 06 00 00 00
78    0884 07 00 00 00
78    0888 08 00 00 00
78    088C 09 00 00 00
78    0890 0A 00 00 00
78    0894 0B 00 00 00
78    0898 0C 00 00 00
78    089C 0D 00 00 00
78    08A0 0E 00 00 00
78    08A4 0F 00 00 00
78    08A8 10 00 00 00
78    08AC 01 00 00 00
78    08B0 02 00 00 00
78    08B4 03 00 00 00
78    08B8 04 00 00 00
78    08BC 05 00 00 00
78    08C0 06 00 00 00
78    08C4 07 00 00 00
78    08C8 08 00 00 00
78    08CC 09 00 00 00
78    08D0 0A 00 00 00
78    08D4 0B 00 00 00
78    08D8 0C 00 00 00
78    08DC 0D 00 00 00
78    08E0 0E 00 00 00
78    08E4 0F 00 00 00
78    08E8 10 00 00 00
78    08EC 01 00 00 00
78    08F0 02 00 00 00
78    08F4 03 00 00 00
78    08F8 04 00 00 00
78    08FC 05 00 00 00
78    0900 06 00 00 00
78    0904 07 00 00 00
78    0908 08 00 00 00
78    090C 09 00 00 00
78    0910 0A 00 00 00
78    0914 0B 00 00 00
78    0918 0C 00 00 00
78    091C 0D 00 00 00
78    0920 0E 00 00 00
78    0924 0F 00 00 00
79    0928
80    0928                  ;; exercising D24 a bit more
81    0928 41 41 41 42      D24     'AAA',    'BBB'     ,       'CCC'
81    092C 42 42 43 43
81    0930 43
numeric_constants_defX.asm(82): warning: value 0x41414141 is truncated to 24bit value: 0x414141
numeric_constants_defX.asm(82): warning: value 0x42424242 is truncated to 24bit value: 0x424242
numeric_constants_defX.asm(82): warning: value 0x43434343 is truncated to 24bit value: 0x434343
82    0931 41 41 41 42      D24    'AAAA',   'BBBB'     ,      'CCCC'       ; 3x int24 warning
82    0935 42 42 43 43
82    0939 43
numeric_constants_defX.asm(83): error: Expression expected
83    093A                  D24                             ; error: Expression expected
numeric_constants_defX.asm(84): error: [D24] Syntax error: &&$
84    093A                  D24     &&$                     ; error: Syntax error
85    093A                  ; 128 values = OK
86    093A FF FF FF 02      D24     -1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16
86    093E 00 00 03 00
86    0942 00 04 00 00
86    0946 05 00 00 06
86    094A 00 00 07 00
86    094E 00 08 00 00
86    0952 09 00 00 0A
86    0956 00 00 0B 00
86    095A 00 0C 00 00
86    095E 0D 00 00 0E
86    0962 00 00 0F 00
86    0966 00 10 00 00
86    096A 01 00 00 02
86    096E 00 00 03 00
86    0972 00 04 00 00
86    0976 05 00 00 06
86    097A 00 00 07 00
86    097E 00 08 00 00
86    0982 09 00 00 0A
86    0986 00 00 0B 00
86    098A 00 0C 00 00
86    098E 0D 00 00 0E
86    0992 00 00 0F 00
86    0996 00 10 00 00
86    099A 01 00 00 02
86    099E 00 00 03 00
86    09A2 00 04 00 00
86    09A6 05 00 00 06
86    09AA 00 00 07 00
86    09AE 00 08 00 00
86    09B2 09 00 00 0A
86    09B6 00 00 0B 00
86    09BA 00 0C 00 00
86    09BE 0D 00 00 0E
86    09C2 00 00 0F 00
86    09C6 00 10 00 00
86    09CA 01 00 00 02
86    09CE 00 00 03 00
86    09D2 00 04 00 00
86    09D6 05 00 00 06
86    09DA 00 00 07 00
86    09DE 00 08 00 00
86    09E2 09 00 00 0A
86    09E6 00 00 0B 00
86    09EA 00 0C 00 00
86    09EE 0D 00 00 0E
86    09F2 00 00 0F 00
86    09F6 00 10 00 00
86    09FA 01 00 00 02
86    09FE 00 00 03 00
86    0A02 00 04 00 00
86    0A06 05 00 00 06
86    0A0A 00 00 07 00
86    0A0E 00 08 00 00
86    0A12 09 00 00 0A
86    0A16 00 00 0B 00
86    0A1A 00 0C 00 00
86    0A1E 0D 00 00 0E
86    0A22 00 00 0F 00
86    0A26 00 10 00 00
86    0A2A 01 00 00 02
86    0A2E 00 00 03 00
86    0A32 00 04 00 00
86    0A36 05 00 00 06
86    0A3A 00 00 07 00
86    0A3E 00 08 00 00
86    0A42 09 00 00 0A
86    0A46 00 00 0B 00
86    0A4A 00 0C 00 00
86    0A4E 0D 00 00 0E
86    0A52 00 00 0F 00
86    0A56 00 10 00 00
86    0A5A 01 00 00 02
86    0A5E 00 00 03 00
86    0A62 00 04 00 00
86    0A66 05 00 00 06
86    0A6A 00 00 07 00
86    0A6E 00 08 00 00
86    0A72 09 00 00 0A
86    0A76 00 00 0B 00
86    0A7A 00 0C 00 00
86    0A7E 0D 00 00 0E
86    0A82 00 00 0F 00
86    0A86 00 10 00 00
86    0A8A 01 00 00 02
86    0A8E 00 00 03 00
86    0A92 00 04 00 00
86    0A96 05 00 00 06
86    0A9A 00 00 07 00
86    0A9E 00 08 00 00
86    0AA2 09 00 00 0A
86    0AA6 00 00 0B 00
86    0AAA 00 0C 00 00
86    0AAE 0D 00 00 0E
86    0AB2 00 00 0F 00
86    0AB6 00 10 00 00
87    0ABA                  ; 129 values = error too many
numeric_constants_defX.asm(88): error: Over 128 values in D24. Values over: 16
88    0ABA FF FF FF 01      D24     -1, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16
88    0ABE 00 00 02 00
88    0AC2 00 03 00 00
88    0AC6 04 00 00 05
88    0ACA 00 00 06 00
88    0ACE 00 07 00 00
88    0AD2 08 00 00 09
88    0AD6 00 00 0A 00
88    0ADA 00 0B 00 00
88    0ADE 0C 00 00 0D
88    0AE2 00 00 0E 00
88    0AE6 00 0F 00 00
88    0AEA 10 00 00 01
88    0AEE 00 00 02 00
88    0AF2 00 03 00 00
88    0AF6 04 00 00 05
88    0AFA 00 00 06 00
88    0AFE 00 07 00 00
88    0B02 08 00 00 09
88    0B06 00 00 0A 00
88    0B0A 00 0B 00 00
88    0B0E 0C 00 00 0D
88    0B12 00 00 0E 00
88    0B16 00 0F 00 00
88    0B1A 10 00 00 01
88    0B1E 00 00 02 00
88    0B22 00 03 00 00
88    0B26 04 00 00 05
88    0B2A 00 00 06 00
88    0B2E 00 07 00 00
88    0B32 08 00 00 09
88    0B36 00 00 0A 00
88    0B3A 00 0B 00 00
88    0B3E 0C 00 00 0D
88    0B42 00 00 0E 00
88    0B46 00 0F 00 00
88    0B4A 10 00 00 01
88    0B4E 00 00 02 00
88    0B52 00 03 00 00
88    0B56 04 00 00 05
88    0B5A 00 00 06 00
88    0B5E 00 07 00 00
88    0B62 08 00 00 09
88    0B66 00 00 0A 00
88    0B6A 00 0B 00 00
88    0B6E 0C 00 00 0D
88    0B72 00 00 0E 00
88    0B76 00 0F 00 00
88    0B7A 10 00 00 01
88    0B7E 00 00 02 00
88    0B82 00 03 00 00
88    0B86 04 00 00 05
88    0B8A 00 00 06 00
88    0B8E 00 07 00 00
88    0B92 08 00 00 09
88    0B96 00 00 0A 00
88    0B9A 00 0B 00 00
88    0B9E 0C 00 00 0D
88    0BA2 00 00 0E 00
88    0BA6 00 0F 00 00
88    0BAA 10 00 00 01
88    0BAE 00 00 02 00
88    0BB2 00 03 00 00
88    0BB6 04 00 00 05
88    0BBA 00 00 06 00
88    0BBE 00 07 00 00
88    0BC2 08 00 00 09
88    0BC6 00 00 0A 00
88    0BCA 00 0B 00 00
88    0BCE 0C 00 00 0D
88    0BD2 00 00 0E 00
88    0BD6 00 0F 00 00
88    0BDA 10 00 00 01
88    0BDE 00 00 02 00
88    0BE2 00 03 00 00
88    0BE6 04 00 00 05
88    0BEA 00 00 06 00
88    0BEE 00 07 00 00
88    0BF2 08 00 00 09
88    0BF6 00 00 0A 00
88    0BFA 00 0B 00 00
88    0BFE 0C 00 00 0D
88    0C02 00 00 0E 00
88    0C06 00 0F 00 00
88    0C0A 10 00 00 01
88    0C0E 00 00 02 00
88    0C12 00 03 00 00
88    0C16 04 00 00 05
88    0C1A 00 00 06 00
88    0C1E 00 07 00 00
88    0C22 08 00 00 09
88    0C26 00 00 0A 00
88    0C2A 00 0B 00 00
88    0C2E 0C 00 00 0D
88    0C32 00 00 0E 00
88    0C36 00 0F 00 00
89    0C3A
90    0C3A                  ; check if syntax errors are reported precisely *once* per (tricky) expression
numeric_constants_defX.asm(91): error: Syntax error:
91    0C3A                  DB      +                       ; error: Syntax error
numeric_constants_defX.asm(92): error: Syntax error: &&$
92    0C3A                  DB      &&$                     ; error: Syntax error
93    0C3A
numeric_constants_defX.asm(94): error: ABYTE <offset> <bytes>: parsing <offset> failed: ABYTE & 1
94    0C3A                  ABYTE & 1
numeric_constants_defX.asm(94): error: ABYTEC <offset> <bytes>: parsing <offset> failed: ABYTEC & 2
94    0C3A                ABYTEC & 2
numeric_constants_defX.asm(94): error: ABYTEZ <offset> <bytes>: parsing <offset> failed: ABYTEZ & 3
94    0C3A                ABYTEZ & 3 ; error: Syntax error
95    0C3A
# file closed: numeric_constants_defX.asm

Value    Label
------ - -----------------------------------------------------------