; Assembly language functions for MODEM3.PAS ; for Z80 processor. ; Written by Jack M. Wierda Chicago Illinois ; This software is in the public domain. ; ; Routines: STAT, INPUT, OUTPUT, READMEM ; .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 IN A,(C) ;READ PORT AND D ;AND DATA & MASK CP E ;COMPARE WITH EXPECTED RESULTS JR NZ,$1 LD DE,1 ;LOAD BOOLEAN TRUE PUSH DE ;RETURN RESULT ON STACK JP (HL) $1 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 IN A,(C) ;READ PORT 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 OUT (C),E ;OUTPUT DATA JP (HL) ;RETURN ; ; .FUNC READMEM,1 ; POP HL ;GET RETURN ADDRESS POP DE ;GET ZERO POP BC ;GET ZERO POP DE ;GET ADDRESS LD A,(DE) ;READ MEMORY LD C,A PUSH BC ;RETURN RESULT ON STACK JP (HL) ;RETURN .END