home *** CD-ROM | disk | FTP | other *** search
/ Oakland CPM Archive / oakcpm.iso / sigm / vol179 / trace.lbr / TRACE1.AQM / TRACE1.ASM
Assembly Source File  |  1985-02-09  |  1KB  |  79 lines

  1. ; TRACE1   ver 1.1
  2. ; called by C program that has been converted by TRACE
  3. ;    GAE    09/04/83
  4. ;
  5.  
  6. BDOS    EQU    5
  7. CPM    EQU    0
  8.  
  9.     PUBLIC    TRACE1
  10. TRACE1:
  11.     XTHL
  12.     PUSH    D
  13.     PUSH    B
  14.     PUSH    PSW
  15.  
  16.     MVI    C,6    ; direct console i/o
  17.     MVI    E,0FFH    ; input
  18.     PUSH    H
  19.     CALL    BDOS
  20.     POP    H
  21.  
  22.     ORA    A
  23.     JZ    X0
  24.     CPI    03H    ; ^C    exit to CP/M
  25.     JZ    CPM
  26.     CPI    12H    ; ^R    restart trace printout
  27.     JNZ    X1
  28.     STA    TR    ; start trace
  29.     JMP    X0
  30. X1:
  31.     CPI    14H    ; ^T    stop trace printout
  32.     JNZ    X2
  33.     XRA    A
  34.     STA    TR    ; stop trace
  35.     JMP    X0
  36. X2:
  37.     CPI    13H    ; ^ S    freeze the program
  38.     JNZ    X0
  39. X3:
  40.     MVI    C,6    ; direct console i/o
  41.     MVI    E,0FFH    ; input
  42.     PUSH    H
  43.     CALL    BDOS
  44.     POP    H
  45.     CPI    11H    ;^Q    restart after ^S
  46.     JNZ    X3
  47. X0:
  48. CONT:
  49.     MOV    A,M
  50.     INX    H
  51.     ORA    A
  52.     MOV    E,A
  53.     JZ    FINISH
  54.     LDA    TR    ; if TR = 0, do not trace
  55.     ORA    A
  56.     JZ    CONT
  57.  
  58.     PUSH    H
  59.     MVI    C,2    ; console output
  60.     CALL    BDOS
  61.     POP    H
  62.  
  63.     JMP    CONT
  64. FINISH:
  65.     POP    PSW
  66.     POP    B
  67.     POP    D
  68.     XTHL
  69.     RET
  70. TR:
  71.     DB    1    ; zero = trace, nonzero = don't trace
  72.  
  73.     END
  74. 
  75. Columbus, OH 43202
  76.  
  77. CIS 70715,1324
  78. >CII -MT TEST.C ]
  79.      The -