home *** CD-ROM | disk | FTP | other *** search
- page 66,132
- name RCV232
- title RCV232 - Receive byte from (COM1) RS232 for COBOL program
- ; (C) Copywrite 1986 - SoftWeir and Associates - Don Weir
- prog group code,data,stack
-
- data segment para
- data ends
-
- stack segment para
- stack ends
-
- code segment para
- assume cs:code,ds:data,ss:stack
-
- ;************************************************************************
- ;* *
- ;* the parameters are taken from the stack as 4-byte absolute *
- ;* machine addresses - segment & offset *
- ;* *
- ;************************************************************************
-
- RCV232:
- pop bp ; return segment addr (replaced on stack)
- pop cx ; return segment offset (also replaced)
- pop DI ; status byte address
- pop AX ; " " segment
- pop si ; receive byte address
- pop bx ; " " segment
- push cx ; return address back on stack - far ret
- push bp
- MOV DS,AX
- MOV ES,BX
- MOV DL,0 ;WHICH COMM PORT
- MOV DH,0
- MOV AH,2 ;RECEIVE BYTE FROM RS232
- INT 14H
- MOV BYTE PTR ES:[SI],AL ;Contains BYTE FROM RS232
- MOV BYTE PTR DS:[DI],AH ;Contains status from RS232
-
- ; and drop through to return to COBOL
-
-
- ;************************************************************************
- ;* *
- ;* the ret is a FAR RETURN using a segment/offset - 4 bytes *
- ;* *
- ;************************************************************************
-
-
- return proc far
- ret ; and return to caller
- return endp
-
- code ends
- end