home *** CD-ROM | disk | FTP | other *** search
- STEPDOS
-
- by
-
- Mike Parker
-
- CIS 70270,161
-
- 11/13/87
- Version 1.1
-
- ============================================================
- Program Description
- ============================================================
-
- STEPDOS is a program written in assembly language that intercepts DOS
- interrupt 21H then executes the target program specified on the command
- line as a subprocess. Each time the target program does an 'INT 21H' call,
- STEPDOS takes over. A 'pop-up window' is displayed with the values of
- all registers and a description of what the DOS call is about to do.
-
- STEPDOS detects whether a CGA or Monochrome adapter is installed and will
- determine which video page is currently active each time it puts up the
- information window.
-
- ============================================================
- Program Execution
- ============================================================
-
- There is a program included in the STEPDOS.ARC file called DEMO.COM
- that will give a short demonstration of STEPDOS's capabilities.
-
- DEMO.COM does three functions.
- 1) Outputs a string using calls to DOS function code 02h (Display Character).
- 2) Checks keyboard input status.
- 3) Terminates itself.
-
-
- For this demonstration first clear the screen by typing CLS <return>.
- Make sure DEMO.COM is in your current directory and type:
- STEPDOS DEMO <return>
-
-
- A window will pop up showing something like:
-
- +-----------------------------------------------------------------------+
- | AX BX CX DX DI SI BP SP DS ES SS CS IP FL |
- | ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- |
- | 02xx xxxx xxxx xx54 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx |
- | |
- | |
- | Output Character Hex 54 ASCII T |
- | |
- | Skip Current Func Return Code ESC - Non Stop xxxx - Move Window |
- +-----------------------------------------------------------------------+
-
- The xxxx's under the register names above just mean that what you actually
- see could be anything, only AH and DL are important right here.
-
- Press any key except 'S', 'R', the ARROW keys or 'ESCAPE' to execute the
- DOS function.
-
- The character 'T' will be displayed at the current cursor position and the
- STEPDOS window will come up again with:
-
-
- +-----------------------------------------------------------------------+
- | AX BX CX DX DI SI BP SP DS ES SS CS IP FL |
- | ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- |
- | 02xx xxxx xxxx xx68 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx |
- | |
- | |
- | Output Character Hex 68 ASCII h |
- | |
- | Skip Current Func Return Code ESC - Non Stop xxxx - Move Window |
- +-----------------------------------------------------------------------+
-
- Press a key and the 'h' character will appear after the 'T'.
- To keep you from having to press a key to display each character of a
- potentially long text string use the 'Skip Current Func' option.
- This tells STEPDOS to run nonstop as long as the current function (in this
- case 02h) is being repeated by the target program.
- When a function code other than 02h is executed, STEPDOS will resume display.
-
- Now press 'S' to finish displaying the demo string. The following will appear:
-
- +-----------------------------------------------------------------------+
- | AX BX CX DX DI SI BP SP DS ES SS CS IP FL |
- | ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- |
- | 0Bxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx |
- | |
- | |
- | Check Standard Input Status |
- | |
- | Skip Current Func Return Code ESC - Non Stop xxxx - Move Window |
- +-----------------------------------------------------------------------+
-
-
- To see how the 'Return Code' option works press the 'R' key and you
- will see:
-
- +-----------------------------------------------------------------------+
- | AX BX CX DX DI SI BP SP DS ES SS CS IP FL |
- | ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- |
- | 0B00 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx |
- | |
- | |
- | Return Code = 0B00H Carry Flag = 0 Zero Flag = 1 |
- | |
- | Press Any Key To Continue |
- +-----------------------------------------------------------------------+
-
- This is the result immediately after the INT 21h code is executed.
-
- Press any key to see:
-
- +-----------------------------------------------------------------------+
- | AX BX CX DX DI SI BP SP DS ES SS CS IP FL |
- | ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- |
- | 4C00 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx |
- | |
- | |
- | Terminate Process With Return Code 00H |
- | |
- | Skip Current Func Return Code ESC - Non Stop xxxx - Move Window |
- +-----------------------------------------------------------------------+
-
- If the window is covering up a part of the screen you would like to be
- able to see, press one of the four arrow keys on the numeric keypad (UP,
- DOWN, LEFT or RIGHT) and the window will move one character position each
- time you press the key.
-
- Press a key and STEPDOS will end, returning you to the DOS prompt.