From: David E. <de...@ar...> - 1999-12-06 05:01:27
|
Hi All, There is a problem with defining anything larger than 2**16, (65,536) bytes. This is because the max. size definable for .word type(2 bytes) is 2**16, (65,536). Fore example this, 01 TABEL-C. 05 TAB-C1 OCCURS 10 TIMES INDEXED BY C1. 10 TAB-C2 OCCURS 20 TIMES INDEXED BY C2. 15 TAB-C3 OCCURS 300 TIMES INDEXED BY C3. 25 TAB-C4 PIC 9(05). 25 TAB-C5 PIC 9(05). will generate this, test02.s: Assembler messages: test02.s:2097: Warning: Value 0x927c0 truncated to 0x27c0. 2096 # Field: TABEL_C, Stack loc: [bp-602416], Desc: v_base+748 2097 02ec C027 .word 600000 **** Warning:Value 0x927c0 truncated to 0x27c0. 2098 02ee 470000 .byte 'G',0,0 2099 # Field: TAB_C1, Stack loc: [bp-602416], Desc: v_base+753 2100 02f1 60EA .word 60000 2101 02f3 470000 .byte 'G',0,0 2102 # Field: TAB_C2, Stack loc: [bp-602416], Desc: v_base+758 2103 02f6 B80B .word 3000 2104 02f8 470000 .byte 'G',0,0 2105 # Field: TAB_C3, Stack loc: [bp-602416], Desc: v_base+763 2106 02fb 0A00 .word 10 2107 02fd 470000 .byte 'G',0,0 2108 # Field: TAB_C4, Stack loc: [bp-602416], Desc: v_base+768 2109 0300 0500 .word 5 2110 0302 390000 .byte '9',0,0 2111 0305 09030000 .long v_base+777 # v_base+309(hex) 2112 0309 3905 .byte '9',5 2113 030b 00 .byte 0 2114 # Field: TAB_C5, Stack loc: [bp-602411], Desc: v_base+780 2115 030c 0500 .word 5 2116 030e 390000 .byte '9',0,0 2117 0311 15030000 .long v_base+789 # v_base+315(hex) 2118 0315 3905 .byte '9',5 2119 0317 00 .byte 0 If you use a larger(.long or multiple .word combos) type you get a FP overflow error. The problem code is in htcobgen.c, in the proc_trail function. Rildo, you are the resident assembler expert, any way to fix this ? David |