home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 15 / CDACTUAL15.iso / cdactual / program / asm / NONOFF.ZIP / NONOFF.ASM < prev    next >
Encoding:
Assembly Source File  |  1992-09-15  |  2.0 KB  |  84 lines

  1.  
  2. ; NOnOff.ASM
  3. ; Turns NumLock on or off
  4. ;
  5. ; Sept. 1992 Edward Mulroy
  6. ; Free for all uses
  7.  
  8. KYBD_FLAG       equ     0417H
  9. WRITE_STR       equ     9
  10. END_PROG        equ     4C00H
  11. BIT_9           equ     20H
  12. CR              equ     13
  13. LF              equ     10
  14. TAB             equ     9
  15.  
  16. _code           segment public byte 'CODE'
  17.  
  18.                 assume  cs:_code,ds:_code
  19.  
  20.                 org     80H
  21. comd_line       label   byte
  22.  
  23.                 org     100H
  24.  
  25. start           proc    near
  26.                 mov     dx,offset logo
  27.                 mov     ah,WRITE_STR
  28.                 int     21H
  29.  
  30.                 sub     ax,ax
  31.                 mov     es,ax
  32.                 mov     cx,2020H
  33.                 mov     si,offset comd_line
  34.                 lodsb
  35.                 or      al,al
  36.                 jz      give_help
  37.  
  38.                 lodsb
  39.                 cmp     ah,' '
  40.                 je      check_arg
  41.  
  42.                 lodsb
  43.  
  44. check_arg:      or      al,cl
  45.                 cmp     al,'o'
  46.                 jne     give_help
  47.  
  48.                 lodsw
  49.                 or      ax,cx
  50.                 cmp     al,'n'
  51.                 je      turn_on
  52.  
  53.                 cmp     al,'f'
  54.                 jne     give_help
  55.  
  56.                 cmp     ah,'f'
  57.                 jne     give_help
  58.  
  59.                 and     byte ptr ES:[KYBD_FLAG],not BIT_9
  60.                 jmp     short all_done
  61.  
  62. turn_on:        or      byte ptr ES:[KYBD_FLAG],BIT_9
  63.                 jmp     short all_done
  64.  
  65. give_help:      mov     dx,offset help_msge
  66.                 mov     ah,WRITE_STR
  67.                 int     21H
  68.  
  69. all_done:       mov     ax,END_PROG
  70.                 int     21H
  71. start           endp
  72.  
  73. logo            label   byte
  74.                 db      TAB,'NOnOff  by Edward Mulroy, 1992',CR,LF,'$'
  75.  
  76. help_msge       label   byte
  77.                 db      TAB,'Change the state of the keyboard Numlock',CR,LF
  78.                 db      TAB,'Usage:     NOnOff On    or    NOnOff Off',CR,LF,'$'
  79.  
  80. _code           ends
  81.                 end     start
  82.  
  83.  
  84.