ASMEnv (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.
F1 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.
The 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 passing on any that exceed 61000 bytes. These should be "paged" using TxtPager which is on the File menu. Once 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
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
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
The 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.
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)
If 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.
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.
A 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.
ASCII Table (Alt-F7)
The 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
Each 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.
One 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
Each 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.
[ 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.
F2 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.
Between 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.
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
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
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.
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
The 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 ]
The Open button opens a new Editor and places the selected file in its window.
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)
Save 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.
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.
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
ASMEnv 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
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
The Directory Name input box is where you type in the path of the new directory.
Directory Tree
Drives
C:\
TP
TVISION
The 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 ]
The Chdir button changes the current directory once you've selected or typed in a directory name. *
[Revert]
The Revert button goes back to the previous directory, as long as you haven't yet exited the dialog box.
File
Change Dir...
Change Dir brings up the Change
Directory dialog box, in which you can change the current directory.
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)
Shift-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)
Borland'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.
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.
The 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.
When 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.
Edit
Edit Definition
The 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)
Shift-Delete copies the selected block to the Clipboard and deletes it in the Editor.
Edit
Copy (^INS)
Ctrl-INS copies the selected block to the Clipboard.
Edit
Paste (ShINS)
Shift-INS copies the selected item in the Clipboard into the Editor at the cursor position.
Edit
Del Select (^Del)
Delete selected block.
Utils
Del Line (^Backspace)
Delete the line cursor is on.
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.
Each Editor has nine (1..9) bookmarks to set and then to jump to. Set by ShF8,# and go to by F8,#.
Two tools presently on this menu are an ASCII
Chart and a Hexadecimal
Calculator.
Utils
Search (F4)
Accesses the Search dialog.
Utils
Replace (AltF4)
Accesses the Search & Replace dialog.
Utils
Search Again (ShF4/F12)
Repeats the last Search or Search & Replace operation.
Utils
ASCII table
The ASCII menu item opens an ASCII
Table that displays the IBM PC character set.
Utils
Hex Calculator
When you choose Hex
Calculator, a four function hexadecimal calculator is brought up.
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-#--though you'll have to close the list dialog first. 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).
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
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.
You can also double-click anywhere on the window's title bar (except where an icon appears) to zoom or unzoom the window.
Windows
Tile (AltF6)
Windows
Tile tiles all file viewers on the desktop. K
Tiled Windows
Windows
Cascade
Windows
Cascade stacks all file viewers on the desktop. @
Cascaded Windows
Windows
Next (F6)
Cycles forward through the windows on the desktop.
Windows
Previous (ShF6)
Cycles backward through the windows on the desktop.
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.
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.
It 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.
To 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)
These 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)
The 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]".