;****************************************************************
;Constant and macro definitions
.equ	GetSN	=0x033	;IB Command Byte
.equ	w1us	=4

;Application Constant definitions
.def	FamCode		=r0	;family code
.def	SN0		=r1	;Serial Num Byte 1 LSByte
.def	SN1		=r2	;Serial Num Byte 2
.def	SN2		=r3	;Serial Num Byte 3
.def	SN3		=r4	;Serial Num Byte 4
.def	SN4		=r5	;Serial Num Byte 5
.def	SN5		=r6	;Serial Num Byte 6 MSByte
.def	RdCRC		=r7	;Readen CRC
.def	CalcCRC		=r8	;Computed CRC
.def	SREGsav		=r9	;To save status reg when INT0 received
.def	KeyProc		=r10	;Key nb processed
;.def			=r11
;.def			=r12
;.def			=r13
;.def			=r14
;.def			=r15
 ;------------------------------
.def	r_cntH		=r16	;High part of counter
.def	r_cntL		=r17	;Low part of counter
.def	mail		=r18	;rxd has arrived
.def	r_CD		=r19	;for Command or Data byte
.def	r_BitCntr	=r20	;BIT Counter
.def	r_BytCntr	=r21	;BYTE Counter
;.def			=r22
.def	Pointer		=r23
.def	hex_buf		=r24
.def	offset		=r24	;
.def	Scratch1	=r25	;
.def	Scratch2	=r26	;
.def	scnt		=r27
.def	sbuf		=r28	;send buffer
.def	rbuf		=r29	;receive buffer
.def	r_Zreg		=r30 	;Z Register
.def	rFlags		=r31	;
;
; rFlags definitions
.equ	SCpend		=$01	;if 1, S Command is pending 
.equ	CsumEr		=$02	;if 1, NVRAM Checksum has occured

;***********************************************************
;                           Macros
.macro	WLOOP		;Long Loop (N=1,342*T)
	ldi	r_cntH,@1
mwl0:	ldi	r_cntL,@0
mwl1:	dec	r_cntL
	brne	mwl1
	dec	r_cntH
	brne	mwl0
.endmacro

.macro	WsLOOP		;Short Loop (N=1,3*T)
	ldi	r_cntL,@0
mwsl0:	dec	r_cntL
	brne	mwsl0
.endmacro

