*********

Welcome to Project 64!

The goal of Project 64 is to preserve Commodore 64 related documents
in electronic text format that might otherwise cease to exist with the
rapid advancement of computer technology and declining interest in 8-
bit computers on the part of the general population. If you would like
to help by converting C64 related hardcopy documents to electronic
texts please contact the manager of Project 64, Cris Berneburg, at
74171.2136@compuserve.com.

Extensive efforts were made to preserve the contents of the original
document.  However, certain portions, such as diagrams, program
listings, and indexes may have been either altered or sacrificed due
to the limitations of plain vanilla text.  Diagrams may have been
eliminated where ASCII-art was not feasible.  Program listings may be
missing display codes where substitutions were not possible.  Tables
of contents and indexes may have been changed from page number
references to section number references. Please accept our apologies
for these limitations, alterations, and possible omissions.

Document names are limited to the 8.3 file convention of DOS. The
first characters of the file name are an abbreviation of the original
document name. The version number of the etext follows next. After
that a letter may appear to indicate the particular source of the
document. Finally, the document is given a .TXT extension.

The author(s) of the original document and members of Project 64 make
no representations about the accuracy or suitability of this material
for any purpose.  This etext is provided "as-is".  Please refer to the
warantee of the original document, if any, that may included in this
etext.  No other warantees, express or implied, are made to you as to
the etext or any medium it may be on.  Neither the author(s) nor the
members of Project 64 will assume liability for damages either from
the direct or indirect use of this etext or from the distribution of
or modification to this etext.

*********

The Project 64 etext of two Turbo Assembler Commands etexts.
Credits are given in the respective documents.

TASM11A.TXT, September 1996, etext #72. This replaces TASM10.TXT.

*********

The Project 64 etext of Frank's Turbo Assembler V6.0 Commands.
Converted to etext by "Frank" Jeno E. Kontros
<jeno@kontr.uzhgorod.ua>, the Non Stop Cracker.

*********

Because I was found many not complete TURBO-ASM docs on net, I decided
to write one full doc about TURBO-ASSEMBLER V6.0. Here it is!

Load Turbo Assembler like this LOAD"TURBO-ASM. V6.0",8,1
and start it with (if not packed) SYS(9*4096) or SYS 36864

"{" is the backarrow key in document.


CURSOR MOVEMENT
---------------

