home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
C!T ROM 2
/
ctrom_ii_b.zip
/
ctrom_ii_b
/
PROGRAM
/
UTILS
/
REGTST13
/
REGSTEST.DOC
< prev
Wrap
Text File
|
1992-10-17
|
4KB
|
88 lines
REGSTEST
Version 1.30
(10-18-92)
REGSTEST is a utility program developed to execute interrupts
on a MS-DOS or PC-DOS system and observe the value of the various
general purpose registers. The user has the ability to enter a
DOS interrupt, set the registers to any value desired, execute the
interrupt and see the value of the registers and the flags set upon
returning from the interrupt. This version of REGSTEST also has
a 576 byte work area that can be used to pass or obtain information
from the interrupt.
The available function keys in REGSTEST are:
F1 - Set the interrupt number
F2 - Set the general purpose registers
F3 - Set the work area
F4 - Clear the area where the cursor is set
(i.e., interrut number, registers or work area)
F5 - Clear all of the areas
F7 - Execute the interrupt specified
F10 - Terminate REGSTEST
TAB - Tab to the Next Field
Left Arrow - Move to the Previous Field
Right Arrow - Move to the Next Field
PgDn - Next Page of Work Area
PgUp - Previous Page of Work Area
FLAGS AND ERROR INDICATORS
The following flags and error indicators are captured
and displayed immediately after execution of the specified
interrupt.
CARRY - Set to 1 if an operation generates a carry
to or borrow from a destination operand
INTER - Set to 1 if interrupts are recognized and
executed as they occur
PARITY - Set to 1 if the low-order bits of the results
of an operation contain an even number of bits
DIRECT - Set to 1 which makes string operations process
in descending order from high addresses to low
addresses
AUX - Similar to the CARRY flag. This flag is used
for binary coded decimal (BCD) arithmeic
OVFLOW - Set to 1 if the operation is too large or too
small to fit the destination operand
ZERO - Set to 1 if the result of an operation is
zero
V86 - Set to 1 if the processor is running in
virtual 86 mode (386 processors and above).
SIGN - Set to 0 if high order bit of operation is
positive. Set to 1 if result is negative.
TRAP - If set to 1, the processor generates a single-
step interrupt after each instruction. This
feature is used for debugging purposes.
DIVIDE - Set to 1 when a divide instruction is executed
and the divisor is 0
CAUTION! Care must be taken when executing interrupts. This
program was written for experienced DOS programmers and should be
used by only those who have experience in executing interrupts.
In order to minimize the potential system lockups, the following
interrupt numbers are not executable:
01, 02, 03, 04, 05, 06, 07, 08, 09, 0A, 0B, 0C, 0D, 0E, 0F
25, 26, 30, 31, 70, 71, 72, 73, 74, 75, 76, 77, EF, F0, FF
If you try to execute one of these interrupts, REGSTEST will
display "**" where the interrupt number was located.
Some interrupts require the use of a work area to pass or
obtain information. You can address the work area from the
segment and offset values displayed in red in the work area box.
This program was written entirely in Assembler and is
released as a public domain program.
Technical Note: REGSTEST temporarily replaces INT 00
interrupt vector (divide exception) during its execution.
It is restored to its original state at program termination.