FIX: MASM BELL and SNAP TSR Program Examples Incorrect (85877)
The information in this article applies to:
- Microsoft Macro Assembler (MASM) 6.0
- Microsoft Macro Assembler (MASM) 6.0a
- Microsoft Macro Assembler (MASM) 6.0b
This article was previously published under Q85877 SYMPTOMS
The BELL and SNAP TSR (terminate-and-stay-resident) sample programs
that ship with the Microsoft Macro Assembler (MASM) versions 6.0,
6.0a, and 6.0b are not correct. Because of the errors in this
program, other programs that are executed after the BELL or SNAP
TSR program has been installed may hang the computer.
CAUSE
Because of the segment ordering and the way memory is released when
the BELL or SNAP TSR program goes resident, the BeepCount variable
is being freed. Because this variable is changed in the interrupt
service routine (ISR), any program that is run after the BELL or
SNAP TSR program has gone resident may have its memory corrupted.
RESOLUTION
To keep BeepCount from being released when BELL.EXE or SNAP.EXE
terminates and goes resident, use one of the following solutions:
STATUS
Microsoft has confirmed this to be a problem in MASM versions 6.0,
6.0a, and 6.0b. This problem was corrected in MASM for MS-DOS version
6.1.
Modification Type: | Major | Last Reviewed: | 10/20/2003 |
---|
Keywords: | kbfix KB85877 |
---|
|