home *** CD-ROM | disk | FTP | other *** search
- ; Assembly language functions for MODEM3.PAS
- ; for Intel 8080 processor.
- ; Written by Jack M. Wierda Chicago Illinois
- ; This software is in the public domain.
- ;
- ; Routines: STAT, INPUT, OUTPUT
- ;
- .FUNC STAT,3
- ;
- POP HL ;GET RETURN ADDRESS
- POP DE ;GET ZERO
- POP BC ;GET ZERO
- POP BC ;GET MASK
- POP DE ;GET EXPECTED RESULT
- LD D,C
- POP BC ;GET PORT
- LD A,C ;PUT PORT IN A
- LD ($1+1),A ;STUFF PORT
- $1 IN A,(0) ;PORT LOADED ABOVE
- AND D ;AND DATA & MASK
- CP E ;COMPARE WITH EXPECTED RESULTS
- JP NZ,$2
- LD DE,1 ;LOAD BOOLEAN TRUE
- PUSH DE ;RETURN RESULT ON STACK
- JP (HL)
- $2 LD DE,0 ;LOAD BOOLEAN FALSE
- PUSH DE ;RETURN RESULT ON STACK
- JP (HL) ;RETURN
- ;
- ;
- .FUNC INPUT,2
- ;
- POP HL ;GET RETURN ADDRESS
- POP DE ;GET ZERO
- POP BC ;GET ZERO
- POP DE ;GET MASK
- POP BC ;GET INPUT PORT
- LD A,C ;PUT PORT IN A
- LD ($1+1),A ;STUFF PORT
- $1 IN A,(0) ;PORT LOADED ABOVE
- AND E ;MASK DATA
- LD E,A
- PUSH DE ;RETURN RESULT ON STACK
- JP (HL) ;RETURN
- ;
- ;
- .PROC OUTPUT,2
- ;
- POP HL ;GET RETURN ADDRESS
- POP DE ;GET DATA
- POP BC ;GET OUTPUT PORT
- LD A,C ;PUT PORT IN A
- LD ($1+1),A ;STUFF PORT
- LD A,E ;PUT DATA IN A
- $1 OUT (0),A ;PORT LOADED ABOVE
- JP (HL) ;RETURN
- ;
- ;
- .END
-
-