home *** CD-ROM | disk | FTP | other *** search
Text File | 1987-03-15 | 36.8 KB | 1,102 lines |
-
-
-
-
-
-
-
-
-
-
- PseudoSam 69 Assembler Manual V1.2.02
- Copyright(c) 1986,87 PseudoCode
-
-
-
-
-
- Disclaimer:
-
- PseudoSam 69 is distributed as is, with no guarantee that it
- will work correctly in all situations. In no event will the
- Author be liable for any damages, including lost profits,
- lost savings or other incidental or consequential damages
- arising out of the use of or inability to use these
- programs, even if the Author has been advised of the
- possibility of such damages, or for any claim by any other
- party.
-
- It is the users reponsibility to back up all important files!
-
- See copyright information in appendix B
-
-
-
-
-
- Table of Contents
-
- Chapter 1 PseudoSam 69 assembler vs. the Motorola assembler.
-
- Chapter 2 Running the assembler program.
-
- Chapter 3 Assembler statement syntax.
-
- Chapter 4 Data types.
-
- Chapter 5 Expressions.
-
- Chapter 6 Assembler Directives.
- (also known as assembler pseudo-opcodes, or pseudo-ops)
-
- Appendix A ASCII character set.
-
- Appendix B Copyright and registration information.
-
- Appendix C Description of Files.
-
- Appendix D Bug Reporting Procedure.
-
- Appendix E Using PseudoSam 69 on "Compatible" Systems.
-
-
-
- Chapter 1 PseudoSam 69 assembler vs. the Motorola assembler
-
- All PseudoSam(Pseudo brand Symbolic AsseMbler) assemblers conform to
- a common syntax based on the UNIX system V assembler syntax. By
- conforming to this Pseudo standard, conflicts with the manufacturers
- syntax are created. Below is a brief and incomplete list of those
- conflicts.
-
- Motorola format PseudoSam format
-
- <identifier> equ <expression> .equ <identifier> , <expression>
-
- <identifier> set <expression> .set <identifier> , <expression>
-
- Has Macro capability No Macro capability at this time
-
- Labels start in column 1 of Labels may start anywhere, but must
- the source line. be followed immediately by a colon.
-
-
-
- * The difference between the Motorola and the PseudoSam name
- of an assembler directive can be circumvented by the .opdef
- directive.
-
- example
-
- .opdef eject,.eject ;defines eject to be synonymous with .eject
- .opdef fcc,.db ;fcc will now form constant characters as it
- ;should.
-
- * A file syn.asm is distributed with the assembler with some useful
- redefinitions.
-
-
-
-
-
-
-
-
-
-
- Unix system V is a trademark of AT & T.
-
-
-
-
-
-
-
- Chapter 2 Running the assembler program
-
- 1. Command line switch setting and source file specification.
-
- Assuming the user has an assembly language source file called foo.asm
- type the following command:
-
- a69 foo
-
- The assembler will assemble the program foo.asm using the default
- assembler switch settings. the following files will be generated
- by the assembler:
-
- foo.lst ;assembled listing shown the code conversion and
- ; any errors that where discover by the assembler.
-
- foo.obj ;assembled object code in Motorola Hex format.
-
- ** for a list of switch setting see the .command assembler directive
- description in chapter 6.
-
- *** The assembler uses the following temporary file names.
-
- z0z0z0z0.tmp
- z1z1z1z1.tmp
-
- ANY files with these names will be DESTROYED by the
- by the assembler.
-
-
-
-
-
-
-
- Chapter 3 Assembler statement syntax
-
- 1. Assembler Statements
-
- Assembler statements contain from zero to 4 fields as shown in
- following.
-
- <label> <opcode> <expressions> <comment>
-
- All fields are optional, but they must be in this order.
-
- A. Labels (<label>) are symbolic names that are assigned the starting
- address of any code generated by the opcode and or expressions
- of the line containing the label declaration.(see section 2).
-
- B. Operation codes(<opcode>) tell the assembler what machine instruction
- to generate, or what assembler control function to perform.
- The operation code also tells the assembler what expressions are
- required to complete the machine instruction or assembler directive.
- (see chapter 6).
-
- C. Expression requirements are set by the opcode(see the microprocessor
- manufacturers reference manual or the assembler directives chapter
- for individual opcode requirements).(see chapter 5).
-
- D. Comments are notes written by the programmer to explain what the
- program is trying to accomplish. Comments generate no code.
- (see section 3).
-
-
-
-
-
-
-
- 2. Labels
-
- Labels can be unlimited in length, but only the first eight characters
- are used to distinguish between them. They must conform to the
- following syntax.
-
- <label> -> <identifier>':'
-
- <identifier> -> <alphabetic character> <identifier character string>
-
- <alphabetic character> -> character in the set ['A'..'Z', 'a'..'z', '.']
-
- <identifier character string> -> any sequence of characters from the
- set ['A'..'Z','a'..'z', '.', '0'..'9']
-
- example
- abc: ;label referred to as abc
- a c: ;not a valid label
- foo: ;label referred to as foo
- .123: ;label referred to as .123
-
- * Case makes NO difference!
-
- d: ;is the same as
- D:
-
-
- 3. Comments
- Comments must start with a semi-colon ; and are terminated
- by an end of line or file( <lf>(^J) or <sub>(^Z) ). An end
- of line is inserted by typing the enter or return key by
- most text editors.
-
-
-
-
-
-
-
- Chapter 4 Data types
-
- 1. Integers
-
- Integer constants can be specified in any of the following forms:
-
- A. Binary
-
- b'bb ;bb=string of binary digits
- B'bb
-
- B. Decimal
-
- ndd
- d'dd ;n=nozero decimal digit
- D'dd ;dd=string of decimal digits
-
- C. Octal
-
- 0qq ;qq=string of octal digits
- o'qq
- O'qq
- q'qq
- Q'qq
-
- D. Hexidecimal
-
- 0x'hh ;hh=string of hexidecimal digits
- 0X'hh
- h'hh
- H'hh
- x'hh
- X'hh
-
-
- Examples:
-
- 077 ;octal number 77 = decimal 63
- b'0101 ;binary number 101 = decimal 5
- 77 ;decimal number 77 = octal 115
- h'ff ;hexidecimal ff = decimal 255
-
-
-
-
-
-
- 2. Strings:
-
- Strings consist of a beginning quote " followed by any reasonable number
- of characters followed by an ending quote ". Control characters and double
- quotes " and backslash \ may not be used in strings directly. These
- special characters are included by using a special escape sequence which
- the assembler translates into the appropriate ASCII code.
-
- Note: Strings may not be used in expressions!
- Although character constants may(see below).
-
- Escape sequences
- "\"" string containing "
- "\\" string containing \
- "\'" string containing '
- "\0" string containing null
- "\n" string containing linefeed
- "\r" string containing carriage return
- "\f" string containing formfeed
- "\t" string containing horizontal tab
- "\nnn" string containing the ASCII character who's code is o'nnn
- (nnn are octal digits).
- * see appendix A for ASCII codes.
-
- 3. Character Constants:
-
- Character constants consist of a single quote ' followed by
- a character or an escape sequence(see above) followed by a
- single quote '.
-
- example:
- 'A' = ASCII character value for the letter A = 65 (decimal);
- '\''= ASCII character value for the character ' = 39 (decimal).
-
- Character constants are treated as integers by the assembler and
- are valid where ever an integer value is valid.
-
- example:
- 'A' + 1 = 66
-
- * see appendix A for ASCII codes.
-
- 4. Symbolic values
-
- Symbolic values are generally labels, but may be any identifier
- assigned an integer value(using .set or .equ pseudo-ops).
-
- As a special case the symbol * when used as an operand in an
- expression denotes the value of the location counter (the value
- the program counter will have during operation) at the beginning
- of the current line.
-
-
-
-
-
-
- Chapter 5 Expressions
-
- All expressions evaluate to integer values modulo 65536(2^16) and are
- written in infix notation(the way you normally write them). Operators
- provided are grouped below in order of precedence.
-
- 1. (unary)
- ~ logical bit wise complement(not) of its operand(one's complement).
- - arithemetic complement, or negation(two's complement).
-
- 2. (binary)
- * integer multiply (two's complement).
- / integer divide (two's complement).
- % modulus (result is always positive)
- >> logical shift right (left operand shifted right operand times).
- << logical shift left (left operand shifted right operand times).
- ~ equivalent to A or ( ~B ).
-
- 3. (binary)
- | logical bitwise or(inclusive-or) of two operands.
- ^ logical bitwise exclusive-or of two operands.
- & logical bitwise and of two operands.
-
- 4. (binary)
- + addition (two's complement).
- - subtraction (two's complement).
-
- Since this version does not generate relocatable code there exists only
- one "type" of operand that can be in an expression. So anything goes
- except divide by 0(1 will be substituted ).
-
- examples:
- -1 = h'ffff (two's complement notation).
- -1 >> 8 = h'00ff
- -1 << 8 = h'ff00
- 3 / 2 = 1
- 6 / 2 = 3
- 5 / 0 = 5
- -2 / 1 = -2
- -3 /-2 = 1
- 2 * -3 = -6
- b'00 & b'11 = 0
- b'11 & b'10 = 2
- 2 * b'01 & b'10 = 2
- b'01 ^ b'11 = 2
- b'01 | b'11 = 3
-
- Notice that spaces are ignored in expressions.
-
-
-
-
-
-
-
-
- Chapter 6 Assembler Directives
- (also known as assembler Pseudo-opcodes)
-
- The assembler recognizes the following directives:
-
- directive section description
-
- .command 1 ;set assembly options(similar to command line options).
-
- .org 2 ;set program origin.
-
- .equ 3 ;equate an identifier to an expression(permanent
- ; assignment).
-
- .set 4 ;equate and identifier to an expression(temporary
- ; assignment).
-
- .rs 5 ;reserve storage(memory) space.
-
- .db 6 ;define byte.
-
- .dw 7 ;define word(16 bit).
-
- .drw 8 ;define reversed word(16 bit).
-
- .eject 9 ;form feed in listing
-
- .page 10 ;align location counter on 256 byte memory
- ; page boundary.
-
- .end 11 ;end of program
-
- .opdef 12 ;equate an identifier with another identifier.
-
- .segment 13 ;define a memory segment.
-
- <segment name>
- 14 ;select segment <segment name> as current segment.
-
- .null 15 ;this is a comment statement.
-
-
-
-
-
- 1. .command <optionlist> ;allows the programmer to set option switches
- ;in the same manner as on the command line.
- ;(the command line is the line typed to run
- ; this program).
-
- <optionlist> -> <option> ' ' <optionlist>
- <optionlist> ->
-
- <option> -> '-'<available option>
- <option> -> '+'<available option>
-
- <available option> -> 'a'<decimal number> ;Hex hode format.
- ;1 => Intel Hex.
- ;2 => Motorola 19 Hex.
-
- <available option> -> 'w'<decimal number> ;page width in columns(characters).
- ;(-,+ are ignored but one must be
- ; there).
-
- <available option> -> 'h'<decimal number> ;page height in lines.
- ;(-,+ are ignored but one must be
- ; there).
-
- <available option> -> 'l' ;listing on(+) or off(-)
- ;if set on command line it overrides
- ;all listing controls in program.
-
- <available option> -> 'm'<decimal number> ;Machine level.
-
- <available option> -> 's' ;symbol listing on(+) or off(-).
-
- <available option> -> 'o' ;selects single object module
- ;file only(+), or multiple object
- ;module files(-)(one for each
- ;defined segment in the program).
- ;ONLY active on command line!
-
- <available option> -> 't'<drive> ;specifies which drive to create
- ;all temporary files on(-,+ are
- ; ignored but one must be there).
- ;ONLY active on command line!
-
- <available option> -> 'p'<drive> ;specifies which drive to create
- ;the listing file on(-,+ are
- ; ignored but one must be there).
- ;ONLY active on command line!
-
- <drive> -> <drive name>':' ;e.g. a: b: c: d:
-
- ;MS-DOS
- <drive name> -> 'a' ;drive a --usually a floppy disk
- <drive name> -> 'b' ;drive b --usually a second floppy disk
- <drive name> -> 'c' ;drive c --usually a hard disk, but may
- be a ram disk.
- <drive name> -> 'd' ;drive d --usually a ram disk, but may
- be a hard disk.
-
- ** The default options are: -a2 -m1 -w132 -h66 +l +s +o
-
-
-
-
-
-
-
- 2. .org <integer expression> ;sets the assembler location counter
- ;to the value of expression.
- ;The expression MUST be evaluatable
- ;on the first pass. NO FORWARD
- ;REFERENCES!
-
- 3. .equ <identifier> ',' <integer expression>
- ;gives identifier the value of the
- ;integer expression.
- ;<identifier> canNOT be redefined!
- ;also forward references are allowed
- ;as long as they are resolved by the
- ;second pass.
-
- 4. .set <identifier> ',' <integer expression>
- ;gives identifier the value of the
- ;integer expression.
- ;<identifier> CAN be redefined later
- ; in the program!
- ;also forward references are allowed
- ;as long as they are resolved by the
- ;second pass.
-
- 5. .rs <integer expression> ;increments the location counter
- ;by the value of <integer expresson>
- ;effectively reserving that many bytes
- ;of memory.
-
- 6. .db <expression-string list>
-
- <expression-string list> -> <expression>','<expression-string list>
- <expression-string list> -> <string>','<expression-string list>
- <expression-string list> -> <expression>
- <expression-string list> -> <string>
-
- ;creates a byte in the machine code
- ;for each <expression> in the list
- ;and a byte for each ascii character
- ;in the a string.
- 7. .dw <expression list>
-
- <expression list> -> <expression>','<expression list>
- <expression list> -> <expression>
-
- ;creates a word(16 bit) in the machine code
- ;for each <expression> in the list.
- ;MOST significant byte is stored at LOWER
- ;address.
-
-
-
-
-
-
- 8. .drw <expression list>
-
- <expression list> -> <expression>','<expression list>
- <expression list> -> <expression>
-
- ;creates a word(16 bit) in the machine code
- ;for each <expression> in the list.
- ;LEAST significant byte is stored at LOWER
- ;address.
-
- 9. .eject ;causes a form-feed character to be
- ;inserted in listing.(new listing page)
-
- 10. .page ;increments location counter to next
- ;256 byte page boundary.
-
- 11. .end <integer expression> ;signals the end of the source program.
- ;the optional expression, if supplied,
- ;specifies the start address of the
- ;program, and is included in the
- ;Motorola Hex object module output
- ;of the active segment when the .end
- ;was encountered.
-
-
- 12. .opdef <identifier>,<identifier>
- ;assigns the current definition of
- ;the second <identifier> to the
- ;first <identifier>.
- ;useful for renaming opcodes and
- ;pseudo-ops.
-
- 13. .segment <identifier> ',' <integer expression>
- ;defines a memory segment name.
- ;used to separate memory allocation
- ;and optionally generate seperate
- ;object files.(see 'o' assembly
- ;directive to activate).
- ;(used to seperate RAM, ROM, or
- ; ROMS)
- ;the optional <integer expression> is
- ;added to the location counter to
- ;offset the load address supplied
- ;in the object module. (does not
- ;affect listings addresses!)
- ;
- ;note: .code is the predefined default
- ;segment and cannot be redefined.
-
- 14. <segment name> ;selects the segment <segment name>
- ;as the current memory segment.
- ;The location old segment location counter
- ;is saved and the previous value of the
- ;newly selected segments location counter
- ;is used(0 if not previously used).
-
- 15. .null ;directs the assembler to treat this
- ;statement as a comment. Useful to
- ;nullify opcodes when used in conjunction
- ;with the .opdef pseudo-op.
-
-
-
-
-
-
-
- Appendix A ASCII character set
-
-
-
- dec oct hex char dec oct hex char dec oct hex char dec oct hex char
-
- 0 000 00 ^@ null 32 040 20 sp 64 100 40 @ 96 140 60 `
- 1 001 01 ^A soh 33 041 21 ! 65 101 41 A 97 141 61 a
- 2 002 02 ^B stx 34 042 22 " 66 102 42 B 98 142 62 b
- 3 003 03 ^C etx 35 043 23 # 67 103 43 C 99 143 63 c
- 4 004 04 ^D eot 36 044 24 $ 68 104 44 D 100 144 64 d
- 5 005 05 ^E enq 37 045 25 % 69 105 45 E 101 145 65 e
- 6 006 06 ^F ack 38 046 26 & 70 106 46 F 102 146 66 f
- 7 007 07 ^G bel 39 047 27 ' 71 107 47 G 103 147 67 g
- 8 010 08 ^H bs 40 050 28 ( 72 110 48 H 104 150 68 h
- 9 011 09 ^I ht 41 051 29 ) 73 111 49 I 105 151 69 i
- 10 012 0A ^J lf 42 052 2A * 74 112 4A J 106 152 6A j
- 11 013 0B ^K vt 43 053 2B + 75 113 4B K 107 153 6B k
- 12 014 0C ^L ff 44 054 2C , 76 114 4C L 108 154 6C l
- 13 015 0D ^M cr 45 055 2D - 77 115 4D M 109 155 6D m
- 14 016 0E ^N so 46 056 2E . 78 116 4E N 110 156 6E n
- 15 017 0F ^O si 47 057 2F / 79 117 4F O 111 157 6F o
- 16 020 10 ^P dle 48 060 30 0 80 120 50 P 112 160 70 p
- 17 021 11 ^Q dc1 49 061 31 1 81 121 51 Q 113 161 71 q
- 18 022 12 ^R dc2 50 062 32 2 82 122 52 R 114 162 72 r
- 19 023 13 ^S dc3 51 063 33 3 83 123 53 S 115 163 73 s
- 20 024 14 ^T dc4 52 064 34 4 84 124 54 T 116 164 74 t
- 21 025 15 ^U nak 53 065 35 5 85 125 55 U 117 165 75 u
- 22 026 16 ^V syn 54 066 36 6 86 126 56 V 118 166 76 v
- 23 027 17 ^W etb 55 067 37 7 87 127 57 W 119 167 77 w
- 24 030 18 ^X can 56 070 38 8 88 130 58 X 120 170 78 x
- 25 031 19 ^Y em 57 071 39 9 89 131 59 Y 121 171 79 y
- 26 032 1A ^Z sub 58 072 3A : 90 132 5A Z 122 172 7A z
- 27 033 1B ^[ esc 59 073 3B ; 91 133 5B [ 123 173 7B {
- 28 034 1C ^\ fs 60 074 3C < 92 134 5C \ 124 174 7C |
- 29 035 1D ^] gs 61 075 3D = 93 135 5D ] 125 175 7D }
- 30 036 1E ^^ rs 62 076 3E > 94 136 5E ^ 126 176 7E ~
- 31 037 1F ^_ us 63 077 3F ? 95 137 5F _ 127 176 7F del
-
- ^ denotes control key simultaneous with character key.
-
-
-
-
-
-
-
-
- Appendix B Copyright Information:
-
-
- Disclaimer:
-
- PseudoSam 69 is distributed as is, with no guarantee that it
- will work correctly in all situations. In no event will the
- Author be liable for any damages, including lost profits,
- lost savings or other incidental or consequential damages
- arising out of the use of or inability to use these
- programs, even if the Author has been advised of the
- possibility of such damages, or for any claim by any other
- party.
-
- Copyright Information:
-
- The entire PseudoSam 69 distribution package, consisting of
- the main program, documentation files, and various data and
- utility files, is copyright (c) 1986, by PseudoCode.
-
- The author reserves the exclusive right to distribute this
- package, or any part thereof, for profit.
-
- The name "PseudoSam (tm)", applied to an assembler
- program, is a trade mark of the PseudoCode company.
-
- PseudoSam version 1.x.xx and various subsidiary files may be
- copied freely by individuals for non-commercial purposes. It
- is expected that those who find the package useful will
- purchase the update service.
- ONLY UNMODIFIED VERSIONS DISPLAYING THE AUTHORS COPYRIGHT
- MAY BE COPIED.
-
- User groups and clubs are authorized to distribute PseudoSam
- software under the following conditions:
-
- 1. No charge is made for the software or documentation. A
- nominal distribution fee may be charged, provided that
- it is no more than $5 total.
-
- 2. Recipients are to be informed of the user-supported
- software concept, and encouraged to support it with
- their donations.
-
- 3. The program and documentation are not modified in ANY
- way, and are distributed together.
-
-
-
-
-
-
- Interested manufacturers please see the commercial registration
- form that follows to license PseudoSam 18 for bundling with
- MS-DOS based development systems.
-
- Distribution of PseudoSam 69 outside the United States is through
- licensed distributors, on a royalty basis. Interested
- distributors are invited to contact PseudoCode.
-
-
-
- Educational Use:
-
- Educational institutions are free to use this software
- in their classes and are encouraged to distribute this
- package to their students, however inorder to receive
- periodic updates and technical assistance the appropriate
- department must remit the license fee. Also a staff
- member must be assigned to clear all trouble reports before
- forwarding them to PseudoCode.
-
-
-
-
-
-
-
-
- If you use this software, please help support it. Your
- support can take three forms:
-
- 1. Become a registered user. The suggested payment for
- registration is $30($100 for complete family).
-
- 2. Suggestions, comments, and bug reports.
-
- 3. Spread the word. Make copies for friends. Write the editor
- of your favorite computer magazine. Astronomical advertising
- costs are one big reason that commercial software is so over-
- priced. To continue offering PseudoSam 69 this way, we need
- your help in letting other people know about PseudoSam 69.
-
- Those who make the $30 payment to become registered users
- receive the following benefits:(order form on next page)
-
- 1. One year of updates including any upgrades. This includes
- at least one new version release even if it takes more than
- one year.
-
- 2. User support by mail. Support is only available to registered
- users. The address for help is given below.
-
- 3. Notices announcing the release of new products.
-
-
-
-
-
-
-
-
-
- Attention:BUGS PseudoCode
- P.O. Box 1423
- Newport News, VA 23601
-
-
-
-
-
- ********ORDER FORM********
-
- Please add me to the list of registered PseudoSam 69 users, and send me
- the most recent version. I understand that registration entitles me to
- one year of free updates and new releases, or one free new version
- release, whichever occurs last.
-
- Note that version 1.2.02 requires DOS 2 (or later) and 256K.
-
- Computer Model: ____________________________________
-
- Diskette format: Total Memory: _______K
- (256K required)
- __ doubled sided/DOS 2
-
- Check one:
- ___ I enclose a check for $30
- (PseudoCode pays sales tax for VA orders)
-
- Where did you hear about PseudoSam 69? ________________________________
-
- Name: _______________________________________________________
-
- Address: _______________________________________________________
-
- City, State, Zip: ______________________________________________
-
- ================================================================
-
- Send order form with check or money order payable to PseudoCode to:
- (Qualified PO's will be billed.)
-
- Attention: Registration PseudoCode
- P.O. Box 1423
- Newport News, VA 23601
-
-
-
-
-
-
- ********ORDER FORM********
-
- Please add me to the list of registered users of the complete
- PseudoSam family of cross-assemblers. Send me the most recent
- versions. I understand that registration entitles me to
- one year of free updates and new releases, or one free new
- version release, whichever occurs last.
-
-
- I note that version 1.2.02 requires DOS 2 (or later) and 256K.
-
- Computer Model: ____________________________________
-
- Diskette format: Total Memory: _______K
- (256K required)
- __ single sided/DOS 2(360k)
-
- Check one:
- ___ I enclose a check or money order for $100
- (shipping, handling, and Virginia sales tax for VA orders
- is paid by PseudoCode).
-
- Where did you hear about the PseudoSam family? ________________________
-
- Name: _______________________________________________________
-
- Address: _______________________________________________________
-
- City, State, Zip: ______________________________________________
-
- ================================================================
-
- Send order form with check or money order payable to PseudoCode to:
- (Qualified PO's will be billed.)
-
- Attention: Registration PseudoCode
- P.O. Box 1423
- Newport News, VA 23601
-
-
-
-
- ********Commercial Distribution Agreement********
-
- Please add me to the list of registered PseudoSam 69 distributors, and
- send me the most recent version. I understand that registration entitles
- me to distribute this package freely on an "as is" basis to purchasers
- of my products. I further understand that I may not make a specific or
- additional charge for this package. I may however advertise the package
- as free software. I fully understand that the distributed software
- must be clearly labeled as follows:
-
- Complementary Software
- Distributed "AS IS"
- PseudoCode
- P.O. Box 1423
- Newport News, VA 23601
-
-
-
- I understand that this agreement entitles me to one year of distribution
- rights and free updates.
-
- Note that version 1.2.02 requires DOS 2 (or later) and 256K.
-
- Computer Model: ____________________________________
-
- Diskette format: Total Memory: _______K
- (256K required)
- __ doubled sided/DOS 2
-
- Check one:
- ___ I enclose a check for $30
- (PseudoCode pays sales tax for VA orders)
-
- Where did you hear about PseudoSam 69? ________________________________
-
- Name: _______________________________________________________
-
- Address: _______________________________________________________
-
- City, State, Zip: ______________________________________________
-
- Signature_______________________ Date_________________
-
- ================================================================
-
- Send order form with check or money order payable to PseudoCode to:
- (Qualified PO's will be billed.)
-
- Attention: Registration PseudoCode
- P.O. Box 1423
- Newport News, VA 23601
-
-
-
-
-
-
- ********Commercial Distribution Agreement********
-
-
- Please add me to the list of registered PseudoSam distributors, and
- send me the most recent version. I understand that registration entitles
- me to distribute this package freely on an "as is" basis to purchasers
- of my products. I further understand that I may not make a specific or
- additional charge for this package. I may however advertise the package
- as free software. I fully understand that the distributed software
- must be clearly labeled as follows:
-
- Complementary Software
- Distributed "AS IS"
- PseudoCode
- P.O. Box 1423
- Newport News, VA 23601
-
-
-
- I understand that this agreement entitles me to one year of distribution
- rights and free updates for the entire PseudoSam family of products.
-
-
- I note that version 1.2.02 requires DOS 2 (or later) and 256K.
-
- Computer Model: ____________________________________
-
- Diskette format: Total Memory: _______K
- (256K required)
- __ single sided/DOS 2(360k)
-
- Check one:
- ___ I enclose a check or money order for $100
- (shipping, handling, and Virginia sales tax for VA orders
- is paid by PseudoCode).
-
- Where did you hear about the PseudoSam family? ________________________
-
- Name: _______________________________________________________
-
- Address: _______________________________________________________
-
- City, State, Zip: ______________________________________________
-
- Signature_______________________ Date_________________
-
- ================================================================
-
- Send order form with check or money order payable to PseudoCode to:
- (Qualified PO's will be billed.)
-
- Attention: Registration PseudoCode
- P.O. Box 1423
- Newport News, VA 23601
-
-
-
-
-
-
-
- The PsuedoSam Family consists of the following cross-assemblers
-
- Name Designed for Available* V1.1.00
-
- PseudoSam 48 ;Intel 8048 family. Now
- PseudoSam 51 ;Intel 8051 family. Now
- PsuedoSam 96 ;Intel 8096 family. Now
- PseudoSam 68 ;Motorola
- ;6800,01,02,03,08. Now
- PseudoSam 685 ;Motorola 6805. Now
- PsuedoSam 69 ;Motorola 6809. Now
- PseudoSam 65 ;6502. Now
- PseudoSam 85 ;Intel 8080,8085. Now
- PseudoSam 80z ;Zilog Z80, NSC800. Now
- PseudoSam 18 ;RCA 1802. Now
- PseudoSam 32 ;NSC 32000 Family. Apr 87
- PseudoSam 68k ;Motorola 68000 family. May 87
-
- * PseudoCode reserves the right to change price and availability
- of any product without notice.
-
-
-
-
-
-
-
-
-
- Appendix C: Description of Files
-
- Your PseudoSam 69 distribution disk contains a number of files. This
- appendix will give a brief statement of the purpose of each of the
- files.
-
- FILE DESCRIPTION
- ----------------------------------------------------------------
- A69.COM The PseudoSam 69 program.
- A69.DOC This document.
- EXAMPLE.ASM Sample source file.
- MNEMTEST.ASM Mnemnonics test file.
- SYN.ASM Useful mnemnonics redefinitions
- COMRCIAL.USE Commercial distribution agreement.
-
- Occasionally, various other sample source files for PseudoSam 69 will be
- distributed. These files will have extension ASM, and will be
- accompanied by a corresponding DOC file.
-
-
-
-
-
-
-
-
-
- Appendix D: Bug Reporting Procedure.
-
-
- Although each version of PseudoSam 69 is tested extensively prior
- to release, any program is bound to contain a few bugs. It is
- the intention of PseudoCode to correct any genuine problem that
- is reported.
-
- If you think you have found a bug in PseudoSam 69, please take the time
- to report it for correction. Although any report is helpful,
- correction of the problem will be easiest if you provide the
- following:
-
- 1. The version of PseudoSam 69 you are using. Your problem may have
- been fixed already.
-
- 2. A brief description of the problem.
-
- 3. A copy of the problem source file, preferably on a floppy disk.
- (The cost of floppies is so small($.29), they will not be
- returned and become the property of PseudoCode.)
-
- * It is NOT necessary to send a large program to demonstrate
- problem. Please try to isolate the problem area, by
- writing a short sample program that demonstrates the bug.
-
-
-
-
-
-
- Attention:BUGS PseudoCode
- P.O. Box 1423
- Newport News, VA 23601
-
-
-
-
-
-
-
- Appendix E Using PseudoSam 69 on "Compatible" Systems.
-
- PseudoSam 69 was written specifically for the IBM PC, but should
- function normally on true "compatibles".
-
- Since PseudoSam 69 version 1.2.00 is a totally new program, little
- compatibility data is currently available. If you are using (or
- are unable to use...) PseudoSam 69 on a non-IBM computer, please
- write with your experiences. Does PseudoSam 69 work correctly on
- your system? Are there specific problem areas? Can they be worked
- around?
-
- The following systems are known to run PseudoSam 69 version 1.2.00
- successfully:
- IBM PC
- IBM XT
- IBM AT
- Sperry PC (all models).
- JDR Microdevices PC Clones.
-