www.pudn.com > sounder.rar > sounder.asm


;********************************************************************** 
;*                        ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿                        * 
;*                  P0.0  ´ 1             20 Ã  P0.1         DCLK     * 
;*           	    P1.7  ´ 2             19 Ã  P0.2         DOUT     * 
;*                  P1.6  ´ 3             18 Ã  P0.3         DEN      * 
;*                  P1.5  ´ 4             17 Ã  P0.4         BEEP     * 
;*                  GND   ´ 5             16 Ã  P0.5         	      * 
;*                  X2    ´ 6   87LPC76X  15 Ã  VCC                   *  
;*                  X1    ´ 7             14 Ã  P0.6                  * 
;*  SIGOUT          P1.4  ´ 8             13 Ã  P0.7         	      * 
;*  A4052           P1.3  ´ 9             12 Ã  P1.0         TXD      * 
;*  B4052           P1.2  ´ 10   MCS-51   11 Ã  P1.1         SIGIN    * 
;*                        ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ                        * 
;*                                                                    * 
;********************************************************************** 
; 
;************************************************************************* 
; 
;       ³£Êý¶¨Òå 
; 
;*************************************************************************	 
	BAUDRATE 	EQU	0C4H		; C4 = 30us * 334 M/S = 0.01002M ;E8 = 4800, F4 = 9600, FA = 19200, FD = 38400, FE = 57600, FF = 115200 
	TIMEL 	 	EQU 	0E7H		; ¶¨Ê±Æ÷ 0 ʱ¼ä³£Êý  25us SIGOUT = 40KHZ 
	TIMEH		EQU	0E7H		;		; 
	TXHEAD		EQU	40H		; 
	TXEND		EQU	56H		; TX FORMAT : $YCMTW,-XX.X,C,XX.X,F(CR)	 
	MAINDISP	EQU	30H		; 
	TEMPHEAD	EQU	36H		;	 
	PLUSN		EQU	28H		; 
	OFFSET		EQU	08H 
	 
; 
;************************************************************************* 
; 
;       ¼Ä´æÆ÷¶¨Òå 
; 
;************************************************************************* 
        P0M2            DATA    085H            ; P0·½Ê½¼Ä´æÆ÷2 
        P0M1            DATA    084H            ; P0·½Ê½¼Ä´æÆ÷1 
; 
        P1M1            DATA    091H            ; P1·½Ê½¼Ä´æÆ÷1 
        P1M2            DATA    092H            ; P1·½Ê½¼Ä´æÆ÷2 
        P2M1            DATA    0A4H            ; P2·½Ê½¼Ä´æÆ÷1 
        P2M2            DATA    0A5H            ; P2·½Ê½¼Ä´æÆ÷2 
; 
; 
        AUXR1           DATA    0A2H            ; 
        IEN0            DATA    0A8H            ; 
        IEN1            DATA    0E8H            ; 
        IP0             DATA    0B8H            ; 
        IP0H            DATA    0B7H            ; 
        IP1             DATA    0F8H            ; 
        IP1H            DATA    0F7H            ; 
; 
        PT0AD           DATA    0F6h            ; P0Êý¾ÝÊäÈë½ûÄÜ 
        PWS             DATA    0D0H            ; 
        WDCON           DATA    0A7H            ; ¿´ÃŹ·¿ØÖƼĴæÆ÷ 
        WDRST           DATA    0A6H            ; ¿´ÃŹ·¸´Î»¼Ä´æÆ÷ 
; 
        PWMCON0         DATA    0DAH            ; PWM ¿ØÖƼĴæÆ÷0 
        PWMCON1         DATA    0DBH            ; PWM ¿ØÖƼĴæÆ÷1 
        CNSW0           DATA    0D1H            ; PWM¼ÆÊýÆ÷Ó³Ïó¼Ä´æÆ÷0 
        CNSW1           DATA    0D2H            ; PWM ¼ÆÊýÆ÷Ó³Ïó¼Ä´æÆ÷1 
        CPSW0           DATA    0D3H            ; PWM ±È½ÏÓ³Ïó¼Ä´æÆ÷0    
        CPSW1           DATA    0D4H            ; PWM ±È½ÏÓ³Ïó¼Ä´æÆ÷1 
        CPSW2           DATA    0D5H            ; PWM ±È½ÏÓ³Ïó¼Ä´æÆ÷2 
        CPSW3           DATA    0D6H            ; PWM ±È½ÏÓ³Ïó¼Ä´æÆ÷3 
        CPSW4           DATA    0D7H            ; PWM ±È½ÏÓ³Ïó¼Ä´æÆ÷4 