CRSR LEFT/RIGHT  - move left/right one position in line
CRSR UP/DOWN     - go up/down a line
RETURN           - insert a line (if insert line mode) and go to this line
SHIFT+RETURN     - jump to next line
F1/F7            - scroll 20 lines up/down
F2/F8            - jump to source-code start/end
{CRSR UP/DOWN    - scroll 200 lines up/down
{Q               - goto to beginning of line
{N               - goto line #
{Y               - goto bottom line
DEL              - delete character left cursor
INST             - auto insert char mode on/off
{DEL             - delete actual line
{INST            - auto insert line mode on/off
{RETURN          - insert a line from cursor position

NOTE: after you leave line TURBO-ASM automatically checks its syntax.


SETTING TABULATORS
------------------
{7  - set cursor tab (e.g. where cursor jump to after RETURN)
{8  - set sourcecode tab (max.11)


LINE OPERATIONS
---------------
{2      - writes ';---------------------------------------' line
{/      - delete from cursor to end of line
{SPACE  - fill up line with SPACE
{^      - (up arrow) copy line
{=      - cut line
{~      - (pound) paste line
{Z      - undo line (imediately after {2, {/, {SPACE, {~)


BLOCK AND MARK OPERATIONS
-------------------------
{M  - set mark (#0-9), blocks start (#s) or block end (#e)
{G  - goto mark (#0-9)
{;  - kill mark (0-9)
{:  - list all marks
{B  - block operations: write (to ASCII SEQ file), kill, copy.
{E  - insert (IMPORT ASCII SEQ) file from disk to current position

NOTE: never mark first line of source-code as block start


SEARCH & REPLACE
----------------
{F   - search a string
{H   - search next occurance
{R   - replace string1 with string2, search first ocurrance
{T   - replace & search next replace
{Y   - replace all occurances

FUNCTION KEY PROGRAMMING
------------------------
{F1  - Reset funcion keys (F3=.word, F4=assemble&run, F5=.byte, F6=del line)
{A   - Input all characters (exit with "{"); to get "{" press "{" twice;
       useful when define F-keys
{K   - press F-key (F3-F6) to redefine


DISK OPERATIONS
---------------
{*  - disk directory
{@  - disk status
{D  - disk command
{P  - set EOR-code for coding source-code
{W  - writes all source-code to ASCII SEQ file (EXPORT)
{L  - load source-code
{S  - save source-code (possible overwrite with @: prefix)

NOTE: 1. TURBO-ASM  loads  its  source from top ($8FEB) to bottom
         ($0800)  of memory and crunches its opcodes, numbers by own
         (like BASIC tokens).

      2. By  saving  and  loading  source-code TURBO-ASM. also saves
         and loads configurations like colors, F-keys, marks and
         actual cursor position.

MEMORY OPERATIONS
-----------------
{6        - converts memory block between addr's to source-code data
{J        - dump memory block between addr's
{SHIFT+F  - fill memory block between addr's with code
{SHIFT+L  - load to memory addr
{SHIFT+S  - save memory block between addr's


ASSEMBLING
----------
{3  - assemble to memory
{4  - list assembled file to: ?=printer, *=screen, filename=file
{5  - assemble to object (executable) file
{U  - list labels to: ?=printer, *=screen, filename=file


MISCELLANEOUS
-------------
{C        - cold start (init TURBO-ASM. and clears source-code)
{I        - init TURBO-ASM & clear unused memory
{+        - add two hex numbers
{-        - subtract two hex numbers
{V        - display memory usage: - free blocks, + used blocks
{O        - change colors
{SHIFT+K  - keyclick on/off
{1        - exit from TURBO-ASM. (SYS 36864 or SYS 333 to restart)

NOTE: {V works incorrectly in range $E000-$FFFF, b'coz reads I/O & KERNAL
      (with Action Replay's crashes quite nicely)


EXPRESSIONS
-----------
The assembler works with 8 and 16 bit numbers with following notations:
$            - for hex numbers
%            - for binary numbers
! (or none)  - for decimal numbers
"x"          - for characters

Allowed operations in expressions (in high-to-low hierarcy order):
( )          - brackets
* /          - multiple, divide
+ -          - plus, minus
: & .        - EOR, AND, OR operations

Special operations:
<            - lower byte of 16 bit expression
>            - higher byte of 16 bit expression
*            - actual assembling addr or define object-code start (*=start)

NOTE: 1. Never use label after label=* or likewise combination.
      2. Don't use area between $E000-$FFFF (reserved for TURBO-ASM labels).

Labels:
The first 8 characters recognized and all remain truncated.

PSEUDO OPS
----------
.OFFS addr                - set object-code displacement (by adding addr)
.BYTE byte1,byte2,...     - convert bytes
.WORD word1,word2,...     - convert words
.TEXT "text1","text2",... - convert text strings
;                         - comments following


Some bugs removed by me:
1. Some versions of TURBO-ASM. (V6.0 tronic/rizing) fails with command {G.
2. {V now patched for Action Replays.

*********

End of the Project 64 etext of Frank's Turbo Assembler V6.0 Commands.

*********

The Project 64 etext of Joe's Turbo Assembler Commands. Converted to
etext by Firefoot, compiled by Joe <mcalavy@nevada.edu>.  The original
etext Turbo_Assembler_Commands.txt was transferred from
ftp://arnold.hiof.no/programs.

*********

From news.nevada.edu!mcalavy Sun Jan 29 01:24:27 1995
Path: news.nevada.edu!mcalavy
From: mcalavy@nevada.edu (Joe)
Newsgroups: comp.sys.cbm
Subject: ! Turbo Assembler Docs Here !
Date: 29 Jan 1995 09:22:06 GMT
Organization: University of Nevada System Computing Services
Lines: 69
Message-ID: <3gfmnu$eqp@news.nevada.edu>
NNTP-Posting-Host: pioneer.nevada.edu
X-Newsreader: TIN [version 1.2 PL2]


Several people seem to be looking for this sort of stuff.  I got most
of this from FireFoot (as a couple of seperate programs that you had to
load and run) but I thought an expanded, clearified, corrected, ASCII
version would be more useful to many people.  Well, when you find
mistakes, omissions or better descriptions, PLEASE contact me
(mcalavy@nevada.edu) and let me know so I can incorporate your
contributions and post it for everyone....   ThanX....

   ------------------------------------------------------------------
                    Turbo Assembler Commands v0.1
         (compiled by Joe, info contributions by FireFoot/Style)

There are many different versions of Turbo Assembler, these are some of
the commands (I have one marked V5).  Load it like this
LOAD"foo",8,1
SYS(9*4096)
Where did that SYS come from?  Well the hex address is $9000, so it's 9 *
4096, if it was $0900 then it would be (9*256)....

"<-" is the backarrow, it is not "<" followed by "-"

"<-" commands
1 exit
2 comment line
3 compile (with the option to run)
4 print source as file
5 compile to disk
6 create ".byte"
8 set tab
+ add
- subtract
[DEL] delete
[INS] insert
A quote toggle
B block options (copy, write, kill)
C cold start
D disk commands
E enter file (inport text file)
F find
G goto mark
H hunt
K redefine F-Key
L load
M set mark (0-9, start, end)
N goto line
O change colours
R replace text
S save
U list lables
W write file
^ keyclick toggle (up arrow)
@ drive status
* directory
: list mark
; kill mark

Pseudo Ops
.BYTE $00,$FF,0,255,"x"         byte data
.WORD                           word data
.TEXT "This is text"            text data
*=$2000                         set start address
#<label                         take low byte of lable address
#>label                         take high byte of lable address
*                               current address (JMP *+20)

End your code with "JMP $9000" and it will return to the assembler....

*********

End of the Project 64 etext of Joe's Turbo Assembler Commands.

*********

End of the Project 64 etext of two Turbo Assembler Commands etexts.

*********
