⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 51.asm

📁 8051 simulator: work together with Keil uVision to download and debug in system
💻 ASM
📖 第 1 页 / 共 5 页
字号:
	MOV      0xCB,A		;C:0x0157    F5CB     MOV      0xCB,A
	MOV      0xCD,A		;C:0x0159    F5CD     MOV      0xCD,A

;
; initialize timer2 for 8052
;
	MOV      T2CON,#0x34	;C:0x015B    75C834   MOV      T2CON,#0x34
;
; initialize serial port, and wait for sync code: 0x11
;
	MOV      SCON,#0x5A		;C:0x015E    75985A   MOV      SCON,#0x5A
L_0161:
	CLR      RI				;C:0x0161    C298     CLR      RI
	JNB      RI,$			;C:0x0163    3098FD   JNB      RI,C:0163
	MOV      A,SBUF			;C:0x0166    E599     MOV      A,SBUF
	CJNE     A,#0x11,L_0161	;C:0x0168    B411F6   CJNE     A,#0x11,C:0161
	LJMP     L_0546			;C:0x016B    020546   LJMP     C:0546
	
;
; wait for INT1 released
; timeout: 0x40*0x60*1us
;	
L_016E:	
	MOV      R6,#0x60		;C:0x016E    7E60     MOV      R6,#0x60
L_0170:
	MOV      R5,#0x40		;C:0x0170    7D40     MOV      R5,#0x40
	DJNZ     R5,$			;C:0x0172    DDFE     DJNZ     R5,C:0172
	DJNZ     R6,L_0170		;C:0x0174    DEFA     DJNZ     R6,C:0170
	JNB      INT1,L_016E	;C:0x0176    30B3F5   JNB      INT1,C:016E

	MOV      R6,#0x60		;C:0x0179    7E60     MOV      R6,#0x60
L_017B:
	MOV      R5,#0x40		;C:0x017B    7D40     MOV      R5,#0x40
	DJNZ     R5,$			;C:0x017D    DDFE     DJNZ     R5,C:017D
	DJNZ     R6,L_017B		;C:0x017F    DEFA     DJNZ     R6,C:017B
	JNB      INT1,L_016E	;C:0x0181    30B3EA   JNB      INT1,C:016E

;
; push 0x8000 to stack, and reset DPL
;
L_0184:
	MOV      DPL,#0x00		;C:0x0184    758200   MOV      DPL,#0x00
	PUSH     DPL			;C:0x0187    C082     PUSH     DPL
	MOV      DPL,#0x80		;C:0x0189    758280   MOV      DPL,#P0(0x80)
	PUSH     DPL			;C:0x018C    C082     PUSH     DPL
	MOV      DPL,#0x00		;C:0x018E    758200   MOV      DPL,#0x00
	RET      				;C:0x0191    22       RET      
;
; get RI to C
;
L_0192:
	MOV      C,RI	;C:0x0192    A298     MOV      C,RI
	RET      		;C:0x0194    22       RET      
;
; get TI to C
;
L_0195:
	MOV      C,TI	;C:0x0195    A299     MOV      C,TI
	RET      		;C:0x0197    22       RET      
;
; txd
;
L_0198:
	MOV      A,SBUF	;C:0x0198    E599     MOV      A,SBUF
	RET      		;C:0x019A    22       RET      
;
; rxd
;
L_019B:
	MOV      SBUF,A	;C:0x019B    F599     MOV      SBUF,A
	RET      		;C:0x019D    22       RET      
L_019E:
	CLR      TI		;C:0x019E    C299     CLR      TI
	RET      		;C:0x01A0    22       RET      
L_01A1:
	SETB     TI		;C:0x01A1    D299     SETB     TI
	RET      		;C:0x01A3    22       RET      
L_01A4:
	CLR      RI		;C:0x01A4    C298     CLR      RI
	RET      		;C:0x01A6    22       RET      
;
; disable ES
;
	CLR      ES	;C:0x01A7    C2AC     CLR      ES
	RET      	;C:0x01A9    22       RET      