; 
        ADCON           DATA    0C0H            ; A/D ¿ØÖÆ 
;        ENADC          BIT     ADCON.7         ; A/DʹÄÜλ 
;        ADCS           BIT     ADCON.3         ; Æô¶¯×ª»» 
;        ADCI           BIT     ADCON.4         ; ת»»½áÊø 
        DAC0            DATA    0C5H            ; A/D ½á¹û 
; 
;        EC1     BIT     IEN1.5 
;        EC2     BIT     IEN1.2 
; 
        CMP1            DATA    0ACH            ; ±È½Ï¿ØÖƼĴæÆ÷1 
        CMP2            DATA    0ADH            ; ±È½Ï¿ØÖƼĴæÆ÷2 
; 
;************************************************************* 
; 
;       ¹¤×÷Äڴ涨Òå 
; 
;************************************************************* 
        BITST           DATA    20H 
        TXREADYOK       BIT     BITST.0 
        KEYHITOK	BIT     BITST.1 
        TXWORKOK	BIT	BITST.2 
        SCANKEYOK	BIT	BITST.3 
        TIME1SOK	BIT	BITST.4 
        BEEPOK		BIT	BITST.5 
        DS1820OK	BIT	BITST.6 
        TEMPONEOK	BIT	BITST.7 
        BITSS		DATA	21H 
        TEMPCFOK	BIT	BITSS.0 
; 
;        
	DITCON		DATA	30H  
	DITCONA	        DATA    31H 
	DITCONB	        DATA    32H 
	DITCONC	        DATA    33H 
	DITCOND	        DATA    34H 
	HICON		DATA	35H	 
	ERRORCONH	DATA	3EH 
	ERRORCONL	DATA	3FH 
;	 
; 
;************************************************************* 
; 
;       Òý½Å¶¨Òå 
; 
;*************************************************************** 
       DCLK             BIT     P0.1            ; 
       DOUT             BIT     P0.2            ; 
       DEN              BIT     P1.3            ; 
       BEEP             BIT     P1.4            ; 
       SIGIN            BIT     P1.1            ; 
       SIGOUT           BIT     P1.4            ; 
       A4052            BIT     P1.3            ; 
       B4052		BIT	P1.2		; 
; 
;************************************************************* 
; 
;       ÖжÏÏòÁ¿Çø 
; 
;************************************************************** 
        ORG     0000H 
        LJMP    START 
; 
        ORG     0003H 
        RETI;    IT0IT 
; 
        ORG     00BH 
        LJMP    INTT0 
; 
        ORG     0013H 
        RETI;    LJMP    IT0IT 
; 
        ORG     001BH 
        LJMP    INTT1 
; 
        ORG     0023H 
	RETI;LJMP	TXINT 
; 
        ORG     02BH 
        RETI 
; 
        ORG     0033H 
	RETI 
; 
        ORG     003BH 
	RETI 
; 
        ORG     0043H 
        RETI;    LJMP    CP2IT 
; 
        ORG     004BH 
	RETI 
; 
        ORG     0053H 
	RETI 
; 
        ORG     005BH 
        RETI;LJMP    ADIT 
; 
        ORG     0063H 
        RETI;    LJMP    CP1IT 
; 
        ORG     0073H 
	RETI 
;****************************************************************** 
; 
;       ϵͳ³õʼ»¯ 
; 
;******************************************************************* 
                ORG     100H 
START:		CLR	SIGOUT			; 
	        MOV     SP, #60H		; 
                MOV     WDRST, #1EH             ; ¿´ÃŹ·³õʼ»¯ 
                MOV     WDRST, #0E1H		; 
                MOV     WDCON, #13H             ; 20-45ms 
;	 
  	     	ANL     P0M1, #11100001B       ; P0.5(LCD1) P0.4(LCD2) P0.0 P0.1 P0.2 P0.3   
	        ORL     P0M2, #00011110B       ; ΪÉÏÀ­Êä³ö 
