home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / simtel / sigm / vols000 / vol074 / xout22.asm < prev   
Encoding:
Assembly Source File  |  1984-04-29  |  1.3 KB  |  51 lines

  1. ;********************************************************
  2. ;*                            *
  3. ;*    REMOVES XSUB WITHOUT COLD BOOTING        *
  4. ;*                            *
  5. ;*    FOR XSUB DISTRIBUTED WITH CP/M 2.2        *
  6. ;*                            *
  7. ;********************************************************
  8. ;
  9. ;    By        Bill Bolton
  10. ;            Software Tools
  11. ;            P.O. Box 80,
  12. ;            Newport Beach,
  13. ;            N.S.W., 2106
  14. ;            AUSTRALIA
  15. ;
  16. ;    Nov 21, 1980    Revised for XSUB 2.2
  17. ;
  18. ;    June 3, 1980    Written for XSUB 2.0
  19. ;
  20. WBOOT    EQU    00001H            ;BIOS WBOOT ADDRESS
  21. BDOS    EQU    00005H            ;BDOS ENTRY LOCATION
  22. PRINT    EQU    9            ;BDOS PRINT STRING FUNCT
  23. XSUB1    EQU    17D4H            ;XSUB OFFSET1
  24. XSUB2    EQU    0A00H            ;XSUB OFFSET2
  25. ;
  26.     ORG    100H
  27. ;
  28. START:    LDA    WBOOT            ;GET VALUE OF WBOOT LOW BYTE
  29.     CPI    03            ;IS XSUB THERE?
  30.     JZ    NOSUB            ;NO, QUIT
  31.     LHLD    WBOOT            ;YES, GET XSUB'S WARM BOOT ADDR
  32.     LXI    B,XSUB1            ;GET XSUB OFFSET
  33.     DAD    B            ;FORM BIOS WARM BOOT ADDRESS
  34.     SHLD    WBOOT            ;STUFF IT INTO CP/M
  35.     LHLD    6            ;GET XSUB'S BDOS ADDRESS
  36.     LXI    B,XSUB2            ;GET XSUB OFFSET
  37.     DAD    B            ;FORM BDOS ENTRY
  38.     SHLD    BDOS+1            ;STUFF IT INTO CP/M
  39.     LXI    D,MESSG1        ;TELL THEM WHAT WE DID
  40. EXIT:    MVI    C,PRINT
  41.     CALL    BDOS
  42.     JMP    0            ;WARM BOOT
  43. ;
  44. NOSUB:    LXI    D,MESSG2        ;NO XSUB MESSAGE
  45.     JMP    EXIT
  46. ;
  47. MESSG1:    DB    '(Xsub 2.2 removed)$'
  48. MESSG2:    DB    '(Xsub 2.2 was not loaded, no change made)$'
  49. ;
  50.     END    START            ;THAT'S ALL FOLKS
  51.