;
; enable ES
;
	SETB     ES	;C:0x01AA    D2AC     SETB     ES
	RET      	;C:0x01AC    22       RET      

	RET      	;C:0x01AD    22       RET      
	RET      	;C:0x01AE    22       RET      

	MOVX     @DPTR,A	;C:0x01AF    F0       MOVX     @DPTR,A
	RET      			;C:0x01B0    22       RET      

	DB 0x60 DUP (0)

	AT 0x300
	DB 0x100 DUP (0)

	AT 0x300
;
; save status to: 0xFF08
;
	PUSH     DPL			;C:0x0300    C082     PUSH     DPL
	PUSH     DPH			;C:0x0302    C083     PUSH     DPH
	MOV      DPTR,#0xFF08	;C:0x0304    90FF08   MOV      DPTR,#0xFF08
	MOVX     @DPTR,A		;C:0x0307    F0       MOVX     @DPTR,A
	MOV      A,PSW			;C:0x0308    E5D0     MOV      A,PSW
	INC      DPTR			;C:0x030A    A3       INC      DPTR
	MOVX     @DPTR,A		;C:0x030B    F0       MOVX     @DPTR,A
	CLR      A				;C:0x030C    E4       CLR      A
	MOV      PSW,A			;C:0x030D    F5D0     MOV      PSW,A
	XCH      A,IE			;C:0x030F    C5A8     XCH      A,IE
	INC      DPTR			;C:0x0311    A3       INC      DPTR
	MOVX     @DPTR,A		;C:0x0312    F0       MOVX     @DPTR,A
	POP      ACC			;C:0x0313    D0E0     POP      ACC
	INC      DPTR			;C:0x0315    A3       INC      DPTR
	MOVX     @DPTR,A		;C:0x0316    F0       MOVX     @DPTR,A
	POP      ACC			;C:0x0317    D0E0     POP      ACC
	INC      DPTR			;C:0x0319    A3       INC      DPTR
	MOVX     @DPTR,A		;C:0x031A    F0       MOVX     @DPTR,A
	POP      ACC			;C:0x031B    D0E0     POP      ACC
	INC      DPTR			;C:0x031D    A3       INC      DPTR
	MOVX     @DPTR,A		;C:0x031E    F0       MOVX     @DPTR,A
	POP      ACC			;C:0x031F    D0E0     POP      ACC
	INC      DPTR			;C:0x0321    A3       INC      DPTR
	MOVX     @DPTR,A		;C:0x0322    F0       MOVX     @DPTR,A
	INC      DPTR			;C:0x0323    A3       INC      DPTR
	CLR      A				;C:0x0324    E4       CLR      A
	MOVC     A,@A+DPTR		;C:0x0325    93       MOVC     A,@A+DPTR
	XCH      A,SP			;C:0x0326    C581     XCH      A,SP
	MOVX     @DPTR,A		;C:0x0328    F0       MOVX     @DPTR,A
	MOV      A,B			;C:0x0329    E5F0     MOV      A,B
	INC      DPTR			;C:0x032B    A3       INC      DPTR
	MOVX     @DPTR,A		;C:0x032C    F0       MOVX     @DPTR,A
	MOV      A,R0			;C:0x032D    E8       MOV      A,R0
	INC      DPTR			;C:0x032E    A3       INC      DPTR
	MOVX     @DPTR,A		;C:0x032F    F0       MOVX     @DPTR,A
	MOV      R0,#0x00		;C:0x0330    7800     MOV      R0,#0x00
