TITLE	Drivers
;
;   Arquitectura y programacisn de procesadores
;
;   Manejadores de entrada y salida para el
;    Procesador experimental MICRO1
;
;   Primavera 1994
;
;   El buzsn debe estar en la direccisn 6000 (HEX)
;
;   Las direcciones de entrada son:
;
;   FF00 - Apertura del buzsn
;   FF03 - Escribe una cadena
;   FF06 - Lee una cadena
;   FF09 - Cerradura del buzsn
;
	ORG	6000
BUZON:	DEFS	3
;
	ORG	FF00
;
VECTOR:	JZ	ABRE
	JZ	ESCR
	JZ	LEE
	JZ	CIERRA	
;
CUENTA:	DEFS	1
;
;  Abre el buzsn de comunicacisn
;
ABRE:	
	PUSH	A
	LD	#0FF
	STO	BUZON
	POP	A
	RET
;
;   Cierra el buzsn
;
CIERRA:
	PUSH	A
	LD	#0
	STO	BUZON
	POP	A
	RET
;
;   escribe un string
;
;   Primero averigua el tamaqo
;
ESCR:	
	PUSH	A
	PUSH	X
	PUSH	Y
	LDY	BUZON+3
	LD	#0
	STO	CUENTA
TAM:	LD	CUENTA
	ADD	#1
	STO	CUENTA
	LD	X
	STO	Y
	AND	#80
	JNZ	F_TAM
	INX
	INY
	JZ	TAM
F_TAM:	LD	CUENTA
	STO	BUZON+2
	LD	#1
	STO	BUZON+1
	POP	Y
	POP	X
	POP	A
	RET
;
LEE:	PUSH	A
	LD	#2
	STO	BUZON+1
	LDX	#BUZON+3
	POP	A
	RET
	END

    Source: geocities.com/v.iniestra/apuntes/arq_proc

               ( geocities.com/v.iniestra/apuntes)                   ( geocities.com/v.iniestra)