; 
       		ANL     P1M1, #11101111B        ;  P1.4(DP) 
       		ORL     P1M2, #00010000B        ; ΪÉÏÀ­Êä³ö 
; 
CLSMEM:         MOV     R0, #20H                ; 
                MOV     R1, #40H                ; 
CLSMEM1:        MOV     @R0, #00H               ; 
                INC     R0                      ; 
                DJNZ    R1, CLSMEM1             ; 
; 
		MOV	PCON, #80H		; 
		MOV	AUXR1, #01100000B	; BOI = 1 
		MOV	TMOD, #00100010B	; ¶¨Ê±Æ÷ 0 ×÷·½Ê½2 (8BIT),¶¨Ê±Æ÷1¹¤×÷·½Ê½2(8×Ô¶¯×°ÔØ) 
		MOV	SCON, #01010000B	; ´®Ðпڹ¤×÷·½Ê½1  8BIT UART 
		MOV 	TCON, #00000101B	; 
;	 
		MOV	TH0, #TIMEL		; 
		MOV	TL0, #TIMEH		; 20ms 
		MOV	TH1, #BAUDRATE		; 
		MOV	TL1, #BAUDRATE		; 
		MOV	IEN0, #00100000B	; EBO,	ET1,	ET0,	EX0 
		MOV	IEN1, #00110000B	; EC1, EAD, EC2 
		MOV 	IP0, #01010000B		; T1, BOD, CP1, CP2 = 00H 
		MOV	IP0H, #01011010B	; EX0, EX1 = 00H 
		MOV	IP1, #00000011H		; T0 = 10H 
		MOV	IP1H, #00000011H	; XXXX = 11H                 
                SJMP    INIT 
; 
ERROR:          NOP 
                LJMP    START			; 
;                 
                NOP				; 
INIT:           NOP				; 
		SETB	ET0			; 
		SETB	ET1			; 
		SETB    EA			; 
                MOV	PSW, #00H		; 
                LJMP    MAIN			; 
;                 
;********************************************************** 
;       ¶¨Ê±Æ÷0ÖжϷþÎñ 
;********************************************************** 
INTT0:  	CPL	SIGOUT			; 
		INC	R6			; 
		RETI				; 
 
;********************************************************** 
;       ¶¨Ê±Æ÷1ÖжϷþÎñ 
;********************************************************** 
INTT1:;		INC	DPTR			;  
		INC	DITCON			; 
		RETI				; 
; 
;********************************************************** 
;	A/DÖжϷþÎñ 
;********************************************************** 
ADIT:   	RETI				; 
; 
CP2IT:		RETI				; 
; 
BODIT:		RETI				; 
; 
;********************************************************** 
;                   ´®¿ÚÖжÏ			 
;********************************************************** 
TXINT: 		PUSH 	ACC			; 
       		PUSH 	PSW			; 
       		MOV	PSW, #10H		; 
       		JBC 	RI, RINT		; 
       		JBC 	TI, TINT		; 
RTI1:  		SETB	REN			; 
		POP 	PSW			; 
       		POP 	ACC			; 
       		RETI				; 
;       		 
TINT:  		JNB	TXWORKOK, RTI1		; 
		MOV	A, @R0			; 
		MOV	SBUF, A			; 
		INC	R0			; 
		CJNE	R0, #TXEND, RTI1	; 
		CLR	TXWORKOK		; 
		SJMP	RTI1			;					 
; 
RINT:		SJMP	RTI1			; 
; 
; 
;********************************************************** 
;	Ö÷³ÌÐò 
;********************************************************** 
 
MAIN: 		LCALL	WDT			; 
		LCALL	SWD			; 
		LCALL	TESTDIT			; 
		LCALL	HEX2BCD1		; 
;		LCALL	ERRORP			; 
;		 
		MOV	DITCONA, A		; 
		LCALL	DISPLAY			; 
;		 
		LCALL	DELAY100MS		; 
;		LCALL	DELAY100MS		; 
;		LCALL	DELAY100MS		; 
;		LCALL	DELAY100MS		; 
		LJMP	MAIN			; 
; 
;********************************************************** 
;********************************************************** 
;********************************************************** 
;×Ó³ÌÐòÇø 
; 
SWA:		CLR	A4052			; 
		CLR	B4052			; 
		RET				; 