L_0332:
	INC      R0				;C:0x0332    08       INC      R0
	INC      DPTR			;C:0x0333    A3       INC      DPTR
	CLR      A				;C:0x0334    E4       CLR      A
	MOVC     A,@A+DPTR		;C:0x0335    93       MOVC     A,@A+DPTR
	XCH      A,@R0			;C:0x0336    C6       XCH      A,@R0
	MOVX     @DPTR,A		;C:0x0337    F0       MOVX     @DPTR,A
	MOV      A,R0			;C:0x0338    E8       MOV      A,R0
	CJNE     A,#0x6F,L_0332	;C:0x0339    B46FF6   CJNE     A,#0x6F,C:0332
	LCALL    L_01AE			;C:0x033C    1201AE   LCALL    L_01AE
	LCALL    L_03A0			;C:0x033F    1203A0   LCALL    L_03A0
	LCALL    L_0CDC			;C:0x0342    120CDC   LCALL    L_0CDC
	LCALL    L_0BDB			;C:0x0345    120BDB   LCALL    L_0BDB
	LCALL    L_0AF3			;C:0x0348    120AF3   LCALL    L_0AF3
	LCALL    L_0AF3			;C:0x034B    120AF3   LCALL    L_0AF3
	LCALL    L_0AF3			;C:0x034E    120AF3   LCALL    L_0AF3
	LCALL    L_0BDB			;C:0x0351    120BDB   LCALL    L_0BDB
	MOV      DPTR,#0xFF0D	;C:0x0354    90FF0D   MOV      DPTR,#0xFF0D
	MOV      A,R0			;C:0x0357    E8       MOV      A,R0
	MOVX     @DPTR,A		;C:0x0358    F0       MOVX     @DPTR,A
	INC      DPTR			;C:0x0359    A3       INC      DPTR
	MOV      A,R1			;C:0x035A    E9       MOV      A,R1
	MOVX     @DPTR,A		;C:0x035B    F0       MOVX     @DPTR,A
	LCALL    L_01A1			;C:0x035C    1201A1   LCALL    L_01A1
	RET      				;C:0x035F    22       RET      


	MOV      R2,#0x01			;C:0x0360    7A01     MOV      R2,#0x01
	LCALL    L_0CDC				;C:0x0362    120CDC   LCALL    L_0CDC
	MOV      R6,0x01			;C:0x0365    AE01     MOV      R6,0x01
	MOV      R5,0x00			;C:0x0367    AD00     MOV      R5,0x00
L_0369:
	LCALL    L_0C13				;C:0x0369    120C13   LCALL    L_0C13
	CJNE     A,#0x01,L_039B		;C:0x036C    B4012C   CJNE     A,#0x01,C:039B
	PUSH     DPH				;C:0x036F    C083     PUSH     DPH
	PUSH     DPL				;C:0x0371    C082     PUSH     DPL
	LCALL    L_0BD1				;C:0x0373    120BD1   LCALL    L_0BD1
	CLR      C					;C:0x0376    C3       CLR      C
	MOV      A,R6				;C:0x0377    EE       MOV      A,R6
	SUBB     A,R1				;C:0x0378    99       SUBB     A,R1
	MOV      R4,A				;C:0x0379    FC       MOV      R4,A
	MOV      A,R5				;C:0x037A    ED       MOV      A,R5
	SUBB     A,R0				;C:0x037B    98       SUBB     A,R0
	JNZ      L_038A				;C:0x037C    700C     JNZ      C:038A
	CJNE     R4,#0x02,L_0381	;C:0x037E    BC0200   CJNE     R4,#0x02,C:0381
L_0381:
	JNC      L_038A				;C:0x0381    5007     JNC      C:038A
	MOV      0x28,#0x08			;C:0x0383    752808   MOV      0x28,#0x08
	MOV      A,#0x01			;C:0x0386    7401     MOV      A,#0x01
	SJMP     C:0396				;C:0x0388    800C     SJMP     C:0396

L_038A:
	MOV      A,#0x12			;C:0x038A    7412     MOV      A,#0x12
	LCALL    L_0BE6				;C:0x038C    120BE6   LCALL    L_0BE6
	MOV      A,#0x02			;C:0x038F    7402     MOV      A,#0x02
	LCALL    L_0BE6				;C:0x0391    120BE6   LCALL    L_0BE6
	MOV      A,#0x03			;C:0x0394    7403     MOV      A,#0x03
	POP      DPL				;C:0x0396    D082     POP      DPL
	POP      DPH				;C:0x0398    D083     POP      DPH
	MOVX     @DPTR,A			;C:0x039A    F0       MOVX     @DPTR,A
	INC      R2					;C:0x039B    0A       INC      R2
	CJNE     R2,#0x0C,L_0369	;C:0x039C    BA0CCA   CJNE     R2,#0x0C,C:0369
	RET      					;C:0x039F    22       RET      
