017-0031781
IMPORTANT INFO RMATION
FOR MS-DOS USERS WITH 256KB MEMORY
Do not use the /HIGH switch when Unking a program with MS-
LINK on systems with 256 KB memory. (The switch can never be
used with PASCAL and FORTRAN programs, regardless of mem
ory size.) While MS-LINK performs successfuUy, the computer
“goes down” when MS-DOS attempts to load the .EXE program
into memory.
If using interpretive BASIC, you can store a subroutine in high
memory, but you should only use this technique if you are fa-
mihar with debugger:
1. Debug subroutine
2. Move subroutine to higher memory
3. Record register values (segment address of subroutine)
4. Load BASIC
5. Load BASIC program
6. Change DEF SEG to refer to subroutine
7. Save subroutine (BSAVE)
Finally, use the following sequence in programs that compute the
size of the user area. This sequence ensures a successful program
load.
1. Load the application program.
2. Save segment address of program (in CS).
3. Issue the System Call, “Modify allocated memory block”:
• move CS to ES
• move length of program to BX
• move 4AH to AH
• INT21H
4. Issue the System Call “Allocate memory” :
• move FFFFH to BX
• move 48H to AH
• INT21H
5. Multiply the contents of BX by 16 to determine the size of
the user area.
(For detailed information see the MS-DOS Programmer’s Manual,
“System Calls” chapter.)