;		 
SWB:		SETB	A4052			; 
		CLR	B4052			; 
		RET				; 
;		 
SWC:		CLR	A4052			; 
		SETB	B4052			; 
		RET				; 
; 
SWD:		SETB	A4052			; 
		SETB	B4052			; 
		RET				; 
; 
; 
TESTDIT:	CLR	SIGOUT			; 
;		MOV	DPTR, #0000H		; 
		MOV	R6, #00H		; 
		MOV	DITCON, #00H		; 
		SETB	TR0			; 
		CJNE	R6, #PLUSN, $		;		 
		CLR	TR0			; 
		MOV	HICON, #00H		; 
		SETB	TR1			; 
		MOV	ERRORCONL,#00H		; 
		MOV	ERRORCONH,#00H		;;		 
TESTLOOP:	SETB	SIGIN			; 
		NOP				; 
		JB	SIGIN, TESTHICON	; 
		MOV	HICON, #00H		; 
		 
;		MOV	A,ERRORCONL		; 
;		ADD	A,#01H			; 
;		MOV	ERRORCONL,A		; 
;		MOV	A,ERRORCONH		; 
;		ADDC	A,#00H			; 
;		MOV	ERRORCONH,A		; 
		MOV	A,DITCON 
		CLR	C			; 
		SUBB	A,#0E0H			; 
		JC	TESTLOOP		; 
		MOV	A,#00H			; 
		RET 
;		LJMP	TESTLOOP		; 
; 
TESTHICON:	INC	HICON			;		 
		CLR	C			; 
		MOV	A, HICON		; 
		SUBB	A, #32H			; 
		JNC	TESTHIEND		; 
		CLR	C 
		MOV	A,DITCON		; 
		SUBB	A,#0F0H 
		JC	TESTLOOP		; 
		MOV	A,#00H 
		RET 
;		LJMP	TESTLOOP		; 
;				 
TESTHIEND:	MOV	ERRORCONL,#00H		; 
		MOV	ERRORCONH,#00H		;	 
TESTHIEND0:	JNB	SIGIN, TESTHIEND1	;TESTLOOP		; 
		MOV	A,ERRORCONL		; 
		ADD	A,#01H			; 
		MOV	ERRORCONL,A		; 
		MOV	A,ERRORCONH		; 
		ADDC	A,#00H			; 
		MOV	ERRORCONH,A		; 
		CLR	C			; 
		SUBB	A,#080H			; 
		JC	TESTHIEND0		; 
		MOV	A,#00H			; 
		RET				; 
TESTHIEND1:	CLR	TR1			; 
;		MOV	R5, #01H		; 
;TESTRRC:	MOV	A, DPH			; 
;		CLR	C			; 
;		RRC	A			; 
;		MOV	DPH, A			; 
;		MOV	A, DPL			; 
;		RRC	A			; 
;		MOV	DPL, A			; 
;		DJNZ	R5, TESTRRC		; 
		MOV	A, DITCON		; 
		CLR	C			; 
		RRC	A			; 
		CLR	C 
;		RRC	A 
		CLR	C			; 
		CJNE	A, #32H, TESTOUT	; 
TESTOUT:	JC	TESTRET			; 
		CJNE	A, #64H, TESTOUT1	; 
TESTOUT1:	JC	TESTRET1		; 
		ADD	A, #OFFSET+02H		; 
		RET				; 
;		 
TESTRET:	ADD	A, #OFFSET		; 
		RET				;		 
;		 
TESTRET1:	ADD	A, #OFFSET+01H		; 
		RET		 
; 
; 
ERRORP:		MOV	R0, A			; 
		CLR	C			; 
		SUBB	A, B			; 
		JC	ERRORP1			; 
		SUBB	A, #02H			; 
		JC	ERRORPR			; 
		MOV	A,B			; 
		RET				; 
ERRORPR:	MOV	A,R0			; 
		RET				; 
ERRORP1:	CLR	C			; 
		MOV	A,B			; 
		SUBB	A,R0			; 
		SUBB	A,#02H			;					 
		JC	ERRORPR			; 
		MOV	A,B			; 
		RET 
