💾 Archived View for gemini.spam.works › mirrors › textfiles › computers › DOCUMENTATION › a01.txt captured on 2022-06-12 at 06:29:31.
-=-=-=-=-=-=-
CHAPTER 1 INTRODUCTION AND LEGAL TERMS Introduction A86 is the finest assembler available, at any cost under any terms, for the 86-family of microprocessors (IBM-PC, compatibles, and not-so-compatibles). In contrast to software firms who attempt to restrict the distribution of their products via protection-schemes, I encourage free distribution, and trust that those who use my products will pay for them. Please keep in mind the fundamental good spirit of free-distribution software as you endure the following barrage of legalities. Then evaluate the outstanding value that the A86 package offers you. I assure you that you will not be disappointed. Legal Terms and Conditions This package is provided to you under the following conditions: 1. You may copy the A86Vxxx.ZIP and D86Vxxx.ZIP files, and give them to anyone who accepts these terms. The copies you distribute must be complete and unmodified. You do not have to be registered to distribute this package. 2. Even if you have not yet obtained full execution rights, you may execute the programs in this package, in order to evaluate them. If you decide that any of this package is of use to you, you must become a registered user by sending $50 US ($52 if you are outside North America) to: Eric Isaacson 416 E. University Ave. Bloomington, IN 47401-4739 For your convenience, I now accept Visa and MasterCard, by telephone. My number is (812)339-1811. For the convenience of users in Great Britain, I have authorized the firm Shareware Marketing to collect registrations for me. We'll try to keep the prices about the same whether you register through me or through them; it's your choice. Their address is 87 High Street, Tonbridge, Kent TN9 1RX; telephone 0732 771344. They'll send me a list of registered users at the end of every month, and I'll send an acknowledgement to each user when I get the list. So if you haven't heard from me by the end of the month following your registration with them, please let me know. 1-2 Your registration includes a single update diskette (5.25 inch, double density), that also includes the A86LIB tool available to registered users only. You may order further updates for $10 US, or $12 US if you are overseas. Once you register for this package, you are registered for all future versions-- you have permanent rights to execute A86 on one computer. As long as I'm in business, you can get the latest version for just the update fee. I have a combination offer for the A86 and D86 packages. Instead of $50 + $50 = $100, I charge $80 ($82 overseas) for both. I also offer a printed version of this manual, covering both A86 and D86. The manual is printed on sheets 8.5 inches high and 7 inches wide, with a plastic ring-style binding so the book can lay flat. If you order with your registration the manual is an extra $10 to the U.S., $15 overseas. If you've already registered and now want the manual, add another $10 ($12 overseas) for the update disk that the manual is bundled with. There is a limit of one manual per computer registered (except you may reorder when there is a substantial revision to the manual). Indiana residents need to add sales tax. At the current rate of 5%, the prices for Indiana residents are $52.50 for one product, $63 one product with manual, $84 both products, $94.50 both products with manual, $21 manual if already registered. Educational institutions and training facilities MUST be registered in order to use A86 in courses. Contact me for special terms. Companies and government agencies MUST be registered in order to use A86 for their work. Again, contact me for special terms. 3. This package may not be sold to anyone. If the package is distributed this package on a diskette, any fees collected must be specified as materials/handling, and may not exceed $10 for the diskette. 4. The user is completely responsible for determining the fitness or usability of this package. I will not be liable for any damages, of any kind, arising from any failure of any programs in this package to perform as expected. 5. Only permanent registered users can sell or distribute any programs that you have written or modified using this assembler. If you do sell or distribute such programs, you must insure that your registered name (company or individual) will always be distributed with the program, so that I can verify your registration. Any individual or company found to be violating these terms will be liable for triple registration fees for every machine they own capable of running my assembler (plus any legal and court costs). 1-3 NOTE that the only computers that need to be registered are those executing the program A86.COM. The programs produced by A86 are entirely yours-- there are no "run-time royalties". 6. A86 takes advantage of situations in which more than one set of opcodes can be generated for the same instruction. (For example, MOV AX,BX can be generated using either an 89 or 8B opcode, by reversing fields in the following ModRM byte. Both forms are absolutely identical in functionality and execution speed.) A86 adopts an unusual mix of choices in such situations. This creates a code-generation "footprint" that occupies no space in your program file, but will enable me to tell, and to demonstrate in a court of law, if a non-trivial object file has been produced by A86. The specification for this "footprint" is sufficiently obscure and complicated that it would be impossible to duplicate by accident. I claim exclusive rights to the particular "footprint" I have chosen, and prohibit anyone from duplicating it. This has at least two specific implications: a. Any assembler that duplicates the "footprint" is mine. If it is not identified as mine and issued under these terms, then those who sell or distribute the assembler will be subject to prosecution. b. Any program marked with the "footprint" has been produced by my assembler. It is subject to condition 5 above. Registration Benefits Thank you for enduring the legalities. They are there to protect me, and also to convince you that this is my business, from which I expect to make a living. I'll now return to a softer sell, to try to make you want to register for my products. There is a certain amount of ambiguity about when you're still evaluating A86, and when you're really using A86 and should register for it. Some cases are clear (e.g., you're a school using A86 to teach a course); but many are not. In practical reality, it up to you to decide: you are "on your honor". Also in practical reality, most users who ought to register haven't, yet. For most, it's not dishonesty but merely procrastination. So I have provided some incentives, to prod you into registering. One incentive is the printed manual, which only registered users can purchase. I haven't left anything out of the disk version of the manual, but the printed version is formatted and bound much more nicely than if you print it yourself. Another incentive is the tool A86LIB.COM, that lets you create libraries of source files, to be automatically searched by A86 whenever your program has undefined symbols. This means you can effectively add procedures of arbitrary power and complexity to A86's language. 1-4 Also, when you register you're on my mailing list. I'll occasionally send you notices about what I've added to A86 and D86 since the last notice. When I bring out new products, you'll hear about them. (I'm working on a library of source files for A86, and also a 386 assembler-debugger package.) Finally, there are the intangible incentives. You know you've done the right thing. You're letting me know that you appreciate what I've done. You're letting the world know that quality software can succeed when distributed as shareware. Overview of A86 A86 accepts assembly language source files, and transforms them directly into either: (1) .COM files executable under MS-DOS, starting at offset 0100 within a code segment; (2) .OBJ files suitable for feeding to a linker; or (3) object files starting at offset 0, suitable for copying to ROMs. A86 is a full featured, professional quality program. I designed A86 to be as closely compatible to the standard Intel/IBM assembly language as possible, given that I insisted upon making design and language enhancements necessary to make A86 the best possible assembler. Some of A86's most notable features are: