FBHF+Äì'F  ASMEnv: Assembler Language IDE ▄
   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
zASMEnv (ASM Environment) is an Integrated Development Environment (IDE) designed for working with .ASM source files and further customized (though easily changed) for use with Borland's Turbo Assembler - the one Borland tool that doesn't have, or emulate, the Borland Pascal or Borland C++ IDE. ASMEnv is evolving AND experimental; but it is definitely a useful tool right now.   
AF1 gets context sensitive help when it is available and this screen when it isn't. Shift-F1 gets the "no context" help screen, this screen if you are not within the Menu structure. And ^F1 can get TASM's THelp tool if you are working with Borland's TASM and have set up the \TA.BAT modeled on ASMEnv's distribution disk.   
Esc clears any help box.   
kThe right mouse button opens Help like the F1 key and closes it like the ESC key. Location doesn't matter.   
░You may type file names (wildcards ok) after ASMEnv at the DOS prompt, and ASMEnv will open them for you skipping any that exceed 61000 bytes. These should be "paged" using TxtPager which is on the File menu. You may also use the switch /d (or /D) to have the last stored desk arrangement in place for you. Add a colon (:) and a filename (path included, if not cd) to get another desk file than ASMEnv.DSK in the current directory.   
uOnce inside, use Ctrl-F3 for Last Desk, F3 to open a file in an Editor or Shift-F3 to open an Editor for a new file.   
┤From the desktop "blotter" you may use the hex calculator or ascii chart; or you may run a "wired in" program, use the DOS Command Line, or exit, on top of ASMEnv, to a DOS Shell.   
¡You may want to use Debug.EXE that IBM and Microsoft distributed with DOS in the past and have a copy to use. Debug is crude but easy to use and is used for demonstration in most textbooks on Assembly Language programming. You can use the DOS Command Line (F7) where it will be held in the command stack for repeated use. Or you may edit it into the TDbgPath in the Edit Menu and access it with the File Menu TDbg (AltF9) entry. )  
   ASMEnv.CFG    ASMEnv.DSK    Editor
?b	4f	#
'
5
C' Editor ▄
  ▀▀▀▀▀▀▀
ÿAn Editor is the heart of an IDE, of course, and you may have as many Editors as you have RAM for the 64K buffer each ASMEnv Editor installs. Each Editor is a workspace in and of itself, but you must use several in concert to "page" large files and may want to page smaller files to use the Editor-accessing hot keys as a faster way to work in several locations than the nine bookmarks each Editor provides.   
╨A minor nuisance: Sometimes after a PgUp the Home key sticks. Hit either lateral arrow or the End key and then the Home. If any of these four keys sticks, the other three free it. See ASmEnv.DOC for details. ó  
   Cursor Keys   Tabs
  
   bookmarks     batch text     Clipboard
  
   DOS Command   Last DOS Scn   DOS Shell
  
   Last Desk     Printing       Print Setup
■åöƒ	¡
@╝	╠┌Θ	?∙	' Cursor Keys ▄
  ▀▀▀▀▀▀▀▀▀▀▀▀
  Shift-CursKey is used to select (mark)
  text. Then, any key that doesn't act on
  the selected block deselects the block.
  
  right arrow      =  one character right
  left arrow       =  one character left
  up arrow         =  up one line
  down arrow       =  down one line
  Home             =  beginning of line
  End              =  end of line
  PgUp             =  cursor line at bottom of
                      scn, cursor at top
  PgDn             =  cursor line at top of
                      scn, cursor at bottom
  
  Ctrl right arrow =  one word right, EoL,
                      first word next line
  Ctrl left arrow  =  one word left,
                      last word prev line
  Ctrl PgUp        =  beginning of file
  Ctrl PgDn        =  end of file
' Batch Text ▄
  ▀▀▀▀▀▀▀▀▀▀▀
╒A primary objection to Assembly language coding is the typing of ASM source. Long stacks of small code modules, line by line. ASMEnv has many assists for your typing code. A primary one is what I call batch text.   
╝Type ^m and ASMEnv types for you "mov     " so you are ready to type "ax, 0" or whatever Operands entries you want with that OpCodes entry. Type ^2 and ASMEnv types a more complex module. '     mov     ax, _
     mov     ds, ax
ZThe two lines appear and the cursor is on the first line. This is on the Constructs menu.   
╣To type an entire segment definition line, say for cseg, type ^u,c. This is on the DefSegs menu. Besides the four menus of batch text mentioned, there is a separate one for String Ops. ENBrD!
AêCΓ
') Printing (Alt-F2) ▄
  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
αAlt-F2 (on the File menu) prints. ASMEnv writes the file you are working on to ASMPRN.TMP in the current directory. It finds on the path ASMPRN.EXE and invokes it, giving it the command line switches you set in Print Setup.   
The printers supported are:   
╚EPSON and compatibles; HP LaserJet II, III, IIP, IID, IIID, IIISi and compatibles (Italics are available on IIIx, IIP); ADOBE(R); PostScript(R); ASCII (which is about like the "Save to Prn" from 1.8)   
rIf using /ASCII or using /ProPr or /Epson WITHOUT THE /f, you can type printer control codes into your text by using an Alt-NumPad# for each code. Your printer manual tells you what these are for your printer. One code in your text that ASMPRN reads and uses for any printer is Alt-NumPad[12]. This forces a page break. The /d (darken) works only with /Propr or /Epson. ²' ASMEnv.CFG ▄
  ▀▀▀▀▀▀▀▀▀▀▀
)The ASMEnv.CFG file is automatically created or updated in the current directory when you close ASMEnv. This file stores all the history lists and all the editable strings as you last edited them. This includes paths to external tools, params from last use of tools, and segment definition lines.   
ÆWhen you open ASMEnv, ASMEnv.CFG is automatically read in and the lists and strings are put in place. If there is no .CFG file, you get an Error box. Click OK or Enter to clear it. Histories will be empty and editable strings will be defaults that exist in the ASMEnv.EXE file. (To edit these defaults, use a byte editor and find the string and replace it. Update the length byte in front of the "c".) ' ASMEnv.DSK ▄
  ▀▀▀▀▀▀▀▀▀▀▀
>The ASMEnv.DSK file is created in the current directory when you close ASMEnv or if you Save Desktop (^F2). The file contains the Editors that are currently open on the desktop and data for the window number assignment. Shift-F5 displays the Windows List. The lowest number with an empty line is the next number used.   
┼ASMEnv.DSK is not loaded automatically when you open ASMEnv. But at any time Ctrl-F3 will clear the current Desktop and Retrieve the Last Desktop that was saved into the present current directory. >u?π' Tabs ▄
  ▀▀▀▀▀
⌠The tabs are preset and constant for efficient use when working on ASM source code. Pressing the Tab key cycles forward: 17-25-42-1-17. Shift-Tab does not cycle backwards, but brings up an information box that sums up the content of this note.   
·Use the Tab key to "float" over text and use the Alt-Tab key to push text. (Suppose you type ^m while in the Labels column and not in the OpCodes column. Write your Operands entry, Home, and press Alt-Tab. The two column entry is pushed into place.) '$ Hex Calculator ▄
  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
}The programmer's hexadecimal calculator is a simple four function calculator useful in asm coding. The K-key clears because C is the hexadecimal value for 12d. The N and H numbers are for d/h translation (D is 13d). Enter a decimal number and press H. To see a result in decimal, press N. The number is given inside d() to prevent your using it in calculations. H changes it back.   
tA single memory location exists and M and R store and retrieve the figure in the display. The memory location is in ASMEnv, so you may store the display, close the calculator (Alt-F3), and later open the calculator and retrieve the stored display. Or you may have two calculators open and exchange a display. The memory value is stored in ASMEnv.CFG across work sessions. '1 ASCII Table (Alt-F7) ▄
  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
iThe ASCII table displays the entire IBM PC character set.  The current character is marked by a blinking block cursor, and the hexadecimal and decimal ASCII values of the character are displayed below the chart. A new character is selected by pressing it on the keyboard, by clicking the mouse on it in the chart, or by moving the cursor using the cursor keys. '  Large Files  ▄
  ▀▀▀▀▀▀▀▀▀▀▀▀▀
