Contents of the GIMME.DOC file

GIMME A BREAK USERS MANUAL REV 1.0 10/90

1.0 OVERVIEW

GIMME A BREAK uses the powerful 386 debug registers to provide enhanceddebugging capabilities under MS-DOS. The 386 debug registers have manyof the same capabilities as hardware debugging solutions (like an InCircuit Emulator or ICE). This includes the ability to breakpoint ondata write cycles, data read cycles and on instruction fetchs fromwithin Read Only Memory (ROM) without loss of execution speed. GIMME ABREAK is a terminate and stay resident program that can be popped upfrom within DEBUG to set up to 4 special breakpoints on the any of theabove conditions. The breakpoints will appear as normal DEBUGbreakpoints when triggered, you pop up GIMME A BREAK to see exactlywhich breakpoint was triggered. GIMME A BREAK allows you to set up 4breakpoints. Each breakpoint can be on either an instruction fetch, adata write or a data access (read or write). Data breakpoints can beeither single byte, word (two byte on even address) or double word (fourbyte on a quad aligned address) in scope. GIMME A BREAK of courserequires a 386 or 486 machine running DOS in real mode.

2.0 DISTRIBUTION

GIMME A BREAK version 1.0 may be freely given away provided that allparts of the archive are passed on as a unit. This software is USERSUPPORTED, if you find it useful and would like to see continuedenhancements please fill out the registration form and send $25.00 to

R.G.B.P.O. BOX 217EAST NORTHPORT, NEW YORK 11731-0217

The very short opinion survey and your comments are important feedbackthat will help determine the shape of future versions of GIMME A BREAK.

The complete archive should contain:GIMME.EXE - the pop up programGIMME.REG - the registration formGIMME.DOC - this file

3.0 USING GIMME A BREAK

GIMME A BREAK is installed as a terminate and stay resident program bysimply running GIMME. It can be popped up by the key combination ALT -RIGHT SHIFT. It can be popped up within DEBUG to set and checkbreakpoints. Pressing F10 will cause it to pop down.

3.1 Setting a breakpoint

Once GIMME A BREAK has been popped up press F1 to set a breakpoint. Select the breakpoint to set (0-3). Next you will be prompted for thetype of breakpoint: Fetch, Write, Read/write or Disable. (Disable willdisable only the selected breakpoint and return to the main menu.) Thenenter the breakpoint address in segment:address form as prompted. Ifthe breakpoint type is data Write or data Read/write you will beprompted for a size either Byte, Word or Dword. The size also specifiesthe address alignment, the address will be adjusted to show the properalignment.

3.2 Clearing the breakpoints

The breakpoints are all cleared by pressing F2. It is a good ideal toclear all breakpoints in this manner before exiting DEBUG, havingbreakpoints enabled during normal DOS operation has unpredictableresults.

Fetch sets a breakpoint to break on an instruction fetch at thebreakpoint address - the breakpoint will trigger before the instructionexecutes. A Fetch breakpoint must be on the first byte of aninstruction in order to be triggered.

Write sets a breakpoint on a data write at the breakpoint address - thebreakpoint will trigger after the instruction that caused the write hasexecuted. The breakpoint size will determine the range of breakpoint. AByte breakpoint will trigger only on an access to that byte. A Wordbreakpoint is automatically word aligned and will trigger on an accessto either or both bytes at that address. For example if you set thebreakpoint address 0:1000 for a Write breakpoint with size Word, it willbe triggered by a write to address 0:1000 and/or 0:1001. A Dwordbreakpoint is automatically double word aligned and covers a range offour bytes. For example if you set breakpoint address 0:1007 with sizeDword, it will be triggered by an access to addresses 0:1004, 0:1005,0:1006 and/or 0:1007. Note that the breakpoint address would bedisplayed 0:1004 to show the actual alignment that the 386 debugregisters uses.

3.4 Breakpoint status

The status of each breakpoint is indicated in the table each time GIMMEA BREAK is popped up. A status of triggered indicates that a breakpointhas been triggered since the last time GIMME A BREAK was activated.Exiting GIMME A BREAK clears the triggered status.