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

📄 time.asm

📁 很少见的源码公开的msc51和z80的c编译器。
💻 ASM
📖 第 1 页 / 共 3 页
字号:
	push	ar7	push	ar0	push	_asctime_sloc0_1_0	push	(_asctime_sloc0_1_0 + 1)	push	_asctime_sloc1_1_0	push	(_asctime_sloc1_1_0 + 1)	push	_asctime_sloc2_1_0	push	(_asctime_sloc2_1_0 + 1)	push	_asctime_sloc4_1_0	push	(_asctime_sloc4_1_0 + 1)	push	(_asctime_sloc4_1_0 + 2)	push	ar2	push	ar3	push	ar4	push	_asctime_sloc5_1_0	push	(_asctime_sloc5_1_0 + 1)	push	(_asctime_sloc5_1_0 + 2)	push	_asctime_sloc6_1_0	push	(_asctime_sloc6_1_0 + 1)	push	(_asctime_sloc6_1_0 + 2)	lcall	_sprintf	mov	a,sp	add	a,#0xea	mov	sp,a;	time.c 96	mov	dpl,_asctime_sloc6_1_0	mov	dph,(_asctime_sloc6_1_0 + 1)	mov	b,(_asctime_sloc6_1_0 + 2)00101$:	ret;------------------------------------------------------------;Allocation info for local variables in function 'ctime';------------------------------------------------------------;timep                     Allocated to in memory with name '_ctime_timep_1_1';	time.c 99;	-----------------------------------------;	 function ctime;	-----------------------------------------_ctime:;	time.c 100	push	b	push	dph	push	dpl	mov	dptr,#_ctime_timep_1_1	pop	acc	movx	@dptr,a	pop	acc	inc	dptr	movx	@dptr,a	pop	acc	inc	dptr	movx	@dptr,a	mov	dptr,#_ctime_timep_1_1	movx	a,@dptr	mov	r2,a	inc	dptr	movx	a,@dptr	mov	r3,a	inc	dptr	movx	a,@dptr	mov	r4,a	mov	dpl,r2	mov	dph,r3	mov	b,r4	lcall	_localtime	mov	r2,dpl	mov	r3,dph	mov	r4,b	mov	dpl,r2	mov	dph,r3	mov	b,r4	lcall	_asctime; Peephole 153   removed misc moves via dph, dpl, b before return00101$:	ret;------------------------------------------------------------;Allocation info for local variables in function 'localtime';------------------------------------------------------------;timep                     Allocated to in memory with name '_localtime_timep_1_1';	time.c 116;	-----------------------------------------;	 function localtime;	-----------------------------------------_localtime:;	time.c 117	push	b	push	dph	push	dpl	mov	dptr,#_localtime_timep_1_1	pop	acc	movx	@dptr,a	pop	acc	inc	dptr	movx	@dptr,a	pop	acc	inc	dptr	movx	@dptr,a	mov	dptr,#_localtime_timep_1_1	movx	a,@dptr	mov	r2,a	inc	dptr	movx	a,@dptr	mov	r3,a	inc	dptr	movx	a,@dptr	mov	r4,a	mov	dpl,r2	mov	dph,r3	mov	b,r4	lcall	_gmtime; Peephole 153   removed misc moves via dph, dpl, b before return00101$:	ret;------------------------------------------------------------;Allocation info for local variables in function 'gmtime';------------------------------------------------------------;sloc0                     Allocated to in memory with name '_gmtime_sloc0_1_0';sloc1                     Allocated to in memory with name '_gmtime_sloc1_1_0';sloc2                     Allocated to in memory with name '_gmtime_sloc2_1_0';timep                     Allocated to in memory with name '_gmtime_timep_1_1';epoch                     Allocated to in memory with name '_gmtime_epoch_1_1';year                      Allocated to in memory with name '_gmtime_year_1_1';month                     Allocated to in memory with name '_gmtime_month_1_1';monthLength               Allocated to in memory with name '_gmtime_monthLength_1_1';days                      Allocated to in memory with name '_gmtime_days_1_1';	time.c 120;	-----------------------------------------;	 function gmtime;	-----------------------------------------_gmtime:;	time.c 0	push	b	push	dph	push	dpl	mov	dptr,#_gmtime_timep_1_1	pop	acc	movx	@dptr,a	pop	acc	inc	dptr	movx	@dptr,a	pop	acc	inc	dptr	movx	@dptr,a;	time.c 121	mov	dptr,#_gmtime_timep_1_1	movx	a,@dptr	mov	r2,a	inc	dptr	movx	a,@dptr	mov	r3,a	inc	dptr	movx	a,@dptr	mov	r4,a	mov	dpl,r2	mov	dph,r3	mov	b,r4	lcall	__gptrget	mov	r2,a	inc	dptr	lcall	__gptrget	mov	r3,a	inc	dptr	lcall	__gptrget	mov	r4,a	inc	dptr	lcall	__gptrget	mov	r5,a;	time.c 126; Peephole 228   replaced inefficient 32 constant	mov     dptr,#__modulong_PARM_2	mov     a, #0x3C	movx    @dptr,a	inc     dptr	clr     a	movx    @dptr,a	inc     dptr	movx    @dptr,a	inc     dptr	movx    @dptr,a	mov     dptr,#__modulong_PARM_2	mov	dpl,r2	mov	dph,r3	mov	b,r4	mov	a,r5	push	ar2	push	ar3	push	ar4	push	ar5	lcall	__modulong	mov	r6,dpl	mov	r7,dph	mov	r0,b	mov	r1,a	pop	ar5	pop	ar4	pop	ar3	pop	ar2	mov	dptr,#_lastTime	mov	a,r6	movx	@dptr,a;	time.c 127; Peephole 228   replaced inefficient 32 constant	mov     dptr,#__divulong_PARM_2	mov     a, #0x3C	movx    @dptr,a	inc     dptr	clr     a	movx    @dptr,a	inc     dptr	movx    @dptr,a	inc     dptr	movx    @dptr,a	mov     dptr,#__divulong_PARM_2;	time.c 128	mov	dpl,r2	mov	dph,r3	mov	b,r4	mov	a,r5	lcall	__divulong	mov	r2,dpl	mov	r3,dph	mov	r4,b	mov	r5,a; Peephole 228   replaced inefficient 32 constant	mov     dptr,#__modulong_PARM_2	mov     a, #0x3C	movx    @dptr,a	inc     dptr	clr     a	movx    @dptr,a	inc     dptr	movx    @dptr,a	inc     dptr	movx    @dptr,a	mov     dptr,#__modulong_PARM_2	mov	dpl,r2	mov	dph,r3	mov	b,r4	mov	a,r5	push	ar2	push	ar3	push	ar4	push	ar5	lcall	__modulong	mov	r6,dpl	mov	r7,dph	mov	r0,b	mov	r1,a	pop	ar5	pop	ar4	pop	ar3	pop	ar2	mov	dptr,#(_lastTime + 0x0001)	mov	a,r6	movx	@dptr,a;	time.c 129; Peephole 228   replaced inefficient 32 constant	mov     dptr,#__divulong_PARM_2	mov     a, #0x3C	movx    @dptr,a	inc     dptr	clr     a	movx    @dptr,a	inc     dptr	movx    @dptr,a	inc     dptr	movx    @dptr,a	mov     dptr,#__divulong_PARM_2;	time.c 130	mov	dpl,r2	mov	dph,r3	mov	b,r4	mov	a,r5	lcall	__divulong	mov	r2,dpl	mov	r3,dph	mov	r4,b	mov	r5,a; Peephole 228   replaced inefficient 32 constant	mov     dptr,#__modulong_PARM_2	mov     a, #0x18	movx    @dptr,a	inc     dptr	clr     a	movx    @dptr,a	inc     dptr	movx    @dptr,a	inc     dptr	movx    @dptr,a	mov     dptr,#__modulong_PARM_2	mov	dpl,r2	mov	dph,r3	mov	b,r4	mov	a,r5	push	ar2	push	ar3	push	ar4	push	ar5	lcall	__modulong	mov	r6,dpl	mov	r7,dph	mov	r0,b	mov	r1,a	pop	ar5	pop	ar4	pop	ar3	pop	ar2	mov	dptr,#(_lastTime + 0x0002)	mov	a,r6	movx	@dptr,a;	time.c 131; Peephole 228   replaced inefficient 32 constant	mov     dptr,#__divulong_PARM_2	mov     a, #0x18	movx    @dptr,a	inc     dptr	clr     a	movx    @dptr,a	inc     dptr	movx    @dptr,a	inc     dptr	movx    @dptr,a	mov     dptr,#__divulong_PARM_2;	time.c 132	mov	dpl,r2	mov	dph,r3	mov	b,r4	mov	a,r5	lcall	__divulong	mov	r2,dpl	mov	r3,dph	mov	r4,b	mov	r5,a	mov	a,#0x04	add	a,r2	mov	r6,a; Peephole 180   changed mov to clr	clr  a	addc	a,r3	mov	r7,a; Peephole 180   changed mov to clr	clr  a	addc	a,r4	mov	r0,a; Peephole 180   changed mov to clr	clr  a	addc	a,r5	mov	r1,a; Peephole 228   replaced inefficient 32 constant	mov     dptr,#__modulong_PARM_2	mov     a, #0x07	movx    @dptr,a	inc     dptr	clr     a	movx    @dptr,a	inc     dptr	movx    @dptr,a	inc     dptr	movx    @dptr,a	mov     dptr,#__modulong_PARM_2	mov	dpl,r6	mov	dph,r7	mov	b,r0	mov	a,r1	push	ar2	push	ar3	push	ar4	push	ar5	lcall	__modulong	mov	r6,dpl	mov	r7,dph	mov	r0,b	mov	r1,a	pop	ar5	pop	ar4	pop	ar3	pop	ar2	mov	dptr,#(_lastTime + 0x0007)	mov	a,r6	movx	@dptr,a;	time.c 135; Peephole 227   replaced inefficient 32 bit clear	mov     dptr,#_gmtime_days_1_1	clr     a	movx    @dptr,a	inc     dptr	movx    @dptr,a	inc     dptr	movx    @dptr,a	inc     dptr	movx    @dptr,a	mov     dptr,#_gmtime_days_1_1;	time.c 136	mov	r6,#0xB2	mov	r7,#0x0700101$:; Peephole 230   replaced inefficient 16 constant	mov     dptr,#__moduint_PARM_2	mov     a,#0x04	movx    @dptr,a	inc     dptr	clr     a	movx    @dptr,a	mov     dptr,#__moduint_PARM_2	mov	dpl,r6	mov	dph,r7	push	ar2	push	ar3	push	ar4	push	ar5	push	ar6	push	ar7	lcall	__moduint	mov	r0,dpl	mov	r1,dph	pop	ar7	pop	ar6	pop	ar5	pop	ar4	pop	ar3	pop	ar2	cjne	r0,#0x00,00132$	cjne	r1,#0x00,00132$	mov	a,#0x01	sjmp	00133$00132$:	clr	a00133$:; Peephole 105   removed redundant mov	mov  r0,a; Peephole 110   removed ljmp by inverse jump logic	jz  00119$00134$:	mov	_gmtime_sloc0_1_0,#0x6E	mov	(_gmtime_sloc0_1_0 + 1),#0x01; Peephole 132   changed ljmp to sjmp	sjmp 00120$00119$:	mov	_gmtime_sloc0_1_0,#0x6D	mov	(_gmtime_sloc0_1_0 + 1),#0x0100120$:	mov	dptr,#_gmtime_days_1_1	movx	a,@dptr	mov	_gmtime_sloc1_1_0,a	inc	dptr	movx	a,@dptr	mov	(_gmtime_sloc1_1_0 + 1),a	inc	dptr	movx	a,@dptr	mov	(_gmtime_sloc1_1_0 + 2),a	inc	dptr	movx	a,@dptr	mov	(_gmtime_sloc1_1_0 + 3),a	mov	_gmtime_sloc2_1_0,_gmtime_sloc0_1_0	mov	(_gmtime_sloc2_1_0 + 1),(_gmtime_sloc0_1_0 + 1)	mov	a,(_gmtime_sloc0_1_0 + 1)	rlc	a	subb	a,acc	mov	(_gmtime_sloc2_1_0 + 2),a	mov	(_gmtime_sloc2_1_0 + 3),a	mov	a,_gmtime_sloc2_1_0	add	a,_gmtime_sloc1_1_0	mov	_gmtime_sloc2_1_0,a	mov	a,(_gmtime_sloc2_1_0 + 1)	addc	a,(_gmtime_sloc1_1_0 + 1)	mov	(_gmtime_sloc2_1_0 + 1),a	mov	a,(_gmtime_sloc2_1_0 + 2)	addc	a,(_gmtime_sloc1_1_0 + 2)	mov	(_gmtime_sloc2_1_0 + 2),a	mov	a,(_gmtime_sloc2_1_0 + 3)	addc	a,(_gmtime_sloc1_1_0 + 3)	mov	(_gmtime_sloc2_1_0 + 3),a	mov	dptr,#_gmtime_days_1_1	mov	a,_gmtime_sloc2_1_0	movx	@dptr,a	inc	dptr	mov	a,(_gmtime_sloc2_1_0 + 1)	movx	@dptr,a	inc	dptr	mov	a,(_gmtime_sloc2_1_0 + 2)	movx	@dptr,a	inc	dptr	mov	a,(_gmtime_sloc2_1_0 + 3)	movx	@dptr,a	clr	c	mov	a,r2	subb	a,_gmtime_sloc2_1_0	mov	a,r3	subb	a,(_gmtime_sloc2_1_0 + 1)	mov	a,r4	subb	a,(_gmtime_sloc2_1_0 + 2)	mov	a,r5	subb	a,(_gmtime_sloc2_1_0 + 3); Peephole 132   changed ljmp to sjmp; Peephole 160   removed sjmp by inverse jump logic	jc   00103$00135$:;	time.c 137	inc	r6	cjne	r6,#0x00,00136$	inc	r700136$:	ljmp	00101$00103$:;	time.c 139	mov	a,r6	add	a,#0x94	mov	r6,a	mov	a,r7	addc	a,#0xf8	mov	r7,a	mov	dptr,#(_lastTime + 0x0005)	mov	a,r6	movx	@dptr,a	inc	dptr	mov	a,r7	movx	@dptr,a;	time.c 141	mov	a,r0; Peephole 110   removed ljmp by inverse jump logic	jz  00121$00137$:	mov	r6,#0x6E	mov	r7,#0x01; Peephole 132   changed ljmp to sjmp	sjmp 00122$00121$:	mov	r6,#0x6D	mov	r7,#0x0100122$:	mov	_gmtime_sloc1_1_0,r6	mov	(_gmtime_sloc1_1_0 + 1),r7	mov	a,r7	rlc	a	subb	a,acc	mov	(_gmtime_sloc1_1_0 + 2),a	mov	(_gmtime_sloc1_1_0 + 3),a	clr	c	mov	a,_gmtime_sloc2_1_0	subb	a,_gmtime_sloc1_1_0	mov	_gmtime_sloc2_1_0,a	mov	a,(_gmtime_sloc2_1_0 + 1)	subb	a,(_gmtime_sloc1_1_0 + 1)	mov	(_gmtime_sloc2_1_0 + 1),a	mov	a,(_gmtime_sloc2_1_0 + 2)	subb	a,(_gmtime_sloc1_1_0 + 2)	mov	(_gmtime_sloc2_1_0 + 2),a	mov	a,(_gmtime_sloc2_1_0 + 3)	subb	a,(_gmtime_sloc1_1_0 + 3)	mov	(_gmtime_sloc2_1_0 + 3),a;	time.c 142	clr	c	mov	a,r2	subb	a,_gmtime_sloc2_1_0	mov	r2,a	mov	a,r3	subb	a,(_gmtime_sloc2_1_0 + 1)	mov	r3,a	mov	a,r4	subb	a,(_gmtime_sloc2_1_0 + 2)	mov	r4,a	mov	a,r5	subb	a,(_gmtime_sloc2_1_0 + 3)	mov	r5,a	mov	dptr,#_gmtime_epoch_1_1	mov	a,r2	movx	@dptr,a	inc	dptr	mov	a,r3	movx	@dptr,a	inc	dptr	mov	a,r4	movx	@dptr,a	inc	dptr	mov	a,r5	movx	@dptr,a;	time.c 143	mov	dptr,#(_lastTime + 0x0008)	mov	a,r2	movx	@dptr,a	inc	dptr	mov	a,r3	movx	@dptr,a;	time.c 148	mov	r2,#0x0000113$:	cjne	r2,#0x0C,00138$00138$:	jc	00139$	ljmp	00116$00139$:;	time.c 149; Peephole 132   changed ljmp to sjmp; Peephole 199   optimized misc jump sequence	cjne r2,#0x01,00108$;00140$:; Peephole 200   removed redundant sjmp00141$:;	time.c 150	mov	a,r0; Peephole 110   removed ljmp by inverse jump logic	jz  00105$00142$:;	time.c 151	mov	dptr,#_gmtime_monthLength_1_1	mov	a,#0x1D	movx	@dptr,a; Peephole 132   changed ljmp to sjmp	sjmp 00109$00105$:;	time.c 153	mov	dptr,#_gmtime_monthLength_1_1	mov	a,#0x1C	movx	@dptr,a; Peephole 132   changed ljmp to sjmp	sjmp 00109$00108$:;	time.c 156	mov	a,r2; Peephole 180   changed mov to clr; Peephole 186   optimized movc sequence	mov  dptr,#_monthDays	movc a,@a+dptr; Peephole 100   removed redundant mov	mov  r3,a	mov  dptr,#_gmtime_monthLength_1_1	movx @dptr,a00109$:;	time.c 159	mov	dptr,#_gmtime_monthLength_1_1	movx	a,@dptr	mov	r3,a	mov	dptr,#_gmtime_epoch_1_1	movx	a,@dptr	mov	r4,a	inc	dptr	movx	a,@dptr	mov	r5,a	inc	dptr	movx	a,@dptr	mov	r6,a	inc	dptr	movx	a,@dptr	mov	r7,a	mov	_gmtime_sloc2_1_0,r3	mov	(_gmtime_sloc2_1_0 + 1),#0x00	mov	(_gmtime_sloc2_1_0 + 2),#0x00	mov	(_gmtime_sloc2_1_0 + 3),#0x00	clr	c	mov	a,r4	subb	a,_gmtime_sloc2_1_0	mov	a,r5	subb	a,(_gmtime_sloc2_1_0 + 1)	mov	a,r6	subb	a,(_gmtime_sloc2_1_0 + 2)	mov	a,r7	subb	a,(_gmtime_sloc2_1_0 + 3); Peephole 132   changed ljmp to sjmp; Peephole 160   removed sjmp by inverse jump logic	jc   00116$00143$:;	time.c 160	mov	dptr,#_gmtime_epoch_1_1	clr	c	mov	a,r4	subb	a,_gmtime_sloc2_1_0	movx	@dptr,a	mov	a,r5	subb	a,(_gmtime_sloc2_1_0 + 1)	inc	dptr	movx	@dptr,a	mov	a,r6	subb	a,(_gmtime_sloc2_1_0 + 2)	inc	dptr	movx	@dptr,a	mov	a,r7	subb	a,(_gmtime_sloc2_1_0 + 3)	inc	dptr	movx	@dptr,a;	time.c 148	inc	r2	ljmp	00113$00116$:;	time.c 165	mov	dptr,#(_lastTime + 0x0004)	mov	a,r2	movx	@dptr,a;	time.c 166	mov	dptr,#_gmtime_epoch_1_1	movx	a,@dptr	mov	r2,a	inc	dptr	movx	a,@dptr	mov	r3,a	inc	dptr	movx	a,@dptr	mov	r4,a	inc	dptr	movx	a,@dptr	mov	r5,a	inc	r2	cjne	r2,#0x00,00144$	inc	r3	cjne	r3,#0x00,00144$	inc	r4	cjne	r4,#0x00,00144$	inc	r500144$:	mov	dptr,#(_lastTime + 0x0003)	mov	a,r2	movx	@dptr,a;	time.c 168	mov	dptr,#(_lastTime + 0x000a); Peephole 180   changed mov to clr	clr  a	movx	@dptr,a;	time.c 170	mov	r2,#_lastTime	mov	r3,#(_lastTime >> 8)	mov	r4,#0x01	mov	dpl,r2	mov	dph,r3	mov	b,r400117$:	ret;------------------------------------------------------------;Allocation info for local variables in function 'mktime';------------------------------------------------------------;sloc0                     Allocated to in memory with name '_mktime_sloc0_1_0';sloc1                     Allocated to in memory with name '_mktime_sloc1_1_0';sloc2                     Allocated to in memory with name '_mktime_sloc2_1_0';sloc3                     Allocated to in memory with name '_mktime_sloc3_1_0';sloc4                     Allocated to in memory with name '_mktime_sloc4_1_0';timeptr                   Allocated to in memory with name '_mktime_timeptr_1_1';year                      Allocated to in memory with name '_mktime_year_1_1';month                     Allocated to in memory with name '_mktime_month_1_1';i                         Allocated to in memory with name '_mktime_i_1_1';seconds                   Allocated to in memory with name '_mktime_seconds_1_1';	time.c 174;	-----------------------------------------;	 function mktime;	-----------------------------------------_mktime:;	time.c 0	push	b	push	dph	push	dpl	mov	dptr,#_mktime_timeptr_1_1	pop	acc	movx	@dptr,a	pop	acc	inc	dptr	movx	@dptr,a	pop	acc	inc	dptr	movx	@dptr,a;	time.c 175	mov	dptr,#_mktime_timeptr_1_1	movx	a,@dptr	mov	r2,a	inc	dptr	movx	a,@dptr	mov	r3,a	inc	dptr	movx	a,@dptr	mov	r4,a	mov	a,#0x05	add	a,r2	mov	dpl,a; Peephole 180   changed mov to clr	clr  a	addc	a,r3	mov	dph,a	mov	b,r4	lcall	__gptrget	mov	r5,a	inc	dptr	lcall	__gptrget	mov	r6,a	mov	a,#0x6C	add	a,r5	mov	r5,a	mov	a,#0x07	addc	a,r6	mov	r6,a	mov	a,#0x04	add	a,r2	mov	dpl,a; Peephole 180   changed mov to clr	clr  a	addc	a,r3	mov	dph,a	mov	b,r4	lcall	__gptrget	mov	r7,a	mov	r0,#0x00;	time.c 178	mov	dpl,r2	mov	dph,r3	mov	b,r4	push	ar5	push	ar6	push	ar7	push	ar0	lcall	_CheckTime	pop	ar0	pop	ar7	pop	ar6	pop	ar5;	time.c 181

⌨️ 快捷键说明

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