;		 
;********************************************************** 
;	 DISPLAY 
;**********************************************************  
DISPLAY:	MOV	A, #02H			; 
		LCALL	DISPBCD			; 
		MOV	A, DITCONA		; 
		SWAP	A			; 
		ANL	A, #0FH			; 
		LCALL	DISPBCD			; 
		MOV	A, DITCONA		; 
		ANL	A, #0FH			; 
		LCALL	DISPBCD			; 
		MOV	A, #01H			; 
		LCALL	DISPBCD			; 
		RET				; 
; 
;		 
;********************************************************** 
;	BCD DISPLAY 
;**********************************************************  
DISPBCD:	MOV	R2, #08H		; 
		MOV	DPTR, #DISPTAB		; 
		MOVC	A, @A + DPTR		; 
DISPBCD1:	CLR	DCLK			; 
		RRC	A			; 
		MOV	DOUT, C			;	 
		SETB	DCLK			; 
		DJNZ	R2, DISPBCD1		; 
		RET				;				 
; 
; 
DISPTAB: 
		DB	81H, 0F3H, 49H, 61H, 33H, 25H 
			;0     1    2    3    4    5 
		DB	05H, 0F1H, 01H, 21H, 0FFH 
			;6     7    8    9     
;	 
; 
;********************************************************** 
;	µ¥×Ö½Ú 16 ½øÖÆ×ª BCD 
;**********************************************************  
HEX2BCD1:	MOV	B, #064H		; 16 ½øÖÆ -> BCD 
		DIV	AB			; B = A % 100 
		MOV	R7, A			; R7 = °ÙλÊý 
		MOV	A, #0AH			; 
		XCH	A, B			; 
		DIV	AB			; B = A % B 
		SWAP	A			;  
		ORL	A, B			; 
		RET				; 
; 
;	 
;********************************************************** 
;	Ë«×Ö½Ú 16 ½øÖÆ×ª BCD 
;	R2 = HI HEX	R3 = LOW HEX 
;	R4 = HI BCD	R5 = MI BCD	R6 = LOW BCD 
;**********************************************************  
HEX2BCD2:	CLR	A			; 
		MOV	R6, A			; 
		MOV	R4, A			; 
		MOV	R5, A			; 
		MOV	R7, #10H		; 
HEX2BCD21:	MOV	A, R3			; 
		RLC	A			; 
		MOV	R3, A			; 
		MOV	A, R2			; 
		RLC	A			; 
		MOV	R2, A			; 
		MOV	A, R6			; 
		ADDC	A, R6			; 
		DA	A			; 
		MOV	R6, A			; 
		MOV	A, R5			; 
		ADDC	A, R5			; 
		DA	A			; 
		MOV	R5, A			; 
		MOV	A, R4			; 
		ADDC	A, R4			; 
		MOV	R4, A			; 
		DJNZ	R7, HEX2BCD21		; 
;		 
		MOV	A, R4			; 
		MOV	R2, A			; 
		MOV	A, R5			; 
		SWAP	A			; 
		ORL	A, R6			; 
		MOV	R3, A			; 
		RET				; 
; 
; 
;********************************************************** 
;	µ¥×Ö½Ú BCD ת 16 ½øÖÆ 
;********************************************************** 
BCD2HEX1:	MOV	B, #10H			; ·ÖÀëʮλºÍ¸öλ 
		DIV	AB			;  
		MOV	R7, B			; 
		MOV	B, #0AH			; ½«Ê®Î»×ª»»³ÉÊ®Áù½øÖÆ 
		MUL	AB			; 
		ADD	A, R7			; °´Ê®Áù½øÖƼÓÉϸöλ 
		RET				; 
; 
; 
;********************************************************** 
;	Ë«×Ö½Ú BCD ת 16 ½øÖÆ 
;	R2 = HI		R3 = LOW 
;********************************************************** 
BCD2HEX2:	MOV	A, R3			; µÍ×Ö½Úת»» BCD 
		LCALL	BCD2HEX1		; 
		MOV	R3, A			; 
		MOV	A, R2			; ¸ß×Ö½Úת»» BCD  
		LCALL	BCD2HEX1		; 
		MOV	B, #64H			; ³Ë 100 
		MUL	AB			; 
		ADD	A, R3			; ºÍµ××Ö½Ú°´Ê®Áù½øÖÆ¼Ó 
		MOV	R3, A			; 
		CLR	A			; 
		ADDC	A, B			; 
		MOV	R2, A			; 
		RET				; 	 
