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

  1. ;********************************************************
  2. ;*                            *
  3. ;*         SYSTEM ADDRESS LOCATOR FOR CP/M        *
  4. ;*                            *
  5. ;********************************************************
  6. ;
  7. ;    By    Bill Bolton,
  8. ;        Software Tools,
  9. ;        P.O. Box 80,
  10. ;        Newport Beach,
  11. ;        NSW, 2106
  12. ;        Australia
  13. ;
  14. ;        November 10, 1981
  15. ;
  16. ;    This program was hacked together out of bits of
  17. ;    existing code from BDLOC, TPA and other programs.
  18. ;
  19.  
  20. BIOS    EQU    0        ;BIOS WARM BOOT ENTRY
  21. BDOS    EQU    5        ;BDOS ENTRY POINT
  22. ALF    EQU    0AH
  23. ACR    EQU    0DH
  24. ;
  25. VERS    EQU    10
  26. ;
  27.     ORG    100H
  28. ;
  29. DOSLOC:
  30.     CALL    PRINT$MESSAGE
  31. ;
  32.     DB    ACR,ALF
  33.     DB    'Software Tools System Address Locator'
  34.     DB    ACR,ALF,'Version ',VERS/10 + '0','.', VERS MOD 10 +'0'
  35.     DB    ACR,ALF,ALF,0
  36. ;
  37.     CALL    PRINT$MESSAGE
  38. ;
  39.     DB    'The Address of the system  BIOS  is ',0
  40. ;
  41.     LDA    BIOS+2
  42.     CALL    PRINT$HEX
  43.     CALL    PRINT$MESSAGE
  44. ;
  45.     DB    '00',0
  46. ;
  47.     CALL    PRINT$MESSAGE
  48. ;
  49.     DB    ACR,ALF
  50.     DB    'The Address of the system  BDOS  is ',0
  51. ;
  52.     LDA    BDOS+2
  53.     CALL    PRINT$HEX
  54.     CALL    PRINT$MESSAGE
  55. ;
  56.     DB    '00',0
  57. ;
  58.     CALL    PRINT$MESSAGE
  59. ;
  60.     DB    ACR,ALF
  61.     DB    'The Address of the system  CCP   is ',0
  62. ;
  63.     LDA    BDOS+2
  64.     SUI    008H
  65.     CALL    PRINT$HEX
  66.     CALL    PRINT$MESSAGE
  67. ;
  68.     DB    '00',ACR,ALF,0
  69. ;
  70.     CALL    PRINT$MESSAGE
  71. ;
  72.     DB    ACR,ALF
  73.     DB    'Total TPA space with CCP overlay is ',0
  74. ;
  75.     LDA    BDOS+2
  76.     SUI    1
  77.     CALL    PRINT$HEX
  78.     CALL    PRINT$MESSAGE
  79. ;
  80.     DB    '00',0
  81. ;
  82.     CALL    PRINT$MESSAGE
  83. ;
  84.     DB    ACR,ALF
  85.     DB    'Total TPA space with CCP  intact is ',0
  86. ;
  87.     LDA    BDOS+2
  88.     SUI    9
  89.     CALL    PRINT$HEX
  90.     CALL    PRINT$MESSAGE
  91. ;
  92.     DB    '00',ACR,ALF,0
  93. ;
  94.     RET
  95. ;
  96. PRINT$HEX:
  97.     PUSH    PSW
  98.     RLC
  99.     RLC
  100.     RLC
  101.     RLC
  102.     CALL    HEX$1
  103.     POP    PSW
  104. HEX$1:
  105.     ANI    00FH
  106.     CPI    10
  107.     JNC    ALPHA
  108.     ADI    '0'
  109.     JMP    CONOUT
  110. ;
  111. ALPHA:
  112.     ADI    '7'
  113.     JMP    CONOUT
  114. ;
  115. PRINT$MESSAGE:
  116.     XTHL
  117. LOOP:
  118.     MOV    A,M
  119.     INX    H
  120.     ORA    A
  121.     JZ    EXIT
  122.     CALL    CONOUT
  123.     JMP    LOOP
  124. ;
  125. EXIT:
  126.     XTHL
  127.     RET
  128. ;
  129. CONOUT:
  130.     PUSH    H
  131.     PUSH    D
  132.     PUSH    B
  133.     MOV    E,A
  134.     MVI    C,2
  135.     CALL    BDOS
  136.     POP    B
  137.     POP    D
  138.     POP    H
  139.     RET
  140. ;
  141.     END
  142.