YEach Editor has a buffer limited to 61440 bytes (smaller if you plan to expand it). ASM modules aren't likely to get much larger than that. But larger files can be handled by using a "paging" technique. And you may want to "page" smaller files and use the F6 key or Alt-# keys to go to work locations instead of the nine bookmarks in an Editor.   
BOne of the wired-in tools is TxtPager.EXE which I wrote to break a file into two or more parts. You determine the number of lines to be in each part (with one part catching the remainder). You then load each part (that you plan to work on) into its own Editor. Each part (.PTn) is a "page." Ctrl-F7 gets TxtPager's param box and you enter the name of the file you wish to page. Hit OK and you are in TxtPager. Type s to split the file. TxtPager tells you the number of lines and asks how many you want in each page file. It creates the pages in the directory of the whole file.   
TASM assembles from the saved file. So, you will have to save all modified pages of the file, reconstruct a unified file, and assemble that. To rebuild the whole file from the pages, you again hit ^F7 and OK to keep the same file name. The original file is built from the upgraded page files. You may then assemble and link the whole file. And you may repeat this process as often as you wish without resplitting. Across work sessions, the filename is kept in the .CFG file and your page holding desktop is kept in the .DSK file. $Ü' BookMarks ▄
  ▀▀▀▀▀▀▀▀▀▀
DEach Editor has nine bookmarks. Set these by ShF8,#. And go to a bookmark with F8,#. At present you go to the Home position on the line you were in when you set the bookmark. I adjust for all added and subtracted lines but balked at trying to adjust for all insertions and deletions in the buffer to get the in-line offset. ' BAK Files ▄
  ▀▀▀▀▀▀▀▀▀▀
╜Automatically make .BAK files of files you are going to save, in case an error occurs during the save, or you fear writing over an only copy, ^F8 sets this to ON and Alt-F8 sets it to OFF. '& Last DOS Screen ▄
  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
Alt-F5 brings up the Last DOS Screen. When you first enter ASMEnv, this is the DOS screen on which you called ASMEnv. After running TASM, for instance, you will have the error messages on this screen, and you can refer to them when locating the errors in the source code. '0 ┌────────────┐
 │ [ Cancel ] │
 └────────────┘
\If you choose Cancel, nothing changes and no action occurs, and the dialog box is put away. L(Esc always cancels a dialog box, even if a Cancel button does not appear.) '* ┌──────────┐
 │ [ Open ] │
 └──────────┘
'" File  (Alt-F) ▄
  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀
