123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288 |
- $NOMOD51
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- IDATALEN EQU 80H
- ;
- XDATASTART EQU 0
- ;
- XDATALEN EQU 0
- ;
- PDATASTART EQU 0H
- ;
- PDATALEN EQU 0H
- ;
- ;
- ;
- ;
- IBPSTACK EQU 0
- IBPSTACKTOP EQU 0xFF +1
- ;
- XBPSTACK EQU 0
- XBPSTACKTOP EQU 0xFFFF +1
- ;
- PBPSTACK EQU 0
- ;
- PBPSTACKTOP EQU 0xFF +1
- ;
- ;
- ;
- PPAGEENABLE EQU 0
- ;
- PPAGE EQU 0
- ;
- PPAGE_SFR DATA 0A0H
- ;
- ACC DATA 0E0H
- B DATA 0F0H
- SP DATA 81H
- DPL DATA 82H
- DPH DATA 83H
- SCON DATA 98H
- TMOD DATA 89H
- TCON DATA 88H
- TH1 DATA 8DH
- SBUF DATA 99H
- MEX1 DATA 94H
- MEX2 DATA 95H
- DMARSTART XDATA 8000H
- DMAESTART XDATA 8005H
- DMADLEN XDATA 8002H
- DMATRIG XDATA 8004H
- sbit TI = 0x98^1
- sbit EA = 0xAF
- sbit PS = 0xBC
- sbit ES = 0xAC
- sbit ET1 = 0xAB
- NAME ?C_STARTUP
- ?C_C51STARTUP SEGMENT CODE
- ?STACK SEGMENT IDATA
-
- RSEG ?STACK
- DS 1
- EXTRN CODE (?C_START)
- PUBLIC ?C_STARTUP
- CSEG AT 0
- ?C_STARTUP: LJMP STARTUP1
- RSEG ?C_C51STARTUP
- READ_APPINFO:
- CLR A
- MOVC A, @A+DPTR
- MOV R0, A
- MOV A,
- MOVC A, @A+DPTR
- MOV R1, A
- RET
-
- EEPROM_OFF: DB 00H, 00h
- APP_LEN: DB 70h, 00h
-
- STARTUP1:
- IF IDATALEN <> 0
- MOV R0,
- CLR A
- IDATALOOP: MOV @R0,A
- DJNZ R0,IDATALOOP
- ENDIF
- IF PPAGEENABLE <> 0
- MOV PPAGE_SFR,
- ENDIF
- IF PDATALEN <> 0
- MOV R0,
- MOV R7,
- CLR A
- PDATALOOP: MOVX @R0,A
- INC R0
- DJNZ R7,PDATALOOP
- ENDIF
- IF IBPSTACK <> 0
- EXTRN DATA (?C_IBP)
- MOV ?C_IBP,
- ENDIF
- IF XBPSTACK <> 0
- EXTRN DATA (?C_XBP)
- MOV ?C_XBP,
- MOV ?C_XBP+1,
- ENDIF
- IF PBPSTACK <> 0
- EXTRN DATA (?C_PBP)
- MOV ?C_PBP,
- ENDIF
- MOV SP,
-
-
-
- MOV R0,
- MOV DPTR,
- CLR A
- EXTRN DATA (ucDbBuffer)
- MOVC A, @A+DPTR
- MOV ucDbBuffer, A
-
- CLR A
- MOV DPTR,
- MOVX @DPTR, A
- INC DPTR
- MOVX @DPTR, A
-
-
-
- MOV DPTR,
- LCALL READ_APPINFO
-
- MOV A, R1
- MOV DPTR,
- MOVX @DPTR, A
- MOV A, R0
- INC DPTR
- MOVX @DPTR, A
-
-
-
- MOV DPTR,
- LCALL READ_APPINFO
-
- MOV A, R1
- MOV DPTR,
- MOVX @DPTR, A
- MOV A, R0
- INC DPTR
- MOVX @DPTR, A
-
-
- INC DPTR
- CLR A
- MOVX @DPTR, A
-
-
- MOV DPTR,
- MOV A,
- MOVX @DPTR, A
-
-
- DMA_LOOP:
- MOVX A, @DPTR
- JNZ DMA_LOOP
-
-
-
- MOV MEX1,
- MOV MEX2,
-
- MOV DPTR,
- CLR A
- LJMP ?C_START
- END
|