123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198 |
- $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
- 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
- STARTUP1:
- IF IDATALEN <> 0
- MOV R0,
- CLR A
- IDATALOOP: MOV @R0,A
- DJNZ R0,IDATALOOP
- ENDIF
- IF XDATALEN <> 0
- MOV DPTR,
- MOV R7,
- IF (LOW (XDATALEN)) <> 0
- MOV R6,
- ELSE
- MOV R6,
- ENDIF
- CLR A
- XDATALOOP: MOVX @DPTR,A
- INC DPTR
- DJNZ R7,XDATALOOP
- DJNZ R6,XDATALOOP
- 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,
- EXTRN CODE (?B_SWITCH0)
- CALL ?B_SWITCH0
- LJMP ?C_START
- END
|