time.asm

来自「很少见的源码公开的msc51和z80的c编译器。」· 汇编 代码 · 共 3,690 行 · 第 1/4 页

ASM
3,690
字号
;	genCmpLt ;	genCmp; Peephole 105   removed redundant mov	mov  r7,a;	genIfxJump ; Peephole 111   removed ljmp by inverse jump logic	jnb  acc.7,00133$00166$:;	genPointerSet 	mov	dpl,r2	mov	dph,r3	mov	dpx,r4	mov	b,r5; Peephole 180   changed mov to clr	clr  a	lcall	__gptrput	inc	dptr; Peephole 180   changed mov to clr	clr  a	lcall	__gptrput;	genLabel 00133$:;	genEndFunction 	ret;	time.c 90;	genFunction ;	-----------------------------------------;	 function asctime;	-----------------------------------------_asctime:;	time.c 0;	genReceive 	mov	r2,dpl	mov	r3,dph	mov	r4,dpx	mov	r5,b;	time.c 91;	genCall 	push	ar2	push	ar3	push	ar4	push	ar5	mov	dpl,r2	mov	dph,r3	mov	dpx,r4	mov	b,r5	lcall	_CheckTime	pop	ar5	pop	ar4	pop	ar3	pop	ar2;	time.c 95;	genPlus 	mov	a,#0x05	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	mov	ar1,r5;	genPointerGet ;	genGenPointerGet 	mov	dpl,r6	mov	dph,r7	mov	dpx,r0	mov	b,r1	lcall	__gptrget	mov	r6,a	inc	dptr	lcall	__gptrget	mov	r7,a;	genPlus 	mov	a,#0x6C	add	a,r6	mov	r6,a	mov	a,#0x07	addc	a,r7	mov	r7,a;	time.c 94;	genPointerGet ;	genGenPointerGet 	mov	dpl,r2	mov	dph,r3	mov	dpx,r4	mov	b,r5	lcall	__gptrget	mov	r0,a;	genCast 	mov	r1,#0x00;	genPlus 	mov	dptr,#_asctime_sloc0_1_0	mov	a,#0x01	add	a,r2	movx	@dptr,a; Peephole 180   changed mov to clr	clr  a	addc	a,r3	inc	dptr	movx	@dptr,a; Peephole 180   changed mov to clr	clr  a	addc	a,r4	inc	dptr	movx	@dptr,a	inc	dptr	mov	a,r5	movx	@dptr,a;	genPointerGet ;	genGenPointerGet 	mov     dps, #0x01	mov     dptr, #_asctime_sloc0_1_0	movx	a,@dptr	dec	dps	mov	dpl,a	inc	dps	inc	dptr	movx	a,@dptr	dec	dps	mov	dph,a	inc	dps	inc	dptr	movx	a,@dptr	dec	dps	mov	dpx,a	inc	dps	inc	dptr	movx	a,@dptr	mov	b,a; Peephole 220a removed bogus DPS set	mov	dps, #0x01	mov	dptr, #_asctime_sloc1_1_0	dec	dps	lcall	__gptrget	mov	dps, #0x01	movx	@dptr,a;	genCast 	mov	dps, #0x01	mov	dptr, #_asctime_sloc0_1_0	dec	dps	mov	dptr, #_asctime_sloc1_1_0; Peephole 224: DPS usage re-arranged.	movx	a,@dptr	inc	dps	movx	@dptr,a; Peephole 220a removed bogus DPS set	mov     dps, #0x01	inc	dptr; Peephole 180   changed mov to clr	clr  a	movx	@dptr,a	mov	dps, #0x00;	genPlus 	mov	dptr,#_asctime_sloc2_1_0	mov	a,#0x02	add	a,r2	movx	@dptr,a; Peephole 180   changed mov to clr	clr  a	addc	a,r3	inc	dptr	movx	@dptr,a; Peephole 180   changed mov to clr	clr  a	addc	a,r4	inc	dptr	movx	@dptr,a	inc	dptr	mov	a,r5	movx	@dptr,a;	genPointerGet ;	genGenPointerGet 	mov     dps, #0x01	mov     dptr, #_asctime_sloc2_1_0	movx	a,@dptr	dec	dps	mov	dpl,a	inc	dps	inc	dptr	movx	a,@dptr	dec	dps	mov	dph,a	inc	dps	inc	dptr	movx	a,@dptr	dec	dps	mov	dpx,a	inc	dps	inc	dptr	movx	a,@dptr	mov	b,a; Peephole 220a removed bogus DPS set	mov	dps, #0x01	mov	dptr, #_asctime_sloc1_1_0	dec	dps	lcall	__gptrget	mov	dps, #0x01	movx	@dptr,a;	genCast 	mov	dps, #0x01	mov	dptr, #_asctime_sloc2_1_0	dec	dps	mov	dptr, #_asctime_sloc1_1_0; Peephole 224: DPS usage re-arranged.	movx	a,@dptr	inc	dps	movx	@dptr,a; Peephole 220a removed bogus DPS set	mov     dps, #0x01	inc	dptr; Peephole 180   changed mov to clr	clr  a	movx	@dptr,a	mov	dps, #0x00;	time.c 93;	genPlus 	mov	dptr,#_asctime_sloc3_1_0	mov	a,#0x03	add	a,r2	movx	@dptr,a; Peephole 180   changed mov to clr	clr  a	addc	a,r3	inc	dptr	movx	@dptr,a; Peephole 180   changed mov to clr	clr  a	addc	a,r4	inc	dptr	movx	@dptr,a	inc	dptr	mov	a,r5	movx	@dptr,a;	genPointerGet ;	genGenPointerGet 	mov     dps, #0x01	mov     dptr, #_asctime_sloc3_1_0	movx	a,@dptr	dec	dps	mov	dpl,a	inc	dps	inc	dptr	movx	a,@dptr	dec	dps	mov	dph,a	inc	dps	inc	dptr	movx	a,@dptr	dec	dps	mov	dpx,a	inc	dps	inc	dptr	movx	a,@dptr	mov	b,a; Peephole 220a removed bogus DPS set	mov	dps, #0x01	mov	dptr, #_asctime_sloc1_1_0	dec	dps	lcall	__gptrget	mov	dps, #0x01	movx	@dptr,a;	genCast 	mov	dps, #0x01	mov	dptr, #_asctime_sloc3_1_0	dec	dps	mov	dptr, #_asctime_sloc1_1_0; Peephole 224: DPS usage re-arranged.	movx	a,@dptr	inc	dps	movx	@dptr,a; Peephole 220a removed bogus DPS set	mov     dps, #0x01	inc	dptr; Peephole 180   changed mov to clr	clr  a	movx	@dptr,a	mov	dps, #0x00;	genPlus 	mov	dptr,#_asctime_sloc4_1_0	mov	a,#0x04	add	a,r2	movx	@dptr,a; Peephole 180   changed mov to clr	clr  a	addc	a,r3	inc	dptr	movx	@dptr,a; Peephole 180   changed mov to clr	clr  a	addc	a,r4	inc	dptr	movx	@dptr,a	inc	dptr	mov	a,r5	movx	@dptr,a;	genPointerGet ;	genGenPointerGet 	mov     dps, #0x01	mov     dptr, #_asctime_sloc4_1_0	movx	a,@dptr	dec	dps	mov	dpl,a	inc	dps	inc	dptr	movx	a,@dptr	dec	dps	mov	dph,a	inc	dps	inc	dptr	movx	a,@dptr	dec	dps	mov	dpx,a	inc	dps	inc	dptr	movx	a,@dptr	mov	b,a; Peephole 220a removed bogus DPS set	mov	dps, #0x01	mov	dptr, #_asctime_sloc1_1_0	dec	dps	lcall	__gptrget	mov	dps, #0x01	movx	@dptr,a;	genMult 	mov	dps, #0x01	mov	dptr, #_asctime_sloc4_1_0	dec	dps	mov	dptr, #_asctime_sloc1_1_0; Peephole 224: DPS usage re-arranged.	mov	b,#0x03	movx	a,@dptr	mul	ab	mov	dps, #0x01	movx	@dptr,a; Peephole 220a removed bogus DPS set	mov     dps, #0x01	inc	dptr	mov	a,b	movx	@dptr,a;	genPlus 	mov	dps, #0x01	mov	dptr, #_asctime_sloc5_1_0	dec	dps	mov	dptr, #_asctime_sloc4_1_0; Peephole 224: DPS usage re-arranged.	movx	a,@dptr	add	a,#___month	inc	dps	movx	@dptr,a	dec	dps	inc	dptr	movx	a,@dptr	addc	a,#(___month >> 8)	inc	dps	inc	dptr	movx	@dptr,a; Peephole 180   changed mov to clr	clr  a	addc	a,#(___month >> 16)	inc	dptr	movx	@dptr,a	mov	dps, #0x00;	genPointerGet 	mov	dptr,#_asctime_sloc5_1_0;	gencodePointerGet -- indirection special case.	movx	a,@dptr	push	acc	inc	dptr	movx	a,@dptr	push	acc	inc	dptr	movx	a,@dptr	mov	dpx,a	pop	dph	pop	dpl	mov	dps, #0x01	mov	dptr,#_asctime_sloc4_1_0; Peephole 3.b   changed mov to clr	clr  a	mov  dps,a	movc	a,@a+dptr	inc	dptr	inc	dps	movx	@dptr,a	dec	dps	clr	a	movc	a,@a+dptr	inc	dptr	inc	dps	inc	dptr	movx	@dptr,a	dec	dps	clr	a	movc	a,@a+dptr	inc	dps	inc	dptr	movx	@dptr,a;	genCast 	mov	dps, #0x01	mov	dptr, #_asctime_sloc6_1_0	dec	dps	mov	dptr, #_asctime_sloc4_1_0; Peephole 224: DPS usage re-arranged.	movx	a,@dptr	inc	dps	movx	@dptr,a	dec	dps	inc	dptr	movx	a,@dptr	inc	dps	inc	dptr	movx	@dptr,a	dec	dps	inc	dptr	movx	a,@dptr	inc	dps	inc	dptr	movx	@dptr,a; Peephole 220a removed bogus DPS set	mov     dps, #0x01	inc	dptr	mov	a,#0x02	movx	@dptr,a	mov	dps, #0x00;	genPlus 	mov	a,#0x07	add	a,r2	mov	r2,a; Peephole 180   changed mov to clr	clr  a	addc	a,r3	mov	r3,a; Peephole 180   changed mov to clr	clr  a	addc	a,r4	mov	r4,a;	genPointerGet ;	genGenPointerGet 	mov	dpl,r2	mov	dph,r3	mov	dpx,r4	mov	b,r5	lcall	__gptrget	mov	r2,a;	genMult 	mov	b,#0x03	mov	a,r2	mul	ab	mov	r2,a	mov	r3,b;	genPlus 	mov	a,r2	add	a,#___day	mov	r2,a	mov	a,r3	addc	a,#(___day >> 8)	mov	r3,a; Peephole 180   changed mov to clr	clr  a	addc	a,#(___day >> 16)	mov	r4,a;	genPointerGet 	mov	dpl,r2	mov	dph,r3	mov	dpx,r4	clr	a	movc	a,@a+dptr	inc	dptr	mov	r2,a	clr	a	movc	a,@a+dptr	inc	dptr	mov	r3,a	clr	a	movc	a,@a+dptr	mov	r4,a;	genCast 	mov	r5,#0x02;	time.c 92;	genCast 	mov	dptr,#_asctime_sloc4_1_0	mov	a,#__str_0	movx	@dptr,a	inc	dptr	mov	a,#(__str_0 >> 8)	movx	@dptr,a	inc	dptr	mov	a,#(__str_0 >> 16)	movx	@dptr,a	inc	dptr	mov	a,#0x02	movx	@dptr,a;	genCast 	mov	dptr,#_asctime_sloc7_1_0	mov	a,#_ascTimeBuffer	movx	@dptr,a	inc	dptr	mov	a,#(_ascTimeBuffer >> 8)	movx	@dptr,a	inc	dptr	mov	a,#(_ascTimeBuffer >> 16)	movx	@dptr,a	inc	dptr	mov	a,#0x01	movx	@dptr,a;	genIpush 	push	ar6	push	ar7;	genIpush 	push	ar0	push	ar1;	genIpush 	mov	dptr,#_asctime_sloc0_1_0	movx	a,@dptr;  Peephole 100.a   removed redundant mov	push	acc	inc	dptr	movx	a,@dptr;  Peephole 100.a   removed redundant mov	push	acc;	genIpush 	mov	dptr,#_asctime_sloc2_1_0	movx	a,@dptr;  Peephole 100.a   removed redundant mov	push	acc	inc	dptr	movx	a,@dptr;  Peephole 100.a   removed redundant mov	push	acc;	genIpush 	mov	dptr,#_asctime_sloc3_1_0	movx	a,@dptr;  Peephole 100.a   removed redundant mov	push	acc	inc	dptr	movx	a,@dptr;  Peephole 100.a   removed redundant mov	push	acc;	genIpush 	mov	dptr,#_asctime_sloc6_1_0	movx	a,@dptr;  Peephole 100.a   removed redundant mov	push	acc	inc	dptr	movx	a,@dptr;  Peephole 100.a   removed redundant mov	push	acc	inc	dptr	movx	a,@dptr;  Peephole 100.a   removed redundant mov	push	acc	inc	dptr	movx	a,@dptr;  Peephole 100.a   removed redundant mov	push	acc;	genIpush 	push	ar2	push	ar3	push	ar4	push	ar5;	genIpush 	mov	dptr,#_asctime_sloc4_1_0	movx	a,@dptr;  Peephole 100.a   removed redundant mov	push	acc	inc	dptr	movx	a,@dptr;  Peephole 100.a   removed redundant mov	push	acc	inc	dptr	movx	a,@dptr;  Peephole 100.a   removed redundant mov	push	acc	inc	dptr	movx	a,@dptr;  Peephole 100.a   removed redundant mov	push	acc;	genIpush 	mov	dptr,#_asctime_sloc7_1_0	movx	a,@dptr;  Peephole 100.a   removed redundant mov	push	acc	inc	dptr	movx	a,@dptr;  Peephole 100.a   removed redundant mov	push	acc	inc	dptr	movx	a,@dptr;  Peephole 100.a   removed redundant mov	push	acc	inc	dptr	movx	a,@dptr;  Peephole 100.a   removed redundant mov	push	acc;	genCall 	lcall	_sprintf	mov	a,sp	add	a,#0xe6	mov	sp,a;	time.c 96;	genRet 	mov     dps, #0x01	mov     dptr, #_asctime_sloc7_1_0	movx	a,@dptr	mov	dpl,a	inc	dptr	movx	a,@dptr	mov	dph,a	inc	dptr	movx	a,@dptr	mov	dpx,a	inc	dptr	movx	a,@dptr	mov	b,a	mov	dps, #0x00;	genLabel 00101$:;	genEndFunction 	ret;	time.c 99;	genFunction ;	-----------------------------------------;	 function ctime;	-----------------------------------------_ctime:;	time.c 100;	genReceive 	mov	r2,dpl	mov	r3,dph	mov	r4,dpx	mov	r5,b;	genCall 	mov	dpl,r2	mov	dph,r3	mov	dpx,r4	mov	b,r5	lcall	_localtime	mov	r2,dpl	mov	r3,dph	mov	r4,dpx	mov	r5,b;	genCall 	mov	dpl,r2	mov	dph,r3	mov	dpx,r4	mov	b,r5	lcall	_asctime	mov	r2,dpl	mov	r3,dph	mov	r4,dpx	mov	r5,b;	genRet 	mov	dpl,r2	mov	dph,r3	mov	dpx,r4	mov	b,r5;	genLabel 00101$:;	genEndFunction 	ret;	time.c 116;	genFunction ;	-----------------------------------------;	 function localtime;	-----------------------------------------_localtime:;	time.c 117;	genReceive 	mov	r2,dpl	mov	r3,dph	mov	r4,dpx	mov	r5,b;	genCall 	mov	dpl,r2	mov	dph,r3	mov	dpx,r4	mov	b,r5	lcall	_gmtime	mov	r2,dpl	mov	r3,dph	mov	r4,dpx	mov	r5,b;	genRet 	mov	dpl,r2	mov	dph,r3	mov	dpx,r4	mov	b,r5;	genLabel 00101$:;	genEndFunction 	ret;	time.c 120;	genFunction ;	-----------------------------------------;	 function gmtime;	-----------------------------------------_gmtime:;	time.c 0;	genReceive 	mov	r2,dpl	mov	r3,dph	mov	r4,dpx	mov	r5,b;	time.c 121;	genPointerGet ;	genGenPointerGet 	mov	dpl,r2	mov	dph,r3	mov	dpx,r4	mov	b,r5	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;	genAssign ;	genAssign: resultIsFar = TRUE;	time.c 126;	genAssign ;	genAssign: resultIsFar = TRUE	mov	dptr,#__modulong_PARM_2	mov	a,#0x3C	movx	@dptr,a	clr	a	inc	dptr	movx	@dptr,a	inc	dptr	movx	@dptr,a	inc	dptr	movx	@dptr,a;	genCall 	push	ar2	push	ar3	push	ar4	push	ar5	mov	dpl,r2	mov	dph,r3	mov	dpx,r4	mov	b,r5	lcall	__modulong	mov	r6,dpl	mov	r7,dph	mov	r0,dpx	mov	r1,b	pop	ar5	pop	ar4	pop	ar3	pop	ar2;	genCast ;	genPointerSet 	mov	dptr,#_lastTime	mov	a,r6	movx	@dptr,a;	time.c 127;	genAssign ;	genAssign: resultIsFar = TRUE	mov	dptr,#__divulong_PARM_2	mov	a,#0x3C	movx	@dptr,a	clr	a	inc	dptr	movx	@dptr,a	inc	dptr	movx	@dptr,a	inc	dptr	movx	@dptr,a;	genCall 	push	ar2	push	ar3	push	ar4	push	ar5	mov	dpl,r2	mov	dph,r3	mov	dpx,r4	mov	b,r5	lcall	__divulong	mov	r6,dpl	mov	r7,dph	mov	r0,dpx	mov	r1,b	pop	ar5	pop	ar4	pop	ar3	pop	ar2;	genAssign ;	genAssign: resultIsFar = TRUE	mov	ar2,r6	mov	ar3,r7	mov	ar4,r0	mov	ar5,r1;	time.c 128;	genAssign ;	genAssign: resultIsFar = TRUE	mov	dptr,#__modulong_PARM_2	mov	a,#0x3C	movx	@dptr,a	clr	a	inc	dptr	movx	@dptr,a	inc	dptr	movx	@dptr,a	inc	dptr	movx	@dptr,a;	genCall 	push	ar2	push	ar3	push	ar4	push	ar5	mov	dpl,r2	mov	dph,r3	mov	dpx,r4	mov	b,r5	lcall	__modulong	mov	r6,dpl	mov	r7,dph	mov	r0,dpx	mov	r1,b	pop	ar5	pop	ar4	pop	ar3	pop	ar2;	genCast ;	genPointerSet 	mov	dptr,#(_lastTime + 0x0001)	mov	a,r6	movx	@dptr,a;	time.c 129;	genAssign ;	genAssign: resultIsFar = TRUE	mov	dptr,#__divulong_PARM_2	mov	a,#0x3C	movx	@dptr,a	clr	a	inc	dptr	movx	@dptr,a	inc	dptr	movx	@dptr,a	inc	dptr	movx	@dptr,a;	genCall 	push	ar2	push	ar3	push	ar4	push	ar5	mov	dpl,r2	mov	dph,r3	mov	dpx,r4	mov	b,r5	lcall	__divulong	mov	r6,dpl	mov	r7,dph	mov	r0,dpx	mov	r1,b	pop	ar5	pop	ar4	pop	ar3	pop	ar2;	genAssign ;	genAssign: resultIsFar = TRUE	mov	ar2,r6	mov	ar3,r7	mov	ar4,r0	mov	ar5,r1;	time.c 130;	genAssign ;	genAssign: resultIsFar = TRUE	mov	dptr,#__modulong_PARM_2	mov	a,#0x18	movx	@dptr,a	clr	a	inc	dptr	movx	@dptr,a	inc	dptr	movx	@dptr,a	inc	dptr	movx	@dptr,a;	genCall 	push	ar2	push	ar3	push	ar4	push	ar5	mov	dpl,r2	mov	dph,r3	mov	dpx,r4	mov	b,r5	lcall	__modulong	mov	r6,dpl	mov	r7,dph	mov	r0,dpx	mov	r1,b	pop	ar5	pop	ar4	pop	ar3	pop	ar2;	genCast ;	genPointerSet 	mov	dptr,#(_lastTime + 0x0002)	mov	a,r6	movx	@dptr,a;	time.c 131;	genAssign ;	genAssign: resultIsFar = TRUE	mov	dptr,#__divulong_PARM_2	mov	a,#0x18	movx	@dptr,a	clr	a	inc	dptr	movx	@dptr,a	inc	dptr	movx	@dptr,a	inc	dptr	movx	@dptr,a;	genCall 

⌨️ 快捷键说明

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