;
;
;
L_03A0:
	MOV      R2,#0x0B			;C:0x03A0    7A0B     MOV      R2,#0x0B
	LCALL    L_0C13				;C:0x03A2    120C13   LCALL    L_0C13
	CJNE     A,#0x03,L_03B4		;C:0x03A5    B4030C   CJNE     A,#0x03,C:03B4
	MOV      A,#0x01			;C:0x03A8    7401     MOV      A,#0x01
	MOVX     @DPTR,A			;C:0x03AA    F0       MOVX     @DPTR,A
	LCALL    L_0BD1				;C:0x03AB    120BD1   LCALL    L_0BD1
	LCALL    L_0BE4				;C:0x03AE    120BE4   LCALL    L_0BE4
	LCALL    L_0BE4				;C:0x03B1    120BE4   LCALL    L_0BE4
	DJNZ     R2,L_03A2			;C:0x03B4    DAEC     DJNZ     R2,C:03A2
	MOV      A,#0x81			;C:0x03B6    7481     MOV      A,#SP
	SETB     0x22.0				;C:0x03B8    D210     SETB     0x22.0
	MOV      R0,A				;C:0x03BA    F8       MOV      R0,A
	SJMP     L_03C1				;C:0x03BB    8004     SJMP     C:03C1

	MOV      R0,#0x81			;C:0x03BD    7881     MOV      R0,#SP
	CLR      0x22.0				;C:0x03BF    C210     CLR      0x22.0

	MOV      DPTR,#0xFF08		;C:0x03C1    90FF08   MOV      DPTR,#0xFF08
	CJNE     R0,#0x8E,L_03C9	;C:0x03C4    B8E002   CJNE     R0,#0xE0,C:03C9
	SJMP     L_03ED				;C:0x03C7    8024     SJMP     C:03ED

	INC      DPTR				;C:0x03C9    A3       INC      DPTR
	CJNE     R0,#0xD0,L_03CF	;C:0x03CA    B8D002   CJNE     R0,#PSW,C:03CF
	SJMP     L_03ED				;C:0x03CD    801E     SJMP     C:03ED

	INC      DPTR				;C:0x03CF    A3       INC      DPTR
	CJNE     R0,#0xA8,L_03D5	;C:0x03D0    B8A802   CJNE     R0,#IE,C:03D5
	SJMP     L_03ED				;C:0x03D3    8018     SJMP     C:03ED

	INC      DPTR				;C:0x03D5    A3       INC      DPTR
	CJNE     R0,#0x83,L_03DB	;C:0x03D6    B88302   CJNE     R0,#DPH,C:03DB
	SJMP     L_03ED				;C:0x03D9    8012     SJMP     C:03ED
	INC      DPTR				;C:0x03DB    A3       INC      DPTR
	CJNE     R0,#0x82,L_03E1	;C:0x03DC    B88202   CJNE     R0,#DPL,C:03E1
	SJMP     L_03ED				;C:0x03DF    800C     SJMP     C:03ED
	MOV      DPTR,#0xFF0F		;C:0x03E1    90FF0F   MOV      DPTR,#0xFF0F
	CJNE     R0,#0x81,L_03E9	;C:0x03E4    B88102   CJNE     R0,#SP,C:03E9
	SJMP     C:03ED				;C:0x03E7    8004     SJMP     C:03ED
L_03E9:
	INC      DPTR				;C:0x03E9    A3       INC      DPTR
	CJNE     R0,#0xF0,L_03F5	;C:0x03EA    B8F008   CJNE     R0,#B,C:03F5
L_03ED:
	JB       0x22.0,L_03F2		;C:0x03ED    201002   JB       0x22.0,C:03F2
	MOVX     @DPTR,A			;C:0x03F0    F0       MOVX     @DPTR,A
	RET      					;C:0x03F1    22       RET      
L_03F2:
	CLR      A					;C:0x03F2    E4       CLR      A
	MOVC     A,@A+DPTR			;C:0x03F3    93       MOVC     A,@A+DPTR
	RET      					;C:0x03F4    22       RET      
L_03F5:
	MOV      R1,#0xE5			;C:0x03F5    79E5     MOV      R1,#0xE5
	JB       0x22.0,L_03FC		;C:0x03F7    201002   JB       0x22.0,C:03FC
	MOV      R1,#0x88			;C:0x03FA    7988     MOV      R1,#TCON(0x88)
	PUSH     ACC				;C:0x03FC    C0E0     PUSH     ACC
	MOV      DPTR,#0xFFC3		;C:0x03FE    90FFC3   MOV      DPTR,#0xFFC3

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -