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

📄 time.asm

📁 很少见的源码公开的msc51和z80的c编译器。
💻 ASM
📖 第 1 页 / 共 3 页
字号:
;--------------------------------------------------------; File Created by SDCC : FreeWare ANSI-C Compiler; Version 2.3.0 Thu Sep 20 10:57:20 2001;--------------------------------------------------------	.module time	;--------------------------------------------------------; Public variables in this module;--------------------------------------------------------	.globl ___day	.globl ___month	.globl _RtcRead	.globl _time	.globl _asctime	.globl _ctime	.globl _localtime	.globl _gmtime	.globl _mktime;--------------------------------------------------------; special function registers;--------------------------------------------------------;--------------------------------------------------------; special function bits ;--------------------------------------------------------;--------------------------------------------------------; internal ram data;--------------------------------------------------------	.area DSEG    (DATA)_time_timeptr_1_1::	.ds 3_time_now_1_1::	.ds 12_ascTimeBuffer:	.ds 32_CheckTime_timeptr_1_1:	.ds 3_asctime_sloc0_1_0::	.ds 2_asctime_sloc1_1_0::	.ds 2_asctime_sloc2_1_0::	.ds 2_asctime_sloc3_1_0::	.ds 2_asctime_sloc4_1_0::	.ds 3_asctime_sloc5_1_0::	.ds 3_asctime_sloc6_1_0::	.ds 3_lastTime:	.ds 12_gmtime_days_1_1::	.ds 4_gmtime_sloc0_1_0::	.ds 2_gmtime_sloc1_1_0::	.ds 4_mktime_timeptr_1_1::	.ds 3_mktime_year_1_1::	.ds 2_mktime_month_1_1::	.ds 2_mktime_seconds_1_1::	.ds 4_mktime_sloc0_1_0::	.ds 4;--------------------------------------------------------; overlayable items in internal ram ;--------------------------------------------------------	.area _DUMMY	.area	OSEG    (OVR,DATA);--------------------------------------------------------; indirectly addressable internal ram data;--------------------------------------------------------	.area ISEG    (DATA);--------------------------------------------------------; bit data;--------------------------------------------------------	.area BSEG    (BIT);--------------------------------------------------------; external ram data;--------------------------------------------------------	.area XSEG    (XDATA);--------------------------------------------------------; global & static initialisations;--------------------------------------------------------	.area GSINIT  (CODE)	.area GSFINAL (CODE)	.area GSINIT  (CODE);--------------------------------------------------------; Home;--------------------------------------------------------	.area HOME	 (CODE)	.area CSEG    (CODE);--------------------------------------------------------; code;--------------------------------------------------------	.area CSEG    (CODE);------------------------------------------------------------;Allocation info for local variables in function 'RtcRead';------------------------------------------------------------;	time.c 40;	-----------------------------------------;	 function RtcRead;	-----------------------------------------_RtcRead:	ar2 = 0x02	ar3 = 0x03	ar4 = 0x04	ar5 = 0x05	ar6 = 0x06	ar7 = 0x07	ar0 = 0x00	ar1 = 0x01;	time.c 43	mov	dpl,#0x0000101$:	ret;------------------------------------------------------------;Allocation info for local variables in function 'time';------------------------------------------------------------;timeptr                   Allocated to in memory with name '_time_timeptr_1_1';now                       Allocated to in memory with name '_time_now_1_1';t                         Allocated to registers r5 r6 r7 r0 ;	time.c 48;	-----------------------------------------;	 function time;	-----------------------------------------_time:;	time.c 58	mov	_time_timeptr_1_1,dpl	mov	(_time_timeptr_1_1 + 1),dph	mov	(_time_timeptr_1_1 + 2),b;	time.c 50	mov	r5,#0xFF	mov	r6,#0xFF	mov	r7,#0xFF	mov	r0,#0xFF;	time.c 52	mov	r1,#_time_now_1_1	mov	r2,#0x00	mov	r3,#0x00	mov	dpl,r1	mov	dph,r2	mov	b,r3	push	ar2	push	ar3	push	ar5	push	ar6	push	ar7	push	ar0	push	ar1	lcall	_RtcRead	mov	r4,dpl	pop	ar1	pop	ar0	pop	ar7	pop	ar6	pop	ar5	pop	ar3	pop	ar2	mov	a,r4; Peephole 110   removed ljmp by inverse jump logic	jz  00102$00109$:;	time.c 53	mov	dpl,r1	mov	dph,r2	mov	b,r3	push	ar5	push	ar6	push	ar7	push	ar0	lcall	_mktime	mov	r2,dpl	mov	r3,dph	mov	r4,b	mov	r1,a	pop	ar0	pop	ar7	pop	ar6	pop	ar5	mov	ar5,r2	mov	ar6,r3	mov	ar7,r4	mov	ar0,r100102$:;	time.c 55	mov	a,_time_timeptr_1_1	orl	a,(_time_timeptr_1_1 + 1)	orl	a,(_time_timeptr_1_1 + 2); Peephole 110   removed ljmp by inverse jump logic	jz  00104$00110$:;	time.c 56	mov	dpl,_time_timeptr_1_1	mov	dph,(_time_timeptr_1_1 + 1)	mov	b,(_time_timeptr_1_1 + 2)	mov	a,r5	lcall	__gptrput	inc	dptr	mov	a,r6	lcall	__gptrput	inc	dptr	mov	a,r7	lcall	__gptrput	inc	dptr	mov	a,r0	lcall	__gptrput00104$:;	time.c 58	mov	dpl,r5	mov	dph,r6	mov	b,r7	mov	a,r000105$:	ret;------------------------------------------------------------;Allocation info for local variables in function 'CheckTime';------------------------------------------------------------;timeptr                   Allocated to in memory with name '_CheckTime_timeptr_1_1';	time.c 71;	-----------------------------------------;	 function CheckTime;	-----------------------------------------_CheckTime:;	time.c 0	mov	r2,dpl	mov	r3,dph	mov	r4,b;	time.c 74	mov	dpl,r2	mov	dph,r3	mov	b,r4	lcall	__gptrget	mov	r5,a	cjne	r5,#0x00,00148$00148$:; Peephole 108   removed ljmp by inverse jump logic	jnc  00104$00149$:	mov	dpl,r2	mov	dph,r3	mov	b,r4; Peephole 180   changed mov to clr	clr  a	lcall	__gptrput; Peephole 132   changed ljmp to sjmp	sjmp 00105$00104$:;	time.c 75	clr	c	mov	a,#0x3B	subb	a,r5; Peephole 108   removed ljmp by inverse jump logic	jnc  00105$00150$:	mov	dpl,r2	mov	dph,r3	mov	b,r4	mov	a,#0x3B	lcall	__gptrput00105$:;	time.c 76	mov	a,#0x01	add	a,r2	mov	r5,a; Peephole 180   changed mov to clr	clr  a	addc	a,r3	mov	r6,a	mov	ar7,r4	mov	dpl,r5	mov	dph,r6	mov	b,r7	lcall	__gptrget	mov	r0,a	cjne	r0,#0x00,00151$00151$:; Peephole 108   removed ljmp by inverse jump logic	jnc  00109$00152$:	mov	dpl,r5	mov	dph,r6	mov	b,r7; Peephole 180   changed mov to clr	clr  a	lcall	__gptrput; Peephole 132   changed ljmp to sjmp	sjmp 00110$00109$:;	time.c 77	clr	c	mov	a,#0x3B	subb	a,r0; Peephole 108   removed ljmp by inverse jump logic	jnc  00110$00153$:	mov	dpl,r5	mov	dph,r6	mov	b,r7	mov	a,#0x3B	lcall	__gptrput00110$:;	time.c 78	mov	a,#0x02	add	a,r2	mov	r5,a; Peephole 180   changed mov to clr	clr  a	addc	a,r3	mov	r6,a	mov	ar7,r4	mov	dpl,r5	mov	dph,r6	mov	b,r7	lcall	__gptrget	mov	r0,a	cjne	r0,#0x00,00154$00154$:; Peephole 108   removed ljmp by inverse jump logic	jnc  00114$00155$:	mov	dpl,r5	mov	dph,r6	mov	b,r7; Peephole 180   changed mov to clr	clr  a	lcall	__gptrput; Peephole 132   changed ljmp to sjmp	sjmp 00115$00114$:;	time.c 79	clr	c	mov	a,#0x17	subb	a,r0; Peephole 108   removed ljmp by inverse jump logic	jnc  00115$00156$:	mov	dpl,r5	mov	dph,r6	mov	b,r7	mov	a,#0x17	lcall	__gptrput00115$:;	time.c 80	mov	a,#0x07	add	a,r2	mov	r5,a; Peephole 180   changed mov to clr	clr  a	addc	a,r3	mov	r6,a	mov	ar7,r4	mov	dpl,r5	mov	dph,r6	mov	b,r7	lcall	__gptrget	mov	r0,a	cjne	r0,#0x00,00157$00157$:; Peephole 108   removed ljmp by inverse jump logic	jnc  00119$00158$:	mov	dpl,r5	mov	dph,r6	mov	b,r7; Peephole 180   changed mov to clr	clr  a	lcall	__gptrput; Peephole 132   changed ljmp to sjmp	sjmp 00120$00119$:;	time.c 81	clr	c	mov	a,#0x06	subb	a,r0; Peephole 108   removed ljmp by inverse jump logic	jnc  00120$00159$:	mov	dpl,r5	mov	dph,r6	mov	b,r7	mov	a,#0x06	lcall	__gptrput00120$:;	time.c 82	mov	a,#0x03	add	a,r2	mov	r5,a; Peephole 180   changed mov to clr	clr  a	addc	a,r3	mov	r6,a	mov	ar7,r4	mov	dpl,r5	mov	dph,r6	mov	b,r7	lcall	__gptrget	mov	r0,a	cjne	r0,#0x01,00160$00160$:; Peephole 108   removed ljmp by inverse jump logic	jnc  00124$00161$:	mov	dpl,r5	mov	dph,r6	mov	b,r7	mov	a,#0x01	lcall	__gptrput; Peephole 132   changed ljmp to sjmp	sjmp 00125$00124$:;	time.c 83	clr	c	mov	a,#0x1F	subb	a,r0; Peephole 108   removed ljmp by inverse jump logic	jnc  00125$00162$:	mov	dpl,r5	mov	dph,r6	mov	b,r7	mov	a,#0x1F	lcall	__gptrput00125$:;	time.c 84	mov	a,#0x04	add	a,r2	mov	r5,a; Peephole 180   changed mov to clr	clr  a	addc	a,r3	mov	r6,a	mov	ar7,r4	mov	dpl,r5	mov	dph,r6	mov	b,r7	lcall	__gptrget	mov	r0,a	cjne	r0,#0x00,00163$00163$:; Peephole 108   removed ljmp by inverse jump logic	jnc  00129$00164$:	mov	dpl,r5	mov	dph,r6	mov	b,r7; Peephole 180   changed mov to clr	clr  a	lcall	__gptrput; Peephole 132   changed ljmp to sjmp	sjmp 00130$00129$:;	time.c 85	clr	c	mov	a,#0x0B	subb	a,r0; Peephole 108   removed ljmp by inverse jump logic	jnc  00130$00165$:	mov	dpl,r5	mov	dph,r6	mov	b,r7	mov	a,#0x0B	lcall	__gptrput00130$:;	time.c 86	mov	a,#0x05	add	a,r2	mov	r2,a; Peephole 180   changed mov to clr	clr  a	addc	a,r3	mov	r3,a	mov	dpl,r2	mov	dph,r3	mov	b,r4	lcall	__gptrget	mov	r5,a	inc	dptr	lcall	__gptrget; Peephole 105   removed redundant mov	mov  r6,a; Peephole 111   removed ljmp by inverse jump logic	jnb  acc.7,00133$00166$:	mov	dpl,r2	mov	dph,r3	mov	b,r4; Peephole 180   changed mov to clr	clr  a	lcall	__gptrput	inc	dptr; Peephole 180   changed mov to clr	clr  a	lcall	__gptrput00133$:	ret;------------------------------------------------------------;Allocation info for local variables in function 'asctime';------------------------------------------------------------;timeptr                   Allocated to registers r2 r3 r4 ;sloc0                     Allocated to in memory with name '_asctime_sloc0_1_0';sloc1                     Allocated to in memory with name '_asctime_sloc1_1_0';sloc2                     Allocated to in memory with name '_asctime_sloc2_1_0';sloc3                     Allocated to in memory with name '_asctime_sloc3_1_0';sloc4                     Allocated to in memory with name '_asctime_sloc4_1_0';sloc5                     Allocated to in memory with name '_asctime_sloc5_1_0';sloc6                     Allocated to in memory with name '_asctime_sloc6_1_0';	time.c 90;	-----------------------------------------;	 function asctime;	-----------------------------------------_asctime:;	time.c 0	mov	r2,dpl	mov	r3,dph	mov	r4,b;	time.c 91	mov	dpl,r2	mov	dph,r3	mov	b,r4	push	ar2	push	ar3	push	ar4	lcall	_CheckTime	pop	ar4	pop	ar3	pop	ar2;	time.c 95	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;	time.c 94	mov	dpl,r2	mov	dph,r3	mov	b,r4	lcall	__gptrget	mov	r7,a	mov	r0,#0x00	mov	a,#0x01	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	r1,a	mov	_asctime_sloc0_1_0,r1	mov	(_asctime_sloc0_1_0 + 1),#0x00	mov	a,#0x02	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	r1,a	mov	_asctime_sloc1_1_0,r1	mov	(_asctime_sloc1_1_0 + 1),#0x00;	time.c 93	mov	a,#0x03	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	r1,a	mov	_asctime_sloc2_1_0,r1	mov	(_asctime_sloc2_1_0 + 1),#0x00	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	r1,a	mov	b,#0x02	mov	a,r1	mul	ab	mov	_asctime_sloc3_1_0,a	mov	(_asctime_sloc3_1_0 + 1),b	mov	a,_asctime_sloc3_1_0	add	a,#___month	mov	dpl,a	mov	a,(_asctime_sloc3_1_0 + 1)	addc	a,#(___month >> 8)	mov	dph,a	clr	a	movc	a,@a+dptr	mov	_asctime_sloc3_1_0,a	inc	dptr	clr	a	movc	a,@a+dptr	mov	(_asctime_sloc3_1_0 + 1),a	mov	_asctime_sloc4_1_0,_asctime_sloc3_1_0

⌨️ 快捷键说明

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