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 / MODEM3Z.80I < prev    next >
Text File  |  2000-06-30  |  2KB  |  64 lines

  1. ; Assembly language functions for MODEM3.PAS
  2. ; for Z80 processor.
  3. ; Written by Jack M. Wierda  Chicago Illinois
  4. ; This software is in the public domain.
  5. ;
  6. ; Routines: STAT, INPUT, OUTPUT, READMEM
  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.     IN      A,(C)   ;READ PORT
  18.     AND     D       ;AND DATA & MASK
  19.     CP      E       ;COMPARE WITH EXPECTED RESULTS
  20.     JR      NZ,$1
  21.     LD      DE,1    ;LOAD BOOLEAN TRUE
  22.     PUSH    DE      ;RETURN RESULT ON STACK
  23.     JP      (HL)
  24. $1      LD      DE,0    ;LOAD BOOLEAN FALSE
  25.     PUSH    DE      ;RETURN RESULT ON STACK
  26.     JP      (HL)    ;RETURN
  27. ;
  28. ;
  29.     .FUNC   INPUT,2
  30.     ;
  31.     POP     HL      ;GET RETURN ADDRESS
  32.     POP     DE      ;GET ZERO
  33.     POP     BC      ;GET ZERO
  34.     POP     DE      ;GET MASK
  35.     POP     BC      ;GET INPUT PORT
  36.     IN      A,(C)   ;READ PORT
  37.     AND     E       ;MASK DATA
  38.         LD      E,A
  39.     PUSH    DE      ;RETURN RESULT ON STACK
  40.     JP      (HL)    ;RETURN
  41.     ;
  42.     ;
  43.     .PROC   OUTPUT,2
  44.     ;
  45.     POP     HL      ;GET RETURN ADDRESS
  46.     POP     DE      ;GET DATA
  47.     POP     BC      ;GET OUTPUT PORT
  48.     OUT     (C),E   ;OUTPUT DATA
  49.     JP      (HL)    ;RETURN
  50.     ;
  51.     ;
  52.     .FUNC   READMEM,1
  53. ;
  54.     POP     HL      ;GET RETURN ADDRESS
  55.     POP     DE      ;GET ZERO
  56.     POP     BC      ;GET ZERO
  57.     POP     DE      ;GET ADDRESS
  58.     LD      A,(DE)  ;READ MEMORY
  59.     LD      C,A
  60.     PUSH    BC      ;RETURN RESULT ON STACK
  61.     JP      (HL)    ;RETURN
  62.     .END
  63.     
  64.