;----------------------------------------------------------------------- | |
; | |
; FILE :lowlvl.src | |
; DATE :Wed, Jul 01, 2009 | |
; DESCRIPTION :Program of Low level | |
; CPU TYPE :RX | |
; | |
;----------------------------------------------------------------------- | |
.GLB _charput | |
.GLB _charget | |
FC2E0 .EQU 00084080h | |
FE2C0 .EQU 00084090h | |
DBGSTAT .EQU 000840C0h | |
RXFL0EN .EQU 00001000h | |
TXFL0EN .EQU 00000100h | |
.SECTION P,CODE | |
;----------------------------------------------------------------------- | |
; _charput: | |
;----------------------------------------------------------------------- | |
_charput: | |
.STACK _charput = 00000000h | |
__C2ESTART: MOV.L #TXFL0EN,R3 | |
MOV.L #DBGSTAT,R4 | |
__TXLOOP: MOV.L [R4],R5 | |
AND R3,R5 | |
BNZ __TXLOOP | |
__WRITEFC2E0: MOV.L #FC2E0,R2 | |
MOV.L R1,[R2] | |
__CHARPUTEXIT: RTS | |
;----------------------------------------------------------------------- | |
; _charget: | |
;----------------------------------------------------------------------- | |
_charget: | |
.STACK _charget = 00000000h | |
__E2CSTART: MOV.L #RXFL0EN,R3 | |
MOV.L #DBGSTAT,R4 | |
__RXLOOP: MOV.L [R4],R5 | |
AND R3,R5 | |
BZ __RXLOOP | |
__READFE2C0: MOV.L #FE2C0,R2 | |
MOV.L [R2],R1 | |
__CHARGETEXIT: RTS | |
;----------------------------------------------------------------------- | |
; End of conditional code | |
.END | |