1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302
|
2005-01-03 Craig Franklin <craigfranklin@users.sourceforge.net>
* gputils 0.13.0 Released.
* [gpdasm] Fixed error in decoding two word instructions.
2004-12-31 Craig Franklin <craigfranklin@users.sourceforge.net>
* [gputils] Added support for 18xx extended instruction set.
* [gplink] Generate a warning if object processor names don't match.
* [gpdasm] Decode 18xx instruction mnemonics.
2004-12-24 Craig Franklin <craigfranklin@users.sourceforge.net>
* [gputils] Updated header files and linker scripts.
* [gputils] Added new processors: p10f200, p10f202, p10f204, p10f206,
p16f59, p16f639, p16f685, p16f687, p16f689, p16f690 p18f6310, p18f6390,
p18f64j15, p18f65j10, p18f65j15, p18f6627, p18f66j10, p18f66j15,
p18f6722, p18f67j10, p18f8310, p18f8390, p18f84j15, p18f85j10, p18f85j15,
p18f8627, p18f86j10, p18f86j15, p18f8722, p18f87j10
2004-11-28 Robert Kaes <rjkaes@users.sourceforge.net>
* [gpal] Improved context save during isr.
* [gpal] Simplified symbol offsets in the code generator.
2004-11-26 Craig Franklin <craigfranklin@users.sourceforge.net>
* [gpal] Added symbol attributes.
* [gpal] Added access types.
* [gpal] Added volatile symbols.
* [gpal] Added records.
2004-11-09 Craig Franklin <craigfranklin@users.sourceforge.net>
* [gpal] Write a newline before eof in deps output.
* [gpal] Require a public file for the module being compiled.
2004-11-09 Craig Franklin <craigfranklin@users.sourceforge.net>
* [gpal] Generate Make compatible dependency lists.
* [gpal] Attempt to open <public>.pub file if <public> isn't in memory.
* [gpal] Use extended coff directives in gpal output files.
* [gpasm] Fixed errors in new COFF directives.
* [gplink] Sort sections in the map file.
2004-11-05 Craig Franklin <craigfranklin@users.sourceforge.net>
* Moved gpal FSR code to device specific code generators.
2004-11-05 Robert Kaes <rjkaes@users.sourceforge.net>
* Improved gpal 16e code generator.
2004-10-29 Craig Franklin <craigfranklin@users.sourceforge.net>
* Fixed bugs in gpal banksels, code generation, and optimizer.
2004-10-27 Robert Kaes <rjkaes@users.sourceforge.net>
* Moved gpal reset and interrupt vectors to device specific code generators.
* Fixed gpal com operator.
* Fixed gpal bug when function calls appear in test expressions.
* Improved gpal 16e indirect accesses, indf accesses, and inc/dec functions.
2004-10-26 Craig Franklin <craigfranklin@users.sourceforge.net>
* Allow conditionals in gpal subprogram declaration region.
2004-10-24 Craig Franklin <craigfranklin@users.sourceforge.net>
* Allow complex alias expressions in gpal.
* Allow pragmas in gpal subprograms.
* Add second pass to gpal optimizer.
2004-10-21 Craig Franklin <craigfranklin@users.sourceforge.net>
* Reduced number of gpal banksels.
2004-10-19 Craig Franklin <craigfranklin@users.sourceforge.net>
* Fixed bug in new linker script option.
* Use autoconf PACKAGE_BUGREPORT macro.
* Improvements in gpal's 18xx code generator.
2004-10-17 Craig Franklin <craigfranklin@users.sourceforge.net>
* Added absolute path option on win32 hosts.
* Allow the linker script to be specified on as first item of the object
list in gplink.
2004-10-15 Craig Franklin <craigfranklin@users.sourceforge.net>
* Delete gplink output files when errors occur.
* Use more boolean types.
* Clean up top level of gplink.
* Added French translation of gputils man pages.
2004-10-10 Craig Franklin <craigfranklin@users.sourceforge.net>
* Merged changes from cod-branch:
- Fixed stop location error in directory map of COD files.
- Added time and date to COD files.
- Fixed error in gpvc time reporting.
- Changed to byte addressing for 18xx cod files.
* Added direct messaging from COFF and COD files to simulator.
* Added new COFF directives .ident and .type.
* Allow expressions as arguments to banksel, bankisel, and pagesel.
* Improved rpm spec file.
2004-10-02 Craig Franklin <craigfranklin@users.sourceforge.net>
* Fixed error in disassembly of 18xx instuctions.
2004-09-26 Craig Franklin <craigfranklin@users.sourceforge.net>
* Added directives to gpasm for directly modifying COFF symbol tables.
* Changed the gpasm COFF debug directives to .file, .eof, and .line.
2004-09-24 Craig Franklin <craigfranklin@users.sourceforge.net>
* gputils 0.12.4 Released.
* Allow odd relocation addresses in gplink and gpasm.
2004-09-16 Craig Franklin <craigfranklin@users.sourceforge.net>
* Improved banksel and pagesel directives.
2004-09-13 Craig Franklin <craigfranklin@users.sourceforge.net>
* Remove processor name kludge in gpasm lexer.
* Fixed bug in gpal indirect access banksel.
* Fixed bug in gpal function return values.
2004-09-05 Craig Franklin <craigfranklin@users.sourceforge.net>
* Added new error message to gplink to catch udata sections in devices
with only shared memory definitions.
* Allow udata sections to be relocated by gplink to shared sections if
no space is available.
2004-08-29 Craig Franklin <craigfranklin@users.sourceforge.net>
* Add 18xx support to gpal.
* Fix disassembly of multi-word 18xx instructions.
2004-08-25 Craig Franklin <craigfranklin@users.sourceforge.net>
* Allow "#" in gpasm labels.
2004-08-23 Craig Franklin <craigfranklin@users.sourceforge.net>
* Fixed disassembly of clrwdt on 16xx processors.
2004-08-22 Craig Franklin <craigfranklin@users.sourceforge.net>
* Fixed BSR location for 18f2331, 18f2431, 18f4331, and 18f4431
2004-07-25 Craig Franklin <craigfranklin@users.sourceforge.net>
* gputils 0.12.3 Released.
2004-07-24 Craig Franklin <craigfranklin@users.sourceforge.net>
* Merged patches from OpenBSD port.
2004-07-23 Craig Franklin <craigfranklin@users.sourceforge.net>
* Added new processors: 12f508 12f509 12f635 12f683 16f505 16f636
16f785 16f913 16f914 16f916 16f917 18f2410 18f2420 18f2455 18f2480
18f2510 18f2515 18f2520 18f2525 18f2550 18f2580 18f2585 18f2610 18f2680
18f2681 18f4410 18f4420 18f4455 18f4480 18f4510 18f4515 18f4520 18f4525
18f4550 18f4580 18f4585 18f4610 18f4680 18f4681 18f6410 18f6490 18f8410
18f8490
* Updated header files and linker scripts.
2004-07-22 Craig Franklin <craigfranklin@users.sourceforge.net>
* Define SFRs in pub files as uint8 instead of constant uint8.
2004-07-18 Craig Franklin <craigfranklin@users.sourceforge.net>
* Allow multiple modules and publics in one gpal file.
2004-07-17 Craig Franklin <craigfranklin@users.sourceforge.net>
* Added _stack_end symbol to gplink to simplify downward growing stacks.
2004-07-13 Craig Franklin <craigfranklin@users.sourceforge.net>
* gputils 0.12.2 Released.
2004-07-08 Craig Franklin <craigfranklin@users.sourceforge.net>
* Allow empty modules and publics in gpal.
* Allow if statements in a module or public, but outside of subprograms
in gpal.
2004-07-07 Craig Franklin <craigfranklin@users.sourceforge.net>
* Added support for manually assigned data memory addresses in gpal.
2004-07-04 Craig Franklin <craigfranklin@users.sourceforge.net>
* Added support for nested case statements in gpal.
* Added support for multiple switch elements in gpal case statements.
2004-07-03 Craig Franklin <craigfranklin@users.sourceforge.net>
* Added symbol alias feature to gpal.
2004-06-27 Craig Franklin <craigfranklin@users.sourceforge.net>
* Added several new gpal optimizations.
2004-06-25 Craig Franklin <craigfranklin@users.sourceforge.net>
* Fixed gpasm regression. Duplicate extern feature can cause assertions.
* Allow cblocks in gpasm macros.
2004-06-16 Craig Franklin <craigfranklin@users.sourceforge.net>
* Allow duplicate extern directives in gpasm.
2004-06-15 Craig Franklin <craigfranklin@users.sourceforge.net>
* Fixed relocations in idata sections.
2004-05-05 Craig Franklin <craigfranklin@users.sourceforge.net>
* Added labels and gotos to gpal.
2004-05-02 Craig Franklin <craigfranklin@users.sourceforge.net>
* gputils 0.12.1 Released.
2004-04-22 Craig Franklin <craigfranklin@users.sourceforge.net>
* Added processor pub file generation.
* Added default search path to gpal.
2004-04-17 Craig Franklin <craigfranklin@users.sourceforge.net>
* Added support for #if directive and allow else in column 1.
* Fixed malformed header files. They were missing a NL before the EOF.
* Added interrupt context save to gpal.
2004-03-13 Craig Franklin <craigfranklin@users.sourceforge.net>
* Added gplink command line option to disable list file output.
* Fixed gplink bug that caused an error to be generated if a source file
wasn't found when generating a list file.
* Fixed gplink 18xx initialized data sections so retlw isn't used.
* Added support for stack sections in gplink.
* Use section type to determine format for gpvo disassembly output.
2004-02-09 Craig Franklin <craigfranklin@users.sourceforge.net>
* Fixed bug in gpdasm relative branches.
2004-02-07 Craig Franklin <craigfranklin@users.sourceforge.net>
* Fixed uninitialized memory in escape character conversion.
2004-01-20 Craig Franklin <craigfranklin@users.sourceforge.net>
* gputils 0.12.0 Released.
* Fixed bug in gpdasm relative branches.
* Force decimal interpretation of debug line number directive in gpasm.
* Don't insert LIST or NOLIST symbols in gpasm COFF outputs if debug
directives are used.
* Fixed bug when concatenated symbols <string>_#v<expr> is used as a
macro argument.
* Fill missing 18xx config words in gpasm relocatable objects with 0xff
instead of generating an error.
2004-01-16 Craig Franklin <craigfranklin@users.sourceforge.net>
* Use install path for default when environmental variable isn't set.
* Added GPUTILS_LIB_PATH environmental variable for gplink.
* Added list file output to gplink and fixed bugs in cod file output.
* Added automake work around to fix compile order for bison outputs.
* Switched to AM_ flags in automake so users can specify additional
flags.
2004-01-09 Craig Franklin <craigfranklin@users.sourceforge.net>
* Allow full path to object file in gplib when creating an archive.
* Always generate a warning when a source is missing an endif.
* Prevent #v label from being processed when assembly is disabled.
* Force list file to print blank space when assembly is disabled.
2004-01-07 Craig Franklin <craigfranklin@users.sourceforge.net>
* Use environmental variables GPUTILS_HEADER_PATH and GPUTILS_LKR_PATH
for the default header and lkr paths.
* Removed CFLAGS from mingw port.
* Fixed COFF line number bugs in gplink.
* Fixed 18xx symbol offset bug when merging sections in gplink.
* Fixed segfault in gplink when sections missing relocations are merged.
2004-01-01 Scott Dattalo <scott@dattalo.com>
* libgputils/gpsystem.c - added unsigned short gp_getu16(char *addr)
* gputils/dump.c - changed references of gp_getl16 to gp_getu16. Added
new function fget_line() to read a line from a file.
2004-01-01 Craig Franklin <craigfranklin@users.sourceforge.net>
* Allow multiple config words for all devices in gpasm.
2003-12-25 Craig Franklin <craigfranklin@users.sourceforge.net>
* Use full symbol name in gpal at the base of symbol tables.
* Add symbol alias at the top of symbol table stack.
* Use full type name in types.
2003-12-23 Craig Franklin <craigfranklin@users.sourceforge.net>
* Removed constant and variable keywords from gpal. Added constant type.
* Removed header file scan from gpal.
2003-12-20 Craig Franklin <craigfranklin@users.sourceforge.net>
* Fixed i_memory allocation so memory beyond 32k words is initialized to 0.
* Fixed memory map in gpasm list files for 18xx devices. The map is now
in byte format.
2003-12-18 Craig Franklin <craigfranklin@users.sourceforge.net>
* Changed gpasm classification to beta, gpal to pre-alpha, and all
others to alpha.
* Updated gputils manual to include gpal.
* Added gpal man page.
* Fixed many gpal bugs.
2003-12-15 Craig Franklin <craigfranklin@users.sourceforge.net>
* Added a new tool called gpal.
* Added debug-info feature to gpasm, so HLL linenumbers can be inserted
into COFF outputs.
2003-12-14 Craig Franklin <craigfranklin@users.sourceforge.net>
* Fixed a bug in gpasm 18xx absolute data memory sections that caused the
address to be wrong.
2003-12-01 Craig Franklin <craigfranklin@users.sourceforge.net>
* Changed gpasm behavior so cblocks are only processed when assembly is
enabled.
2003-11-30 Craig Franklin <craigfranklin@users.sourceforge.net>
* Changed gpasm while loops to insert raw text instead of a parsed tree.
2003-11-29 Craig Franklin <craigfranklin@users.sourceforge.net>
* Fixed gpasm bug that prevented some symbols from being substitued with
macro parameters and #defines.
2003-11-23 Craig Franklin <craigfranklin@users.sourceforge.net>
* Fixed gpasm bug that caused the relocation to be omitted if the macro
argument is complex.
* Fixed gpasm bug that could cause symbol offsets in relocations to be
calculated incorrectly.
2003-11-22 Craig Franklin <craigfranklin@users.sourceforge.net>
* gputils 0.11.8 Released.
* Added new processors: 16f54, 16f57, 16f688
* Updated header files and linker scripts.
* Updated libiberty from upstream sources.
* Changed gpasm 18xx banksel from movlb relocation to banksel relocation.
* Changed gplink movlb relocation to use the upper byte of symbol address.
2003-10-21 Craig Franklin <craigfranklin@users.sourceforge.net>
* Fixed string to long conversion in gpasm so 32 bit numbers
could be used.
2003-10-19 Craig Franklin <craigfranklin@users.sourceforge.net>
* Updated documentation.
2003-10-18 Craig Franklin <craigfranklin@users.sourceforge.net>
* Fixed a bug in 16xx special instruction mnemonics that could cause
an incorrect branch calculation if a goto proceded the mnemonic.
2003-10-17 Craig Franklin <craigfranklin@users.sourceforge.net>
* gputils 0.11.7 Released.
2003-10-09 Craig Franklin <craigfranklin@users.sourceforge.net>
* Allow gplink to parse linker scripts with missing newlines before the
EOF.
2003-10-08 Craig Franklin <craigfranklin@users.sourceforge.net>
* Fixed an initialization problem that causes a segfault when the first
line has a parse error.
2003-10-03 Craig Franklin <craigfranklin@users.sourceforge.net>
* Added 18xx config and idlocs sections to gpasm coff outputs.
* Cleaned up gplink script error reporting.
2003-09-28 Craig Franklin <craigfranklin@users.sourceforge.net>
* Fixed gplink bug in 18xx absolute sections.
* Fixed gplink memory allocation bug in 18xx devices.
2003-08-08 Craig Franklin <craigfranklin@users.sourceforge.net>
* Fixed bug that could cause problems with comments on include directives.
2003-08-01 Craig Franklin <craigfranklin@users.sourceforge.net>
* gputils 0.11.6 Released.
* Added support for idata sections in gplink.
* Changed extension of gplink object output from ".out" to ".cof"
2003-07-23 Craig Franklin <craigfranklin@users.sourceforge.net>
* Fixed bsr boundary location for 18f248, 18f258,18f448, and 18f458.
* Changed gpasm, gpdasm, and gpvo memory dump address format from word to
byte for 18xx devices.
* Changed gplink processor check to be processor family instead of processor
name.
* Changed gpdasm to display the second word of 18xx two word instructions.
2003-07-20 Craig Franklin <craigfranklin@users.sourceforge.net>
* Added new processors: 16f716, 18f2620, 18f4620
* Update header files and linker scripts.
* Fixed gplink error that caused the map file to always be generated.
* Fixed bug in gpasm that caused 18xx access bank bit to be ignored if it
was specified on some instructions.
* Changed gpdasm 18xx address format from word to byte.
2003-07-07 Craig Franklin <craigfranklin@users.sourceforge.net>
* Changed extension of gplink object output from ".o" to ".out"
* Fixed error in RES directive when used for data sections.
* Fixed typo in gp_date_string.
2003-06-28 Craig Franklin <craigfranklin@users.sourceforge.net>
* gputils 0.11.5 Released.
* Fixed byte count when RES directive is used in 18xx data sections.
* Display help when multiple files are passed to gpasm, gpdasm, gpvo,
and gpvc on the command line.
* Check for lower case filename if include file is not found.
2003-06-23 Craig Franklin <craigfranklin@users.sourceforge.net>
* Extended the legal syntax for difference of coff symbols within the same
section.
2003-06-22 Craig Franklin <craigfranklin@users.sourceforge.net>
* Changed coff to use byte addressing for program memory of 18xx devices.
* Changed absolute coff sections generated with org directive to use
org_"number" for a name instead of org_"address".
* Added missing relocation for "$" symbol.
* Fixed bug in gpvo which could cause section data to not be printed for
18xx devices.
* Added range warning to gplink for 18xx relative branches.
* Changed default behavior of the 18xx access bit in gplink to be like
gpasm.
* Changed build directory for rpms.
2003-06-14 Craig Franklin <craigfranklin@users.sourceforge.net>
* Fixed error in the range check for 17xx movpf and movfp instructions.
2003-06-04 Craig Franklin <craigfranklin@users.sourceforge.net>
* gputils 0.11.4 Released.
* Replaced or removed obsolete macros in configure.ac.
2003-06-01 Craig Franklin <craigfranklin@users.sourceforge.net>
* Added new processors:
p16c557 p16c747 p16f648a p16f684 p16f737 p16f767 p16f777 p18f2331
p18f2431 p18f2439 p18f2539 p18f4331 p18f4431 p18f4439 p18f4539
p18f6520 p18f6525 p18f6585 p18f6621 p18f6680 p18f8520 p18f8525
p18f8585 p18f8621 p18f8680 rf675f rf675h rf675k
* Updated header files and linker scripts.
2003-05-20 Craig Franklin <craigfranklin@users.sourceforge.net>
* Updated scripts to automake-1.6 and autoconf-2.57.
* Ran autoscan and fixed reported problems.
* Added AM_MAINTAINER_MODE to autoconf.
2003-05-10 Craig Franklin <craigfranklin@users.sourceforge.net>
* gputils 0.11.3 Released.
* Fixed seg fault in gpasm when difference between coff symbols is
calculated.
* Fixed map file bug that caused the end section address to be reported
incorrectly.
* Added gplink command line option to fill unused unprotected program
memory.
* Added gplink testsuite.
2003-05-06 Craig Franklin <craigfranklin@users.sourceforge.net>
* Fixed conditional assembly of INCLUDE directives in gpasm.
* Fixed seg fault in gplink when object has no sections or symbols.
* Fixed target memory allocation in gplink when section size = page size
* Fixed target memory allocation in gplink when section size = 1
* Implemented section fill in gplink.
2003-05-03 Scott Dattalo <scott@dattalo.com>
* 18f Bit instructions were not handling the Access bit properly
2003-04-19 Craig Franklin <craigfranklin@users.sourceforge.net>
* gputils 0.11.2 Released.
* Fixed section size bug in org directives when used in gpasm coff outputs.
* Fixed bug in cod file address size that confused MPLAB.
* Fixed bug in lexer when < and > were used in the same expression.
* Prevented symbols from absolute sections from being updated after
relocation.
* Added feature so gplink now loads a default linker script if one is not
specified.
* Updated header files.
* Updated linker scripts.
* Added configuration settings for OS/2 host.
* Modified lexer to allow [.][a-z][a-z0-9]* labels.
* Moved gpasm default header path to last in the search list.
2003-04-02 Craig Franklin <craigfranklin@users.sourceforge.net>
* gputils 0.11.1 Released.
2003-03-23 Craig Franklin <craigfranklin@users.sourceforge.net>
* Moved common cod functions into libgputils.
* Added cod file output to gplink.
* Updated config scripts.
* Added variable bsr boundary location for default access bit on 18xx
devices.
2003-03-21 Craig Franklin <craigfranklin@users.sourceforge.net>
* Check status of all fopens to prevent file io problems.
2003-03-14 Craig Franklin <craigfranklin@users.sourceforge.net>
* Specified fopen() mode to prevent CRLF conversion on binary files when
using the mingw port.
* Fixed gplink bug that causes some symbols to be incorrect after section
merging.
* Report symbol names when resolving external references in gplink fails.
2003-03-14 Craig Franklin <craigfranklin@users.sourceforge.net>
* gputils 0.11.0 Released.
* Fixed bug that caused amode stack to be incorrect when exitm was used.
* The P value for movpf and movfp instructions is now checked.
* Added check for invalid destinations with movff instructions.
* Cleared defines table at the start of second pass.
* Generate a warning for macros only invoked on pass 2.
2003-03-09 Craig Franklin <craigfranklin@users.sourceforge.net>
* Fixed segmentation fault in gplink.
* Fixed a parse error in the sharebank definitions in linker scripts.
* Moved COFF definitions to gpcoff.h.
2003-03-03 Craig Franklin <craigfranklin@users.sourceforge.net>
* Finished relocation patching.
* Added map and hex file outputs to gplink.
2003-02-27 Craig Franklin <craigfranklin@users.sourceforge.net>
* Added relocation and linking functions to gplink.
2003-02-22 Craig Franklin <craigfranklin@users.sourceforge.net>
* Removed nuisance warning about malformed asm files.
* Fixed errors when using escape characters in strings.
2003-02-17 Craig Franklin <craigfranklin@users.sourceforge.net>
* Added auxiliary coff symbols.
2003-02-16 Craig Franklin <craigfranklin@users.sourceforge.net>
* Added pointers in object files to simplify linking operations.
* Added checks when reading object files.
2003-02-02 Craig Franklin <craigfranklin@users.sourceforge.net>
* Combined overlayed sections in gpasm coff outputs.
* Append prefix on local variables that end up in coff file.
* Fixed error that prevented using $ with data directives.
2003-01-19 Craig Franklin <craigfranklin@users.sourceforge.net>
* Added object test files.
* Fixed errors found by running new test files.
* Added bankisel directive.
2003-01-05 Craig Franklin <craigfranklin@users.sourceforge.net>
* Converted to new object structures.
* Fixed errors in gpasm, gplib, and gplink.
* Changed gpvo output format.
2002-12-22 Craig Franklin <craigfranklin@users.sourceforge.net>
* Added coff file support to gpasm.
* Added UPPER operator.
* Removed invalid parts.
2002-12-04 Craig Franklin <craigfranklin@users.sourceforge.net>
* Fixed incorrect range warning on 18xx gotos.
* Fixed parse error for << operators > in the comment.
* Cleaned up parse debug output.
2002-11-22 Craig Franklin <craigfranklin@users.sourceforge.net>
* gputils 0.10.6 Released.
* Fixed behavior of de directive for 18xxx devices. Data is now packed.
* Added new directives: banksel and pagesel
* Fixed default BSR behavior for 18xxx devices.
* Changed gpasm default hex file format to inhx32.
2002-11-09 Scott Dattalo <scott@dattalo.com>
* Invalid relative branches for 18xxx family were not generating errors.
eg: bc $+258, bc $-256, rcall $-2048, rcall $+2050 all now generate
appropriate errors.
2002-11-07 Craig Franklin <craigfranklin@users.sourceforge.net>
* Added support for sx, 17xx, and 18xx devices in gpdasm.
* Fixed config directive for 18xx devices with address > 0x300007
2002-10-27 Craig Franklin <craigfranklin@users.sourceforge.net>
* gputils 0.10.5 Released.
2002-10-19 Craig Franklin <craigfranklin@users.sourceforge.net>
* Added new processors: 12f629 12f675 16c557 16f627a 16f628a 16f630
16f676 16f72 16f76 16f77 16f818 16f819 16f87 16f873a 16f874a 16f876a
16f88 18f1220 18f1320 18f2220 18f2320 18f4220 18f4320 18f6620 18f6720
18f8620 18f8720 rf509af rf509ag
* Updated header files
2002-10-12 Craig Franklin <craigfranklin@users.sourceforge.net>
* gputils 0.10.4 Released.
* Fixed bug that caused assertion when macro calls procede definition.
* Fixed bug that required gpasm arguments be in a specific order.
* Moved opcode definitions into libgputils for future gpdasm improvments.
* Fixed bug that prevented conditional assembly directives in column 1 to be
missed if assembly had been previously disabled.
* Generate an error if endm is missing from a macro definition.
* Increased gpvc file number limit from 20 to 100.
2002-08-18 Scott Dattalo <scott@dattalo.com>
* gpasm - arithmetic for negative relative branches on a 16bit core
was loosing the sign bit.
2002-05-12 Craig Franklin <craigfranklin@users.sourceforge.net>
* gputils 0.10.3 Released.
2002-04-27 Craig Franklin <craigfranklin@users.sourceforge.net>
* Added Code Warrior changes.
2002-04-09 Craig Franklin <craigfranklin@users.sourceforge.net>
* Updated header files and linker scripts.
* Added manpages.
2002-04-08 Craig Franklin <craigfranklin@users.sourceforge.net>
* Fixed error that could cause a seg fault on AmigaOS.
2002-04-03 Craig Franklin <craigfranklin@users.sourceforge.net>
* gputils 0.10.2 Released.
* Any argument to an instruction which exceeds its range will now generate
at least a warning.
* Bank warnings are now generated for access to register files that aren't
in bank 0.
* Any goto or call which is to a page other than the current page will now
generate a page warning.
* Added --force-list option, so gpasm will ignore nolist directives.
* The default values for hex format, radix, and warning level are now
displayed.
* Added description of the alternative number formats to documents.
2002-02-28 Craig Franklin <craigfranklin@users.sourceforge.net>
* Fixed a bug that inserted an extra NULL line in a macro definition when +=
type ops are used. The bug caused a seg fault.
2002-02-23 Craig Franklin <craigfranklin@users.sourceforge.net>
* gputils 0.10.1 Released.
2002-02-23 Craig Franklin <craigfranklin@users.sourceforge.net>
* Macros are now implemented as a text substitution at the input to the
lexer. All macro arguments are preprocessor substitutions like #define.
* Fixed a bug that caused i = i + 1 type expressions to be evaluated twice
in macros.
* Include statements now appear before the body of the file in the listing.
* Macro calls now appear before the body of the macro in the listing.
* Fixed a bug that allowed #defines in the body of a macro to be processed
during the macro definition.
* "fill (<expression>),number", equ, and various other commands now work in
macros.
* Fixed several bugs in the processing of numeric constants. For example,
with a hex radix setting "100b" is now evaluated as 0x100b not 0x4.
* #v() subsitutions will now work in cblocks and macros.
* Fixed a bug that could cause a segmentation fault with a bad text
substitution.
2002-01-27 Craig Franklin <craigfranklin@users.sourceforge.net>
* added rpm spec file.
2002-01-20 Craig Franklin <craigfranklin@users.sourceforge.net>
* gputils 0.10.0 Released.
2002-01-17 Craig Franklin <craigfranklin@users.sourceforge.net>
* Removed target detection from configure. Target is always a PIC so it
doesn't make any sense to run the test.
* Removed unnecessary object extension from Makefiles.
* Added bzero.c to libiberty for mingw32 port.
2002-01-16 Craig Franklin <craigfranklin@users.sourceforge.net>
* Added missing () in gplink lexer.
* Added a subset of libiberty so getopt_long is always available.
2002-01-15 Craig Franklin <craigfranklin@users.sourceforge.net>
* Fixed a bug in gpasm that causes a nuisance warning when multiple macro
definitions are selected using conditional assembly.
2002-01-13 Craig Franklin <craigfranklin@users.sourceforge.net>
* Fixed a bug in gpvc that could cause a segmentation fault.
2002-01-10 Craig Franklin <craigfranklin@users.sourceforge.net>
* Renamed gpasm package to gputils.
* Changed library from libgpasm.a to libgputils.a
* Renamed mem2asm.c to dis.c
* Appended gp prefix to all library files.
* Renamed /gpasm/opcode.c to /gpasm/directive.c.
* Corrected and updated copyright notices.
* Moved /gpasm/cod.h to library. Removed cod.h from gpvc.
* Moved test files to tool subdir for future support of dejagnu.
* Started updating users manual.
* Moved examples to gputils-extra package.
* Corrected many problems with gplib.
* Continued work on gplink.
2001-12-07 Craig Franklin <craigfranklin@users.sourceforge.net>
* Added linker scripts.
2001-12-06 Craig Franklin <craigfranklin@users.sourceforge.net>
* Fixed cygwin warnings with -Wall -pedantic flags.
* Updated maintainer information.
2001-11-26 Craig Franklin <craigfranklin@users.sourceforge.net>
* Fixed a bug that could cause a core dump when expanding macros.
* Fixed a bug that cause labels inside of macros for 18cxx devices
to be off by 2X.
* Removed unecessary -I /usr/local/share/gpasm/header from example1
Makefile.
* Fixed a bug that causes command line radix to be overwritten on pass 2.
* Moved symbol table functions to library for use with gplink.
* Added extra warning flags to cygwin.
2001-11-24 Craig Franklin <craigfranklin@users.sourceforge.net>
* Added new tool gplink. This tool is intended to be compatible with mplink.
This is a development version. It is not complete.
2001-11-17 Craig Franklin <craigfranklin@users.sourceforge.net>
* Added new tool gplib. This tool is intended to be compatible with mplib.
This is a development version. It is not complete.
2001-10-31 Craig Franklin <craigfranklin@users.sourceforge.net>
* gpasm 0.9.14 Released.
* The path to the header files is now searched when including files. This
means the "-I /usr/local/share/gpasm/header" argument to gpasm is no
longer necessary. The path may be displayed by commanding "gpasm -h".
This path may be disabled at compile time using the "--disable-path"
configuration option.
2001-10-25 Craig Franklin <craigfranklin@users.sourceforge.net>
* implemented "fill (<expression>),number", where <expression> is a line of
assembly. example: "fill (goto start), 10"
* fixed bug #423204, infinite loop when missing new line before EOF in a file
without the END directive
* parser debug is enabled when PARSE_DEBUG is defined
2001-10-09 Craig Franklin <craigfranklin@users.sourceforge.net>
* removed all // comments to satisfy --pedantic flag
* fixed several errors in gpvo
2001-10-06 Craig Franklin <craigfranklin@users.sourceforge.net>
* gpasm 0.9.13 Released.
* Added new processors:
p16c432 p16c433 p16c781 p16c782 p16c925 p16c926 p16cr620a p16f73
p16f74 p16f85 p16f86 p16f877a p18f242 p18f248 p18f252 p18f258
p18f442 p18f448 p18f452 p18f458
* Corrected header file errors.
* New header files added:
p16c781.inc p16c782.inc p16f85.inc p16f86.inc p16f877a.inc p18c601.inc
p18c801.inc p18f020.inc p18f242.inc p18f248.inc p18f252.inc p18f258.inc
p18f442.inc p18f448.inc p18f452.inc p18f458.inc
2001-10-02 Craig Franklin <craigfranklin@users.sourceforge.net>
* "list n=0" may now be used to prevent page breaks in the listing file.
This feature was provided by Reto Felix <reto.felix@bluewin.ch>.
* All arguments to the list directive are now processed as decimal regardless
of the current radix setting.
* reformat ChangeLog
0.9.12 TSD for Craig Franklin
1. The preprocessor now supports #v(expression) substitution in labels and
symbols. If symbol equals 4, then the label "mylabel_#v( (symbol * 3))_ok" is
replaced with "mylabel_12_ok".
2. The error message "can't evaluate expression" has been replaced by more
specific error messages.
3. eeprom8 device is now supported.
4. The DOS newlines option (-n) has been disabled on win32 systems. DOS
newlines are already the default on these systems.
0.9.11 TSD for Craig Franklin
1. Labels are substituted when found on the #define table.
2. Labels are treated as macros when found on the macro table.
3. gpasm can now distinguish between directives and opcodes placed in the
first column.
4. defines are now printing in the listing file symbol table.
5. #ifdef and #ifndef check the entire symbol table not just #define table.
6. Several processors had characters with the incorrect case in the
defined_as section of their definition. This lead to incorrect warnings when
using the Microchip header files.
7. Some changes have been incorporated for cross compiling to win32 systems.
0.9.10 TSD for Craig Franklin
1. The instruction set is now loaded when the processor is selected.
Previously it was loaded when the first instruction is encountered. This
resolves some old problems when the first instruction is incorrectly formatted.
0.9.9 TSD for Craig Franklin
1. Labels are now checked against the symbol tables. If the label is found
on the instruction or the directive lists, a warning is generated and the text
is treated accordingly.
2. Symbols may now be assigned values when declared using the local directive.
As in "local i, j=15, k".
3. The extended ASCII character set (ΓΌ) may now be used for labels and
symbols.
4. gpasm now tests for infinite while loops. In this condition, an error is
generated and assembly continues.
5. Assembly will now stop upon encountering the first END statement.
Regardless of location.
6. Flags have been added to the linker to warn when a common symbol is
combined with another symbol. This condition could create porting issues. The
warnings that resulted from this change were fixed.
0.9.8 TSD for Craig Franklin
1. Macros and While loops are now expanded in the listing file. Macro
expansion can be disabled using "list e=OFF" in the source code or "-e OFF" as
a gpasm argument. While loops are always expanded.
2. Macros and While loops are also expanded in the COD file. Now when you
step through the source code in gpsim, the file viewer will jump to the macro
or while loop definition.
3. New Processors added:
16c745, 16c765
4. Some users require dos style new lines (CRLF) in hex files for device
programmers. gpasm will generate these by selecting -n or --dos.
5. The -Wall and -pedantic flags were added to gcc on linux systems. All
warnings generated from this change were corrected.
6. Various configuration problems were fixed that caused "make distcheck" to
fail.
7. getopt_long() has been added to gpvo.
8. A Makefile for generating rpms has been added. See the README in the rpm
subdirectory for details.
9. BUG #433291. During macro innvocation, the list linetype was set to the
value of the line before endm in the definition. This could result in a bad
label error, if that line was a non code generating directive. The linetype is
now "none" during expansion or "insn" during nonexpansion.
0.9.7 TSD for Craig Franklin
1. The i++ and i-- operators are now implemented. Note: the variable is a
label and must appear in column 1.
2. +=, -=, *=, /=, %=, <<=, >>=, &=, |=, and ^= have all been implemented.
Note: the variable is a label and must appear in column 1.
3. If a file ends during an IF statement, before an ENDIF found, a warning is
now generated.
4. The conditional assembly directives IFDEF, IFNDEF, and ENDIF may now be
proceeded by a "#". example: #ifdef
5. The SET directive may now be proceeded by "."
6. The header files have been updated.
7. A memory map is now generated as part of the listing file. The generation
of the memory map is controlled by "list mm=[ON|OFF]".
8. The number of program words used by the program is now reported in the
listing file.
9. Several users have had problems linking with libfl.a to get yywrap().
gpasm has been modified so that libfl.a is no longer needed. flex is still
required.
10. The message generated whenever a special mneumonic was used has been
disabled. This message was part of the test files provided by Microchip, but
message is not yet part of the current mpasm releases.
11. The configure script now detects the host operating system. When using cc
on SunOS the "-xCC" flag is used to allow "//" comments.
12. New processors added:
18c601, 18c801, 18f010, 18f012, 18f020, 18f022
0.9.6 TSD for Craig Franklin
1. A new utility, gpvo, GNU PIC View Object, was added. This tool displays the
contents of Microchip's object files. The tool is in a very preliminary stage
of development. To reflect this it is designated "pre-alpha".
2. BUG #426330. getopt_long() is not available on all systems. The configure
script now detects the function. If it is not present gpasm uses getopt().
This does not change the features available, only the way they are commanded.
3. To make the error messages more readable the error codes are now enclosed in
[].
4. BUG #423850. gpasm would hang on symbols defined incorrectly.
#define foo foo.
crash --> movlw foo
An error is now generated each time foo is used in an expression and gpasm
doesn't lockup.
5. 1/2 of BUG #423204. The top level assembly file must always end in "END".
This condition is now tested for and an error is generated if it is not present.
6. BUG #422060. gpasm will now compile on a 64 bit machine (NetBSD/Alpha is
the only one that has been tested).
7. gpvc header file had declarations that were getting instantiated multiple
times.
0.9.5 TSD for Craig Franklin
1. gpasm, like mpasm, is now case sensitive by default. The -c parameter now
makes gpasm case insensitive.
2. The macros in special.inc have been incorporated into the source code. This
was done to solve a case sensitivity problem.
3. gpdasm can now read inhx16 format in addition to inhx8m and inhx32.
4. A new option, -i, has been added to gpdasm. This option returns data on
the input hex file, like number of bytes and hex file format.
5. The format of error/warning/message has been changed. To standard output
the new format is
"filename":"line number": Error "number" "message"
to the list file:
Error ["number"] : "message"
The list file output conforms with MPASM. The standard output conforms with
most gnu tools.
6. GNU long options have been provided by Salvador Eduardo Tropea
<salvador@inti.gov.ar>.
0.9.4 TSD for Craig Franklin
1. inhx16 hex format can now be generated by gpasm.
2. 17cxx devices are now checked for exceeding their 16 bit address range. If
this happens an error is generated.
3. gpasm now checks to see if an address has been written to more than once.
If it has an error is generated.
4. Previously, when an invalid data memory location is accessed, gpasm would
generate a warning and not write the instruction to program memory. Now it
will still generate the warning, but it also outputs the instruction.
5. __fuses is now equivalent to __config.
6. The 16c461 processor has been added.
7. When two different processors are selected in the source file an error,
in addition to the duplicate processor warning, is generated.
8. The "#" symbol can now be prefixed to include directives.
9. If a source file ends during a while statement, before a endw is
encountered, an error is generated.
10. Bug #413296. Numeric expressions followed by b, d, h, or o, are now
interpretted according to the radix they represent (i.e. 144o = 144 octal
= 100 decimal)
11. Labels are now checked to verify they are on a legal line. An example is
shown below:
Error radixerr.asm 16 : 121 Illegal label.
00016 Label RADIX OCTAL
0.9.3 TSD for Craig Franklin
1. The 17cxx processor family is now supported. Much of the work was completed
by Carlos Nieves <cnieves@iname.com>.
2. Macro name case sensitivity is now controlled by the -c option.
3. Values stored to program memory using the dt directive are now masked to
ensure that a value over 0xff isn't stored.
4. The number of arguments passed to EXPAND and NOEXPAND are now checked. If
any number other than 0 is passed a warning is generated.
5. If no arguments are passed to SPACE, it is now equivalent to SPACE 0.
6. 16cr56 and 14000 processors are now supported.
7. SUBTITL and STITLE are now equivalent to the SUBTITLE directive.
8. A single character enclosed by double quotes is now interpretted as the
corresponding ASCII code (example: ANDLW "A" = 0x0E41 for 12 bit cores).
9. The header files have been updated.
10. The ram access bit "a" for 18cxx devices now defaults to "0" or Access RAM.
11. The AND operator now has a higher precedence then the OR operator. The
following line from the preced.asm test file demonstrates this.
002D 0000 00067 DATA 2 == (2 && 0 + 1) ; 0
00068
--> 002E 0001 00069 DATA 1 || 0 && 0 ; 1
002F 0001 00070 DATA 1 || (0&&0) ; 1
0030 0000 00071 DATA (1||0) && 0 ; 0
12. A few changes were required to compile under Mac OS X. Some of these
changes were incorporated.
0.9.2 TSD for Craig Franklin
1. Added many new processors. The new list is below:
gen p12c508 p12c508a p12c509 p12c509a p12c671
p12c672 p12ce518 p12ce519 p12ce673 p12ce674 p12cr509a
p16c5x p16cxx p16c505 p16c52 p16c54 p16c54a
p16c54b p16c54c p16c55 p16c55a p16c554 p16c554a
p16c558 p16c558a p16c56 p16c56a p16c57 p16c57c
p16c58 p16c58a p16c58b p16c61 p16c62 p16c62a
p16c62b p16c620 p16c620a p16c621 p16c621a p16c622
p16c622a p16c63 p16c63a p16c64 p16c64a p16c641
p16c642 p16c65 p16c65a p16c65b p16c66 p16c661
p16c662 p16c67 p16c70 p16c71 p16c71a p16c710
p16c711 p16c712 p16c715 p16c716 p16c717 p16c72
p16c72a p16c73 p16c73a p16c73b p16c74 p16c74a
p16c74b p16c76 p16c77 p16c770 p16c771 p16c773
p16c774 p16c83 p16c84 p16c85 p16c86 p16c923
p16c924 p16ce623 p16ce624 p16ce625 p16cr54 p16cr54a
p16cr54b p16cr54c p16cr56a p16cr57a p16cr57b p16cr57c
p16cr58a p16cr58b p16cr62 p16cr63 p16cr64 p16cr65
p16cr72 p16cr83 p16cr84 p16f83 p16f84 p16f84a
p16f627 p16f628 p16f870 p16f871 p16f872 p16f873
p16f874 p16f876 p16f877 p16hv540 p16lc74b p18cxx2
p18c242 p18c252 p18c442 p18c452 p18c658 p18c858
sx18 sx20 sx28
2. Bug #231274. Page directive conflicted with the Page instruction in sx
devices. The result was a redefining symbol error when an SX device was
selected. This has been fixed. The result is the PAGE directive is disabled
for all SX devices.
3. Config data is now masked by the device core size. This prevents things
like 0x1234 from being written into config memory for a 12 bit device.
4. "decimal" and "octal" are now valid arguments for the radix. This is a
legacy feature of MPASM. It is not documented in their users manual.
5. In instances of "label org 100", label is added to the symbol table.
Previously, it was ignored.
6. BUG #233207. Labels defined inside macros now work.
7. Microchip has provided the gpasm project with test files they use to test
MPASM. The new test files have been added to CVS. These files required the
use of their header files. These were added to the project. They are
installed when "make install" is ran.
8. The distribution now includes an example located in ./examples/example1.
9. A few changes were required to compile under cygwin. Some of these changes
were incorporated.
10. Cleaned up source code. (Missing comments, unused code, ...)
0.9.1 TSD for Craig Franklin
1. The project was reorganized to make room for some new tools. Each tool
is now located in its own subdirectory. Common functions are located in
libgpasm.a in the lib directory.
2. A new utility, gpdasm, GNU PIC Disassembler, was added. Details can be
found in the project documentation.
3. A new utility, gpvc, GNU PIC View COD, was added. Details can be
found in the project documentation. This is basically version 0.0.3 of Scott
Dattalo's vc. It will be maintained as part of gpasm.
4. Documentation has been updated. The gpasm section includes changes made
during the 0.8.x series. It still isn't perfect. It is missing information on
the PIC18cxx series. New sections have been added for the new tools.
5. Previously, the ERRORLEVEL directive required the user to force
interpretation of arguments as decimal using "." or "d". This is no longer
required. The arguments are always interpreted as decimal regardless of the
radix setting.
6. A debug message has been removed from the maybe_evaluate function in
opcode.c.
0.9.0 TSD for Craig Franklin
1. A typo in the help listing for the usage of warning level was fixed.
2. The options for LIST are case sensitive when the -c option is used. Because
of this, list p=<XXX> works and list P=<XXX> doesn't. This has been corrected.
3. The addition of the case sensitive defines broke the processor selection
using -p <processor>. This has been fixed.
4. gpasm -q will now suppress the output from the gperror system to the screen.
This doesn't effect the listing file. It doesn't currently make gpasm totally
quiet. Some messages bypass the gperror system. They are not effected by -q.
5. gpasm reported an "Unknown Opcode" for each instruction whenever a processor
wasn't selected. It now reports this error as "Processor type is undefined".
0.8.16 TSD for Craig Franklin
1. New directives:
da
__idlocs
variable
constant
2. The data and db directives generated incorrect values for 16 bit cores.
This has been corrected.
3. The dw directive generated incorrect values for all devices. This as been
corrected.
4. inhx8s hex format can now be generated.
5. EXPAND and NOEXPAND directives can now be called without generating an
error. They will not, however, effect the listing file. Similarly, macro
expansion can be selected on the command line with "gpasm -e [ON|OFF]" or
using in the source file "list x=[ON|OFF]." They will not effect the listing
file.
0.8.15 TSD for Craig Franklin
1. When numeric arguments were passed to a function that expects a symbol,
GPASM reported the error as "Expression to Complex". This has been changed to
illegal argument to conform with MPASM.
2. A previous patch always warned the user then option or tris was used. I
have learned that MPASM doesn't warn the user on p16c5x devices. The behavior
has been modified to conform with MPASM.
3. The -c option now makes the #defines case sensitive.
4. Command line setting of the warning level is supported. Like MPASM,
command line arguments override settings in the source code. All command
line settings now have flags indicating the value was set by the
command line and it can't be overwritten by the asm source code. A warning
or message is posted to the user.
5. Output hex file format can now be chose using LIST f=<inhx8m|inhx8s|inhx32>.
6. GPASM 0.8.14 has a bug were the org isn't reset after a config is called.
This is normally not seen because most people place the config statements before
their first org. This patch saves the org before the config is ran then
restores it afterword.
7. GPASM 0.8.14 doesn't print the config information to the list file correctly
for pic18cxx devices.
8. Several new codes have been added for new tests.
9. The FILL directive works. It works the same as MPASM with one important
exception. It does't support the use of a line of assembly as an argument.
That is not a problem because the while statement can do the same thing.
10. GPASM now generates inhx32 format. In adding this, a structural change had
to be made. Previously, the MEMBLOCK segment size was 64K words. I changed
this to 32K words. I did this because the 32K words (or 64K bytes) is equal
to one segment. Which, conviently, is the maximum size for a inhx8m file and
the size of one inhx32 segment.
11. The list file had some extra blanks. These were fixed.
12. All of the directives and instuctions now have the correct list linetype
assignment. I abandoned the default method because of too many special cases.
13. The RADIX directive had a linetype assignment of ORG, it should be none.
14. The ORG directive originally had the correct line type assignment of ORG.
It was changed to EQU in version 1.8 of opcode.c. I don't know the reason.
This patch changes it back.
15. The PAGE directive had a linetype assignment of ORG, it should be NONE.
16. Directives in scan.l (include, define, ..) are now all case insensitive.
There are many instances in microchips appnotes of SubTitle, Title, ...
GPASM 0.8.14 dosesn't recognize them. The change was to add "-i" to flex
when GPASM is compiled this makes the scan.l case insensitive.
17. #undefine now works. Previously symbols could be redefined by having
another instance of #define. Doing so will now result in a warning. Symbols
must be defined and undefined and defined again to be reassigned.
18. Previously, #define could only appear in column 1. Now it does not. This
occurs in micorchip include files.
19. Previously, #defines were executed regardless of assembling being enabled.
An example would be a set of defines inside an IF statement. This case occurs
when Micorchip's include file for 16c5x devices is used.
0.8.14 TSD Yet another patch from Craig Franklin that improves gpasm error
handling capabilities. Also, I added the 16f876 for Alex Holden.
0.8.13 ELS - Added gpasm.spec file to build RPMs under Red Hat Linux 7.0,
use 'rpm -ta gpasm-0.8.13.tar.gz'. Added missing newline to
gperror.h.
0.8.12 TSD Patch from Craig Franklin mailto:craigfranklin@users.sourceforge.net that
implements the ERRORLEVEL directive.
0.8.11 TSD Patch from Craig Franklin mailto:craigfranklin@users.sourceforge.net to fix command
line options (the -o option was missing, and the -e and -w options weren't
being used). Also applied patch from Craig that implements the subtitle
directive.
0.8.10 TSD added support for more than 8 files in one .cod file.
0.8.6 symbol information was not being written to the .cod file
0.8.5
added >64k file generation capability.
added support for the __CONFIG address, config_bits directive
(you used to couldn't specify the config address)
added i_memory.c to handle the instruction memory. Previously,
i_memory was a 64k, statically allocated array. Now it's a
dynamically allocated linked list of 64k memory blocks.
redesigned/rewrote major portions of cod.c to accomodate the
greater than 64k code generation. Removed the unnecessary
restriction that the miscellaneous code blocks had to be
written in a specific order. Added multiple directories.
Fixed the code range information (this specifies where there's
valid code).
0.8.1 - 0.8.4
minor enhancements
0.8.0
- added a few more processors
- the HIGH directive was always returning 0
- __CONFIG directive now supports an optional address
- added support for >64k address space
(this allows the 18cxxx config word to be handled
properly, but at the same time the change is
general enough to accomodate code generation
at addresses above 64k - a feature gpsim will
soon need).
- Switched the Makefile to a more standard automake
style.
- Changed the number notation so that what was the
micro version is now the minor version. Development
releases will bump the micro version. (This means
gpasm-0.0.8 is now expressed as gpasm-0.8.0).
- renamed gpasm.y to parse.y so that the automake
tools would be happy.
- Enhanced the error message system.
0.0.8
Added SET opcode
Supports '=' syntax for SET
Added WHILE/WEND
Added ERROR
Added 'generic' processor type; needed for AVR support
Support for .cod files added
- added cod.c and cod.h
- several small changes scattered through out all of the source
some of the more significant changes:
o modified the state structure to accomodate symbol files
o gpasmVal now has typing information
o cblock defined constant are given register typing
o program labels are given typing info
Added a few more pic processors
__config now will display the config address and config value in the .lst file
dt macro didn't ignore upper 8 bits of a literal
added new macros:
db byte packed data table
dw same as data macro
de like dw but upper nibble is zeroed
Added support for the 18cxxx instruction set.
Added the '-l' (dash ell) option for showing the list of
supported processors
0.0.7
Tab-stops now expanded to spaces in listing, LIST b=NN supported
Scenix processors added
Changed sys_errlist[] to strerror()
Manual update
0.0.6
Build using autoconf
0.0.5
Fixed bug where we always processed equ statements, even inside
conditional assembly blocks.
0.0.4
Second invocation of macro actually runs the macro twice, so local
forward definitions get resolved correctly. This means that macro
bodies get 3 passes made on them. Far from pretty, but it does the
job. See execute_macro(), and new function execute_body().
Restore cblock value to 0 at start of 2nd pass.
Accept CBLOCK headers without an expression: continues at previous
CBLOCK value. See gpasm.y.
Accept CBLOCK values as labels, with or without an expression. See gpasm.y.
Do #define substitution. Done in the lexical analyser, using the same
stack that we use for include files. Still no support for parameters
in #define. See scan.l.
Evaluate '$' late, instead of at parse time.
Missing parameter to bit operations was giving coredump instead of
error message.
Makefile now builds with "gcc -Wall --pedantic", had a general cleanup
following this.
Small fix to lexical analyser to make it cope with MSDOS '\r'
characters.
|