If CHAINing, Assembler in Extended Run Time Can't Use DGROUP (27934)






This article was previously published under Q27934

SUMMARY

The following is an addition to page 19 of the version 6.0 or 6.0b "Microsoft Basic Compiler User's Guide" in the "Programming Considerations for Extended Run-Time Modules" section:

For mixed-language programs that use the CHAIN command, you should make sure that any (assembler) code built into an extended run-time module does not contain any references to DGROUP. (The CHAIN command causes DGROUP to move, but does not update references to DGROUP.) This rule applies only to mixed-language programs; Basic routines never refer to DGROUP, so you can ignore this caution for programs written entirely in Basic.

This information came from the README.DOC file for Basic 6.0 and 6.0b.

To avoid this limitation, you can use the value of SS in your assembler routine instead of DGROUP, because Basic always assumes that SS coincides with DGROUP.

MORE INFORMATION

The Basic run-time module can be extended with the BUILDRTM.EXE utility. A Basic program must be compiled WITHOUT the /O (standalone) option to use the run-time or extended run-time module.

The above information is correctly mentioned on page 668 under "DGROUP References" in the "Microsoft Basic 7.0: Programmer's Guide" for Microsoft Basic PDS versions 7.0 and 7.1.

Modification Type: Minor Last Reviewed: 1/9/2003
Keywords: KB27934