Legacy Assembly Language Code - Text Editor with Pseudo-graphical Capability

I provide here my legacy 16-bit Assembly Language programme for Intel 80286 running DOS, that implements a text editor with pseudo-graphical capability. In addition to standard text processing features, this simple 4.5K DOS programme allows the user to draw complex tables with varying border styles and simple hypertexts. The program also demonstrates setting of low-level DOS interrupt handlers.

Although a legacy DOS programme, this example may be useful for those looking for sample compact assembly-language code that can be built into e.g. OS loaders. In such an application, any existing DOS interrupt calls would have to be replaced with BIOS or custom alternatives, of course.

Following is the meaning of some of the special system keys (I wrote this programme a long time ago and may have forgotten something, though):

F1 - enter/exit the pseudographical mode; draw tables in this mode using arrows; switch between border styles using CAPS;
F2 - save the current file;
Shift+F2 - save under a different file name;
F3/F4 - mark the beginning/end of block;
Shift F3 - cancel marking;
F5 - copy the marked block;
F8 - delete the marked block;
F9 - load a new file.

F10 - exit witout saving;
ESC - exit.

Download the following zip archive, save it as e.g. ed.zip, extract files ed.asm and macr.inc into the same folder and make the code using a MASM-compatible assembly compiler and linker (I used TASM 3.2 and TLINK 4.0)

To make the executable file, run the commands tasm ed.asm and tlink ed.obj. You may obtain a Turbo Assembly compiler and linker for Windows at Borland