Programs to Turn NUM LOCK On and Off (71632)



The information in this article applies to:
    Microsoft MS-DOS operating system 3.1
    Microsoft MS-DOS operating system 3.2
    Microsoft MS-DOS operating system 3.21
    Microsoft MS-DOS operating system 3.3
    Microsoft MS-DOS operating system 3.3a
    Microsoft MS-DOS operating system 4.0
    Microsoft MS-DOS operating system 4.01
    Microsoft MS-DOS operating system 5.0
    Microsoft MS-DOS operating system 5.0a
    Microsoft MS-DOS operating system 6.0
    Microsoft MS-DOS operating system 6.2
    Microsoft MS-DOS operating system 6.21
    Microsoft MS-DOS operating system 6.22

This article was previously published under Q71632

SUMMARY

During the power on self test (POST), the ROM BIOS on some computers will activate the keyboard's NUM LOCK key. As a result, each time you reboot the system, the NUM LOCK key must be manually turned off before you can access the editing keys (the arrow keys, and so forth) on the numeric keypad. This behavior is a function of the computer's hardware, rather than of MS-DOS.

MORE INFORMATION

In MS-DOS version 6.x adding
   NUMLOCK=OFF
to the CONFIG.SYS file will turn off the NUM LOCK key.

The program described below (NUM_OFF.COM) can be called from your AUTOEXEC.BAT to turn off the NUM LOCK key automatically each time the system is booted.

You can use the MS-DOS DEBUG command to create a program (NUM_OFF.COM) that will turn the NUM LOCK key off. To create NUM_OFF.COM, do the following:

    Create a DEBUG script file (NUM_OFF.SCR) using a text editor such as the MS-DOS Edlin line editor (see the "MS-DOS User's Guide" for more information on Edlin.) The NUM_OFF.SCR file should contain the following lines exactly (where <ENTER> means to press the ENTER key on the keyboard):
         a 100<ENTER>
          mov ax,0040<ENTER>
          mov ds,ax<ENTER>
          and byte ptr [0017],df<ENTER>
          mov ax,4c00<ENTER>
          int 21<ENTER>
          <ENTER>
          r cx<ENTER>
          000f<ENTER>
          n num_off.com<ENTER>
          w<ENTER>
          q<ENTER>
    

    Redirect this script file into the DEBUG utility by entering the following command at the DOS prompt:

    C:\>debug < num_off.scr


    The NUM_OFF.COM program has now been created. To test the program, turn the NUM LOCK key on, then call the NUM_OFF.COM program by entering the following command:

    C:\>num_off.com

    This procedure should result in the NUM LOCK indicator light going out just as if you had pressed the NUM LOCK key.
This program can be modified to turn the NUM LOCK on rather than off. To do this, follow the steps in the example above, replacing all instances of "NUM_OFF" with "NUM_ON" and substituting the following line for the fourth line of the DEBUG script file:
   or byte ptr [0017],20<ENTER>

Modification Type: Major Last Reviewed: 5/12/2003
Keywords: KB71632