; 
; 
;********************************************************** 
;	Ë«×Ö½Ú¶þ½øÖÆÎÞ·ûºÅÊý³Ë·¨ 
;	Èë¿ÚÌõ¼þ£º±»³ËÊýÔÚR2¡¢R3ÖУ¬³ËÊýÔÚR6¡¢R7ÖС£ 
;	³ö¿ÚÐÅÏ¢£º³Ë»ýÔÚR2¡¢R3¡¢R4¡¢R5ÖС£ 
;	Ó°Ïì×ÊÔ´£ºPSW¡¢A¡¢B¡¢R2¡«R7    ¶ÑÕ»ÐèÇó£º  £²×Ö½Ú 
;********************************************************** 
MULHEX2:	MOV	A, R3			; ¼ÆËãR3³ËR7 
		MOV	B, R7			; 
		MUL	AB			; 
		MOV	R4, B			; Ôݴ沿·Ö»ý 
		MOV	R5, A			; 
		MOV	A, R3			; ¼ÆËãR3³ËR6 
		MOV	B, R6			; 
		MUL	AB			; 
		ADD	A, R4			; ÀÛ¼Ó²¿·Ö»ý 
		MOV	R4, A			; 
		CLR	A			; 
		ADDC	A, B			; 
		MOV	R3, A			; 
		MOV	A, R2			; ¼ÆËãR2³ËR7 
		MOV	B, R7			; 
		MUL	AB			; 
		ADD	A, R4			; ÀÛ¼Ó²¿·Ö»ý	 
		MOV	R4, A			; 
		MOV	A, R3			; 
		ADDC	A, B			; 
		MOV	R3, A			; 
		CLR	A			; 
		RLC	A			; 
		XCH	A, R2			; ¼ÆËãR2³ËR6 
		MOV	B, R6			; 
		MUL	AB			; 
		ADD	A, R3			; ÀÛ¼Ó²¿·Ö»ý 
		MOV	R3, A			; 
		MOV	A, R2			; 
		ADDC	A, B			; 
		MOV	R2, A			; 
		RET				; 
; 
; 
;********************************************************** 
;	ÑÓʱ 100 MS 
;**********************************************************    
DELAY100MS:	MOV	R5, #0F0H		; 
		MOV	R4, #00H		; 
DELAY100LOOP:	DJNZ	R4, DELAY100LOOP	;	 
		LCALL	WDT			; 
		DJNZ	R5, DELAY100LOOP	; 
		RET				; 
;	 
; 
;********************************************************** 
;	ÑÓʱ 100 uS 
;**********************************************************    
DELAY100US:	MOV	R5, #32H		; 
		DJNZ	R5, $			;	 
		RET				; 
;	 
; 
;********************************************************** 
;	Çå¿´ÃŹ· 
;**********************************************************       
WDT:		MOV 	WDRST,#1EH		; 
		MOV 	WDRST,#0E1H		; 
		RET				; 
; 
; 
; 
;**************************************************************************** 
;	Calculate CRC-8 Values.  Uses The CCITT-8 Polynomial, Expressed As 
;	X^8 + X^5 + X^4 + 1 
;**************************************************************************** 
 
CRC8CAL:	PUSH	ACC			;	 
		MOV	R7, #08H		; Number Bits In Byte 
; 
CRC8LOOP1:	XRL	A, B			; Calculate CRC 
		RRC	A			; Move To Carry 
		MOV	A, B			; Get The Last CRC Value 
		JNC	CRC8LOOP2		; Skip If Data == 0 
		XRL	A, #18H			; Update The CRC Value 
; 
CRC8LOOP2:	RRC	A			; Position The New CRC 
		MOV	B, A			; Store The New CRC 
		POP	ACC			; Get The Remaining Bits 
		RR	A			; Position The Next Bit 
		PUSH	ACC			; Save The Remaining Bits 
		DJNZ	R7, CRC8LOOP1		; Repeat For 8 Bits 
		POP	ACC			; 
		RET				; 
; 
; 
;        ORG     0FCE0H 
;       DB "COPYRIGHT BY CHAI YE QIAO" 
;        ORG     0FD0H 
;        DB      0C8H 
;        ORG     0FD1H 
;        DB      00H;   NO 
                    ;80=ONE 
                    ;00=TWO     
; 
		END