; Author: Pawel Jablonski ; E-mail: pj@xirx.net ; WWW: xirx.net ; GIT: git.xirx.net ; ; License: You can use this code however you like ; but leave information about the original author. ; Code is free for non-commercial and commercial use. include io.asm ; No arguments ; Return: ; A - received data external .xRS232Receive: call .xRS232IsRxDataReady ; Wait until rs232 rx buffer has not data cmp 0, A je .xRS232Receive ; Set rs232 rx register mov 7, A call .xIOSetRegister ; Read rs232 rx register call .xIORead ret ; Arguments: ; A - data to send ; No return external .xRS232Send: push A ; Set rs232 tx register mov 8, A call .xIOSetRegister pop A ; Write rs232 tx register call .xIOWrite ret ; No arguments ; Return: ; A - status (0 - empty, 1 - ready to read) external .xRS232IsRxDataReady: ; Get rs232 rx interrupt bit in A and 0b01000000, A cmp 0, A jne .xRS232IsRxDataReady_ready ret .xRS232IsRxDataReady_ready: mov 1, A ret