[The File menu is the "door" into this TASM IDE and indeed you can do much work while on the bare desktop blotter. Alt-X exits. F3 brings up the FileOpen dialog and Shift-F3 opens a New File Editor. ^F3 brings up your last saved Desk; though it is on another menu, it's also on the Status line and always visible. Alt-F3 closes the focused Editor.   
fF2 saves the file in the focused Editor, and Shift-F2 does a SaveAs, which invites you to enter a name to use. Alt-F2 prints the file or, if you have a block selected, prints only that block. ^F2, listed on another menu, will save a "last desk" though it will be covered by the save on exit unless you change current directory or exit from the bare blotter.   
yBetween the F3/F2 clusters and Alt-X, you have a fair load of useful internal and external tools. Others are on other menus. Change Dir changes the current directory enabling you to control the File Open dialog's first display or to save a desk (ASMEnv.DSK) in a particular directory. The other entries are powerful external tools: DOS Command, DOS Shell, TASM, TLink, TDebug, TProf, and TxtPager allow you to handle DOS and the programs you need for your work with as much ease and speed as is obtainable. See Large Files for an example of how to use these tools (TxtPager in this case) to automate complex inter-program processes. 
?ⁿg
6C	!N"T#[%c$nΘ'& File│Open  (F3) ▄
  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
äThe Open command displays the Open a File dialog box. In this dialog box you select the text file you want to bring into an Editor.   
%The Open a File dialog box contains: ╜  
 ■ an input box with a history list
 ■ a list box to browse the directory
 ■ the standard Cancel button
 ■ Open action button
 ■ an information panel that describes the
   selected file
ú▓▄	 0A'D Help on Open a File Dialog Box ▄
  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
╧The Open a File dialog box contains an input box, a file list, a file information panel, the standard button Cancel, one other action button (Open), plus a history list that's attached to the Name inputbox. y	▓╙
'o ┌─ Name ──────────────────────────┐
 │                                 │
 └─────────────────────────────────┘
ÿThe Name input box is where you enter the name of the file to load, or the file-name mask to use as a filter for the Files list box (for example, *.*). '╝ ┌ Files ──────────────────────────┐
 │                                 │
 │  FILENM01.PAS  │  FILENM09.PAS  │
 │  FILENM02.PAS  │  FILENM10.PAS  │
 │  FILENM03.PAS  │  FILENM11.PAS  │
 │  FILENM04.PAS  │  FILENM12.PAS  │
 │  FILENM05.PAS  │  ..            │
 │  FILENM06.PAS  │  \MOREXAMP     │
 │  FILENM07.PAS  │  \TOURS        │
 │  FILENM08.PAS  │  \ANSWERS.DIR  │
 │  ▒▒▒■▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒   │
 └─────────────────────────────────┘
¼The Files list box lists the names of files in the current directory that match the file-name mask in the Name input box, plus the parent directory and all subdirectories. ╕ ┌──────────────────────────────────────────┐
 │ C:\TP\EXAMPLES\*.PAS                     │
 │ HELLO.PAS       52  Jul 14,1990  12:00pm │
 └──────────────────────────────────────────┘
fThe File information panel shows the path name, file name, date, time, and size of the selected file.   
<None of the items on this information panel are selectable. '* ┌──────────┐
 │ [ Open ] │
 └──────────┘
OThe Open button opens a new Editor and places the selected file in its window. '0 File│New  (Shift-F3) ▄
  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
îOpens an Editor without a file in it and titles it New File. On the first Save, the SaveAs dialog is opened to receive a name for the file. '& File│Save  (F2) ▄
  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
ySave the file in the active Editor to Disk. If it is a New File the SaveAs dialog is opened to take a name for the file. '6 File│SaveAs  (Shift-F2) ▄
  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
│Opens the SaveAs dialog to get a new name for the file and, when the name is entered, saves the file to disk under that name. The name is also put on the title bar of the Editor. '0 File│Print  (Alt-F2) ▄
  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
₧Alt-F2 prints the file you're working on or a marked block in that file. It uses ASMPRN.EXE. Use Print Setup to set the switches that govern ASMPRN's output.   
	Printing Æ╥'( File│Print Setup ▄
  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
7ASMEnv uses ASMPRN.EXE to print and Print Setup allows you to enter the command line switches to identify a printer yours is compatible with. If you give just the printer designation, your printer will be used as a simple "line printer." However, there are some other switches with which to control the output.                   
  
Command line options: R /EPSON   - Output EPSON printer codes.
 /Propr   - Output EPSON-like printers w/o
            itals (IBM Proprinter).
            /F will use underline.
 /HP      - Output HP LaserJet codes
 /HP-     - HP printers w/o itals,
            /F will use underline.
 /PS      - Output PostScript.
 /ASCII   - straight "copy to prn" (Default).
▓  
 /Lxx     - Lines per page (Default 55).
 /Txx     - Tabsize (Default 8).
 /O[file] - Output to file or device
            (Default LPT1).
 /F  - ASM comments in itals (or underline).
       and strings in bold. Otherwise,
       printers are simple line printers.
 /D  - Puts Epson and Proprinter on Bold if
       no /F, otherwise NLQ, which slows
       but DARKENS base print. (Bold is
       reserved for /F string printing).
  
	Printing ô'V Help on the Change Directory dialog box ▄
  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
ÆThe Change Directory dialog box consists of an input box, a list box, the standard OK and Help buttons, and two other buttons (Chdir and Revert). { ┌ Directory Name ─────────────────────┐
 │                                     │
 └─────────────────────────────────────┘
QThe Directory Name input box is where you type in the path of the new directory. ÷ ┌ Directory Tree ─────────────────────┐
 │   Drives                            │
 │   └─┬C:\                            │
 │     └─┬TP                           │
 │       └──TVISION                    │
 └─────────────────────────────────────┘
oThe Directory Tree list box enables you to navigate directories by using the selecting bar and pressing Enter.   
ùIf you're using the keyboard, press Enter to make the selected directory be the current directory, then choose OK or press Esc to exit the dialog box. * ┌──────────┐
 │ [Chdir ] │
 └──────────┘
bThe Chdir button changes the current directory once you've selected or typed in a directory name. * ┌──────────┐
 │ [Revert] │
 └──────────┘
iThe Revert button goes back to the previous directory, as long as you haven't yet exited the dialog box. '* File│Change Dir...▄
  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
jFile│Change Dir brings up the Change Directory dialog box, in which you can change the current directory. I'2 File│DOS Command (F7) ▄
  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
ßThe DOS Command Line is an "internal" version of the one at the DOS prompt. You can use it as you would the "external" one. But remember that you are Exec'ing child processes and keep your RAM capacity and structure in mind. ': File│DOS Shell (Shift-F7) ▄
  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
LShift-F7 opens a DOS Shell or another activated Command.COM on top of ASMEnv. You have a DOS prompt and may do anything at this prompt that you did at the original. This prompt has an [x] to remind you that you are in a shell and must type EXIT<enter> to return to ASMEnv. On return, use Alt-F5 to see the DOS screen you just left.   
', File│Exit  (Alt-X) ▄
  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
ßThe Exit command terminates this program and returns you to the DOS prompt. Re-enter ASMEnv and type ^F3, and you will be right back where you were. Use this instead of DOS Command to run a large program like Turbo Debugger. '& File│TASM  (F9) ▄
  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
Borland's Turbo Assembler is wired in. You may change this by editing the TASMPath (ShF10) and your change is held across sessions in ASMEnv.CFG. You can edit the default in a byte editor and there is plenty of room. Remember to update the length byte before the "c". '- File│TLink  (Sh-F9) ▄
  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
║Borland's TLink.EXE is wired-in, but you may change this by editing the TLinkPath (AltF10). You may edit the default in a byte editor. Remember to update the length byte before the "c". '. File│TDbg  (Alt-F9) ▄
  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
PBorland's Turbo Debugger is wired-in and listed on the menu. While the menu isn't easily changed, you may "edit the path" (^F10) and put in Codeview or another debugger. The path that is default is "c:\td\td.exe". Your edited path in the Edit│TDbgPath input box is saved across sessions in the ASMEnv.CFG file in the current directory.   
To edit the default (in the .EXE), use a byte editor. The path entry is not difficult to change, and there is plenty of room. Don't forget to change the length byte just before "c" in the entry. You can edit TASM to MASM or TLink to Link in the menu, but no lengthened names.   
òTurbo Debugger is a large program and you'll want to take in multiple files and use what you run in it. You probably won't want to use this from within ASMEnv. Remember that when you exit ASMEnv (Alt-X) your working setup is saved in ASMEnv.DSK in the current directory. You can use Turbo Debugger, or do any other work, and, then, re-enter ASMEnv, hit ^F3 for "Last Desk," and be exactly where you were.   
The power "environmentalist" may use TD from inside ASMEnv with adequate room to do real work. If you have used TD386.EXE you won't have any difficulty. You will use three files modeled on our distribution disk. These are TA386.BAT, Config.386, and Autoexec.386. The Config file is in your TD directory, the Autoexec file in your TA Directory (you have another in the TD, probably). TA386.BAT is in your root directory. In the Edit Menu, change TD.EXE and TProf.EXE to TD386.EXE and TF386.EXE. And enter ASMEnv by calling \TA386. '0 File│TxtPager  (^F7) ▄
  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
ûI wrote TxtPager, a stand alone program, for use in ASMEnv to "page" files, mainly large files that must be paged so they will fit. Ctrl-F7 will bring up the params box. Type the filename with whatever path you need to get it from the current directory. OK Exec's TxtPager. Type s to select split. You are told the number of lines in the file and asked for the number you want in each page (a .PT? file). The page files will be written into the same directory as the whole file named. Bring the pages you intend to work on into editors in ASMEnv. It's probably a good idea to bring in all of them in order so the window numbers are the same as the page numbers.   
DThe concept of "paging" has value beyond distributing a large file over several editors or setting up a more sophisticated bookmark system than the F8 system in each editor. When typing TASM or MASM source, you likely use the PAGE break command to make a section break and start something new on the next page. You might do this after equates and macros or after dseg and so forth. To do this name your first file filename.pt1 instead of file- name.asm. Each time you would use PAGE, open a new file and name it filename.ptN. You can type your PAGE command for the .LST file. Paging here is for your desktop convenience. To get your .asm file, just use TxtPager with the .asm as param. choose j (join) and gather the .asm  file. Keep your set of .pt? files because a later splitting of the .asm  file won't give you your unique paging.   
jWhen you work on a page, save it. When you're ready to assemble the whole file, or do anything to it, hit ^F7 again, keep the same param and hit OK. When TxtPager comes up, type j for join...and your original file is rebuilt from the updated pages. Just keep repeating the update of pages and rebuilding of the original file. The param is kept between sessions in the .CFG file. And your desktop with the pages in their windows is kept in the .DSK file. You can save a desktop arrangement in a .DSK file with ^F2...and rename the file or store it elsewhere. Then, you can go to another project and return to this one.   
╣Edit the TxtPagerPath (^F12) according to where you place the EXE file. You may even edit the default in a byte editor. You must update the length byte before the "c" in the .EXE file. ä'* File│TProf  (^F9) ▄
  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
Borland's Turbo Profiler is wired-in. You may replace this by editing the TProfPath (^F11). You may even replace the default in a byte editor and there is adequate room. Remember to update the length byte before the "c". The menu item is not easily edited.   
┤This is a large program and you likely won't use it from within ASMEnv. When you exit ASMEnv, your "desk" is stored in ASMEnv.DSK and on reentry, ^F3 puts you back where you were. '  Edit (Alt-E) ▄
  ▀▀▀▀▀▀▀▀▀▀▀▀▀
╬The Edit menu contains the Clipboard "handlers" and a few useful formatting tools to be used in an Editor. And the menu obtains the input boxes for editing external tool paths and segment definition lines. '. Edit│Edit Path\Tool ▄
  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
=ASMEnv is Exec'ing the program, so be sure to add .EXE or .COM to the program name at the end of the path. Your path will be saved across work sessions (in the .CFG file). You may, of course, run any program from this menu item thus using the "slot" of TProf for CRef or another program and, then, switch back later. '0 Edit│Edit Definition ▄
  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
bThe definition in the box is for a segment defining line. It is the standard definition found in introductory texts on ASM coding. You may change these and your changes will be preserved across sessions in the .CFG file. The spacing is standard and when changing you may want to enter typeover mode (INS key) to preserve the spacing when changing items. '; Edit│Edit Parameters ▄           
  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
εWhen you call a program, you get this Params box. Type in params for the program as you would after the program name at the DOS prompt. OK runs the program. The last param set is preserved and is stored between sessions in the .CFG file. '( Edit│Cut (ShDEL) ▄
  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
VShift-Delete copies the selected block to the Clipboard and deletes it in the Editor. @W	'( Edit│Copy (^INS) ▄
  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
5Ctrl-INS copies the selected block to the Clipboard. @S	', Edit│Paste (ShINS) ▄
  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
\Shift-INS copies the selected item in the Clipboard into the Editor at the cursor position. @W	'6 Edit│Del Select  (^Del) ▄
  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
Delete selected block. '> Utils│Del Line (^Backspace) ▄
  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
Delete the line cursor is on. '6 Utils│Ins Line (^Space) ▄
  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
Insert a line at the cursor. '
" Utils (Alt-U) ▄
  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀
╣Find, Find & Replace, and Find Again are all on the F4 key. Find is F4, Replace is Alt-F4, and Find Again is Shift-F4. To speed repeats, using an unshifted key, F12 is also Find Again.   
ûA .BAK file on save (^F8) and NO .BAK file on save (Alt-F8) turn ON and OFF the automatic setting of the disk copy of the file to .BAK before saving.   
═Type printer control codes into text when you use Print from the File menu (Alt-F2) to print the file or a selected block in the file from RAM. Use DOS' Alt-NumPad# to place the control codes in the text.   
cEach Editor has nine (1..9) bookmarks to set and then to jump to. Set by ShF8,# and go to by F8,#.   
RTwo tools presently on this menu are an ASCII Chart and a Hexadecimal Calculator. 
Γ¬d	
╓	Φ'* Utils│Search (F4) ▄
  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
Accesses the Search dialog. '2 Utils│Replace (AltF4) ▄
  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
&Accesses the Search & Replace dialog. 'B Utils│Search Again (ShF4/F12) ▄
  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
7Repeats the last Search or Search & Replace operation. '* Utils│ASCII table ▄
  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
QThe ASCII menu item opens an ASCII Table that displays the IBM PC character set. 
H'0 Utils│Hex Calculator ▄
  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
VWhen you choose Hex Calculator, a four function hexadecimal calculator is brought up. 	A'( Windows  (Alt-W) ▄
  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
╪Windows List (Shift-F5) lists the numbered (1..9) windows and tells you what file is in each. You can pull a window to the front by Alt-#. For a quick list of all open editors with filenames, any of which can be clicked on with the mouse to bring it to the top or reached by F6 and Shift-F6 (the numbered ones by Alt-#), use Cascade (Alt-0, zero). You can use Alt-# while the List window is open, and it will close automatically and the editor will be brought to the top.   
├The Windows menu contains commands to close, move, resize, zoom, tile, cascade, and cycle through windows. This menu also contains Show Clipboard, Last Dos Screen, and Save and Retrieve Desktop.   
═The Editors in ASMEnv have all the standard window handling elements, including scroll bars, a close box, and a zoom icon. Tool windows have various combinations of these suitable for the particular tool. 9  
 Window handling commands
 ══════════════════════════
  
 Size/Move        Zoom
  
 Tile             Cascade
  
 Next             Previous
  
 Close
:n7╘	8σ9ε: ;<=)'6 Windows│Size/Move (^F5) ▄
  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
∞Changes the size or position of the active window. After ^F5, arrow keys move and shift-arrow keys resize the window. To use the mouse instead of ^F5, move by dragging the top frame and resize by dragging the lower-right resize corner.   
æKeep the change by pressing Enter and cancel by hitting Esc. Releasing the mouse button after dragging is the same as hitting Enter after a ^F5. '* Windows│Zoom (F5) ▄
  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
äWindows│Zoom resizes the active window to the maximum size. If the window is already zoomed, Zoom restores it to its previous size.   
zYou can also double-click anywhere on the window's title bar (except where an icon appears) to zoom or unzoom the window. '0 Windows│Tile (AltF6) ▄
  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
4Windows│Tile tiles all file viewers on the desktop. K ┌────────────────────────────────────┐
 │ ╔════════════1══╗┌────────────2──┐ │
 │ ║               ║│               │ │
 │ ║               ║│               │ │
 │ ║               ║│               │ │
 │ ║               ║│               │ │
 │ ╚═══════════════╝└───────────────┘ │
 │ ┌────────────3──┐┌────────────4──┐ │
 │ │               ││               │ │
 │ │               ││               │ │
 │ │               ││               │ │
 │ │               ││               │ │
 │ └───────────────┘└───────────────┘ │
 └────────────────────────────────────┘
             Tiled Windows
'& Windows│Cascade ▄
  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
8Windows│Cascade stacks all file viewers on the desktop. @ ┌──────────────────────────1─┐
 │┌─────────────────────────2─┐
 ││┌────────────────────────3─┐
 │││╔═══════════════════════4═╗
 │││║                         ║
 │││║                         ║
 │││║                         ║
 │││║                         ║
 │││║                         ║
 └└└╚═════════════════════════╝
        Cascaded Windows
'* Windows│Next (F6) ▄
  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
3Cycles forward through the windows on the desktop. '6 Windows│Previous (ShF6) ▄
  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
4Cycles backward through the windows on the desktop. '2 Windows│Close (AltF3) ▄
  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
Closes the active Window.   
@Click the Close box in the upper left corner to close a window. '> Windows│Save Desktop  (^F2) ▄
  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
éSaves the state of all open Editors to a file called ASMEnv.DSK. This file can be reloaded by selecting Windows│Retrieve Desktop. ?º'F Windows│Retrieve Desktop  (^F3) ▄
  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
▀Ctrl-F3 puts you back "where you were working" when you last closed ASMEnv with Editors on the desktop blotter or when you saved the desktop with Ctrl-F2. All the Editors open when the desktop was saved are open and have their original cursor point, bookmarks, selection, and so forth. The Editor that was the active one, though a tool may have been active window, is the active one. Shift-F5 shows the Windows List. The lowest number with an empty line is the next number used. '@ Windows│Show Clipboard (^F6) ▄
  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
òThe Clipboard is a customized Editor which comes up in a small window in the upper left, but which may be zoomed or resized to suit your uses of it.   
ZIt is used primarily for cut, paste, and copy. Editors do not have internal Copy or Move.   
To Move, in an Editor or between two Editors, mark the block (Shift and cursor keys or drag the mouse) and use Shift-Del to "cut" the block and hold it on the Clipboard. Put the cursor where you want it, in any open Editor, and use Shift-Ins to "paste" the block from the Clipboard.   
DTo Copy, use Ctrl-Ins instead of Shift-Del in the directions above.   
óA block held in the Clipboard is selected and ready for pasting. If you put another block into the Clipboard, the previous block is deselected and a new line is inserted for the new entry. You can go into the Clipboard and move the selection to a previous block. Select in such a way that the cursor is at the end of the selected block AND at the end of a line. That's so a new inserted line will be placed correctly.   
╤You can use the Clipboard as a SCRATCH PAD. Write something and select it, placing the cursor as described above, and, then, if it's as you want it, paste it into any Editor. Or save it to a file or print it. '( DefSegs  (Alt-D) ▄
  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
Part of ASMEnv's batch text feature for shortcut typing of ASM code. ^u,c types the definition line for a code segment. The default line is the "standard" one, but on the Edit menu you will find the input box for editing this and the other segment definition lines.   
Also on this menu are other batch text items including the IFDEF and ELSE/ENDIF constructs. ^y,x types IFDEF and places the cursor for typing in a symbol. ^y,z types ELSE/ENDIF and places the cursor after the ELSE. If you have indented code under IFDEF and type ^y,z, the ELSE/ENDIF will back-dent to the column IFDEF starts in. If you've moved (Alt-Tab) the IFDEF line from Label to OpCodes, the ELSE/ENDIF will line up under the old position. Delete the two lines (^Backspace) and type ^y,z again and they will be lined up in column 17. '( OpCodes  (Alt-O) ▄
  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
ïPart of ASMEnv's batch text feature for shortcut typing of ASM Code. This menu contains code modules typed by use of a hot key with the cursor at the beginning of the OpCodes column. ^m types "mov     " and the cursor is at the start of the operands column where you can finish typing the line or module. ^f types "pushF" and puts the cursor at the start of the OpCodes column on the next line.   
~If you type ^m in the label column, finish your line, press Home, and type Alt-Tab. Your module will be pushed into position. '& StrOps  (Alt-S) ▄
  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
╘The string operation codes are gathered in this menu and all of them require the ^u keypress before the assigned hot key. The ^u is an "under" key as ^y is a "yonder" key. These allow needed additional hot keys. '. Constructs  (Alt-C) ▄
  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
AThese are frequently typed code modules placed on hot keys. For instance ^@ or ^2 is the two line module used to "set" ds to a code segment. And ^6 (^^ loses something as a mnemonic) is used to "set" es to a code segment. ^[ and ^] set up and tear down a stack frame by manipulating bp and sp. ^\ and ^_ are lds and les. '* oPerands  (Alt-P) ▄
  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
7The longer phrases used as adjectives in the Operands section of code lines are on hot keys as batch text. For instance, ^b types "byte ptr " leaving the cursor ready for an address. ^v types "[bp+". For a param, space and type in an "offset]". For a local variable, backspace, minus, space, and the" offset]". 'F    ▒#Rvφ+>h "■'h)K*ì+t,º,S24H5[68:╜:à;0<%=>┘B╒GzHÖI1KJLêM{N█T4^(`"aÖb7dle√eifg[g├g"h^k░klÖl%m╝m9rt>uⁿw┼y.zñzE{|G~üâπå)ë/è¬ï