home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / CPM / LANGUAGS / PASCAL / MODEM380.IO < prev    next >
Text File  |  2000-06-30  |  2KB  |  61 lines

  1. ; Assembly language functions for MODEM3.PAS
  2. ; for Intel 8080 processor.
  3. ; Written by Jack M. Wierda  Chicago Illinois
  4. ; This software is in the public domain.
  5. ;
  6. ; Routines: STAT, INPUT, OUTPUT
  7. ;
  8.     .FUNC   STAT,3
  9. ;
  10.     POP     HL      ;GET RETURN ADDRESS
  11.     POP     DE      ;GET ZERO
  12.     POP     BC      ;GET ZERO
  13.     POP     BC      ;GET MASK
  14.     POP     DE      ;GET EXPECTED RESULT
  15.     LD      D,C
  16.     POP     BC      ;GET PORT
  17.     LD      A,C     ;PUT PORT IN A
  18.     LD      ($1+1),A  ;STUFF PORT
  19. $1      IN      A,(0)     ;PORT LOADED ABOVE
  20.     AND     D       ;AND DATA & MASK
  21.     CP      E       ;COMPARE WITH EXPECTED RESULTS
  22.     JP      NZ,$2
  23.     LD      DE,1    ;LOAD BOOLEAN TRUE
  24.     PUSH    DE      ;RETURN RESULT ON STACK
  25.     JP      (HL)
  26. $2      LD      DE,0    ;LOAD BOOLEAN FALSE
  27.     PUSH    DE      ;RETURN RESULT ON STACK
  28.     JP      (HL)    ;RETURN
  29. ;
  30. ;
  31.     .FUNC   INPUT,2
  32. ;
  33.     POP     HL      ;GET RETURN ADDRESS
  34.     POP     DE      ;GET ZERO
  35.     POP     BC      ;GET ZERO
  36.     POP     DE      ;GET MASK
  37.     POP     BC      ;GET INPUT PORT
  38.     LD      A,C     ;PUT PORT IN A
  39.     LD      ($1+1),A  ;STUFF PORT
  40. $1      IN      A,(0)     ;PORT LOADED ABOVE
  41.     AND     E       ;MASK DATA
  42.         LD      E,A
  43.     PUSH    DE      ;RETURN RESULT ON STACK
  44.     JP      (HL)    ;RETURN
  45. ;
  46. ;
  47.     .PROC   OUTPUT,2
  48. ;
  49.     POP     HL      ;GET RETURN ADDRESS
  50.     POP     DE      ;GET DATA
  51.     POP     BC      ;GET OUTPUT PORT
  52.     LD      A,C     ;PUT PORT IN A
  53.     LD      ($1+1),A  ;STUFF PORT
  54.         LD      A,E     ;PUT DATA IN A
  55. $1      OUT     (0),A     ;PORT LOADED ABOVE
  56.     JP      (HL)    ;RETURN
  57. ;
  58. ;
  59.     .END
  60.     
  61.