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

📄 ser_ir.asm

📁 很少见的源码公开的msc51和z80的c编译器。
💻 ASM
📖 第 1 页 / 共 2 页
字号:
;	genReceive 	mov	r2,dpl;	ser_ir.c 83;	genLabel 00101$:;	genCmpLt 	mov	dptr,#_xcnt;	genCmp	movx	a,@dptr	cjne	a,#0x0A,00112$00112$:;	genIfxJump ; Peephole 108   removed ljmp by inverse jump logic	jnc  00101$00113$:;	ser_ir.c 85;	genAssign ;	genAssign: resultIsFar = FALSE	clr	_ES;	ser_ir.c 86;	genIfx 	mov	dptr,#_busy	movx	a,@dptr;	genIfxJump ; Peephole 110   removed ljmp by inverse jump logic	jz  00105$00114$:;	ser_ir.c 87;	genAssign 	mov	dptr,#_xcnt;	genAssign: resultIsFar = FALSE	movx	a,@dptr	mov	r3,a;	genPlus 	mov	dptr,#_xcnt	mov	a,#0x01	add	a,r3	movx	@dptr,a;	genPlus 	mov	dptr,#_xpos;	Swapped plus args.	movx	a,@dptr	add	a,r3;	genMod ;	DS80C390 div bug: rearranged ops.; Peephole 105   removed redundant mov	mov  r3,a	mov	b,#0x0A	div	ab	mov	r3,b;	genPlus 	mov	a,r3	add	a,#_xbuf	mov	r3,a; Peephole 180   changed mov to clr	clr  a	addc	a,#(_xbuf >> 8)	mov	r4,a; Peephole 180   changed mov to clr	clr  a	addc	a,#(_xbuf >> 16)	mov	r5,a;	genPointerSet 	mov	dpl,r3	mov	dph,r4	mov	dpx,r5	mov	a,r2	movx	@dptr,a;	genGoto ;	genLabel ; Peephole 132   changed ljmp to sjmp	sjmp 00106$00105$:;	ser_ir.c 89;	genAssign ;	genAssign: resultIsFar = FALSE	mov	_SBUF,r2;	ser_ir.c 90;	genAssign ;	genAssign: resultIsFar = TRUE	mov	dptr,#_busy	mov	a,#0x01	movx	@dptr,a;	genLabel 00106$:;	ser_ir.c 92;	genAssign ;	genAssign: resultIsFar = FALSE	setb	_ES;	genLabel 00107$:;	genEndFunction 	ret;	ser_ir.c 95;	genFunction ;	-----------------------------------------;	 function ser_getc;	-----------------------------------------_ser_getc:;	ser_ir.c 98;	genLabel 00101$:;	genIfx 	mov	dptr,#_rcnt	movx	a,@dptr;	genIfxJump ; Peephole 110   removed ljmp by inverse jump logic	jz  00101$00111$:;	ser_ir.c 100;	genAssign ;	genAssign: resultIsFar = FALSE	clr	_ES;	ser_ir.c 101;	genAssign 	mov	dptr,#_rcnt;	genAssign: resultIsFar = FALSE	movx	a,@dptr;	genMinus ; Peephole 105   removed redundant mov	mov  r2,a	dec	a;	genAssign ;	genAssign: resultIsFar = TRUE	mov	dptr,#_rcnt	movx	@dptr,a;	ser_ir.c 102;	genAssign 	mov	dptr,#_rpos;	genAssign: resultIsFar = FALSE	movx	a,@dptr;	genPlus ; Peephole 214 reduced some extra movs	mov  r2,a	add  a,#0x01	;	genAssign ;	genAssign: resultIsFar = TRUE; Peephole 100   removed redundant mov	mov  r3,a	mov  dptr,#_rpos	movx @dptr,a;	genPlus 	mov	a,r2	add	a,#_rbuf	mov	r2,a; Peephole 180   changed mov to clr	clr  a	addc	a,#(_rbuf >> 8)	mov	r4,a; Peephole 180   changed mov to clr	clr  a	addc	a,#(_rbuf >> 16)	mov	r5,a;	genPointerGet ;	genFarPointerGet	mov	dpl,r2	mov	dph,r4	mov	dpx,r5	movx	a,@dptr	mov	r2,a;	genAssign ;	genAssign: resultIsFar = TRUE;	ser_ir.c 103;	genCmpLt ;	genCmp	cjne	r3,#0x0A,00112$00112$:;	genIfxJump ; Peephole 132   changed ljmp to sjmp; Peephole 160   removed sjmp by inverse jump logic	jc   00105$00113$:;	ser_ir.c 104;	genAssign ;	genAssign: resultIsFar = TRUE	mov	dptr,#_rpos; Peephole 180   changed mov to clr	clr  a	movx	@dptr,a;	genLabel 00105$:;	ser_ir.c 105;	genAssign ;	genAssign: resultIsFar = FALSE	setb	_ES;	ser_ir.c 106;	genRet 	mov	dpl,r2;	genLabel 00106$:;	genEndFunction 	ret;	ser_ir.c 110;	genFunction ;	-----------------------------------------;	 function ser_puts;	-----------------------------------------_ser_puts:;	ser_ir.c 0;	genReceive 	mov	r2,dpl	mov	r3,dph	mov	r4,dpx	mov	r5,b;	ser_ir.c 113;	genLabel 00103$:;	genPointerGet ;	genGenPointerGet 	mov	dpl,r2	mov	dph,r3	mov	dpx,r4	mov	b,r5	lcall	__gptrget	mov	r6,a;	genPlus 	inc	r2	cjne	r2,#0x00,00111$	inc	r3	cjne	r3,#0x00,00111$	inc	r400111$:;	did genPlusIncr;	genAssign ;	genAssign: resultIsFar = TRUE	mov	ar7,r6;	genIfx 	mov	a,r6;	genIfxJump ; Peephole 110   removed ljmp by inverse jump logic	jz  00106$00112$:;	ser_ir.c 114;	genCmpEq ;	gencjneshort	mov	a,r7; Peephole 132   changed ljmp to sjmp; Peephole 199   optimized misc jump sequence	cjne a,#0x0A,00102$;00113$:; Peephole 200   removed redundant sjmp00114$:;	genCall 	push	ar2	push	ar3	push	ar4	push	ar5	push	ar7	mov	dpl,#0x0D	lcall	_ser_putc	pop	ar7	pop	ar5	pop	ar4	pop	ar3	pop	ar2;	genLabel 00102$:;	ser_ir.c 115;	genCall 	push	ar2	push	ar3	push	ar4	push	ar5	mov	dpl,r7	lcall	_ser_putc	pop	ar5	pop	ar4	pop	ar3	pop	ar2;	genGoto ;	genLabel ; Peephole 132   changed ljmp to sjmp	sjmp 00103$00106$:;	genEndFunction 	ret;	ser_ir.c 119;	genFunction ;	-----------------------------------------;	 function ser_gets;	-----------------------------------------_ser_gets:;	ser_ir.c 130;	genReceive 	mov	r2,dpl	mov	r3,dph	mov	r4,dpx	mov	r5,b;	ser_ir.c 124;	genAssign ;	genAssign: resultIsFar = TRUE	mov	dptr,#_ser_gets_pos_1_1; Peephole 180   changed mov to clr	clr  a	movx	@dptr,a;	genLabel 00105$:;	genCmpGt 	mov	dptr,#_ser_gets_PARM_2	mov	dps, #0x01	mov	dptr, #_ser_gets_pos_1_1	dec	dps;	genCmp	clr	c;	genCmp #1: 0/0/0	movx	a,@dptr;	genCmp #2;	genCmp #4;	genCmp #4.1	xch	a, b	mov	dps, #0x01	movx	a,@dptr	mov	dps, #0x00	xch	a, b	subb	a,b;	genIfxJump 	jnc	00113$	ljmp	00107$00113$:;	ser_ir.c 125;	genCall 	push	ar2	push	ar3	push	ar4	push	ar5	lcall	_ser_getc	mov	r7,dpl	pop	ar5	pop	ar4	pop	ar3	pop	ar2;	genAssign ;	genAssign: resultIsFar = TRUE	mov	dptr,#_ser_gets_c_1_1	mov	a,r7	movx	@dptr,a;	ser_ir.c 126;	genCmpEq 	mov	dptr,#_ser_gets_c_1_1;	gencjneshort	movx	a,@dptr	cjne	a,#0x0D,00114$; Peephole 132   changed ljmp to sjmp	sjmp 00105$00114$:;	ser_ir.c 127;	genAssign 	mov	dptr,#_ser_gets_pos_1_1;	genAssign: resultIsFar = FALSE	movx	a,@dptr	mov	r0,a;	genPlus 	mov	dptr,#_ser_gets_pos_1_1;	Swapped plus args.	movx	a,@dptr	add	a,#0x01	movx	@dptr,a;	genPlus 	mov	a,r0	add	a,r2	mov	r0,a; Peephole 180   changed mov to clr	clr  a	addc	a,r3	mov	r1,a; Peephole 180   changed mov to clr	clr  a	addc	a,r4	mov	r7,a	mov	ar6,r5;	genPointerSet 	mov	dpl,r0	mov	dph,r1	mov	dpx,r7	mov	b,r6	mov     dps, #0x01	mov     dptr, #_ser_gets_c_1_1	movx	a,@dptr	dec	dps	lcall	__gptrput;	ser_ir.c 128;	genCmpEq 	mov	dptr,#_ser_gets_c_1_1;	gencjneshort	movx	a,@dptr	cjne	a,#0x0A,00115$	sjmp	00116$00115$:	ljmp	00105$00116$:;	genLabel 00107$:;	ser_ir.c 130;	genPlus 	mov	dptr,#_ser_gets_pos_1_1	movx	a,@dptr	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;	genPointerSet 	mov	dpl,r2	mov	dph,r3	mov	dpx,r4	mov	b,r5; Peephole 180   changed mov to clr	clr  a	lcall	__gptrput;	genLabel 00108$:;	genEndFunction 	ret;	ser_ir.c 133;	genFunction ;	-----------------------------------------;	 function ser_can_xmt;	-----------------------------------------_ser_can_xmt:;	ser_ir.c 135;	genMinus 	mov	dps, #0x01	mov	dptr, #_xcnt	dec	dps	clr	c	mov	a,#0x0A	xch	a, ap	inc	dps	movx	a,@dptr	xch	a, ap	subb	a,ap	mov	r2,a	mov	dps, #0x00;	genRet 	mov	dpl,r2;	genLabel 00101$:;	genEndFunction 	ret;	ser_ir.c 138;	genFunction ;	-----------------------------------------;	 function ser_can_rcv;	-----------------------------------------_ser_can_rcv:;	ser_ir.c 140;	genRet 	mov     dps, #0x01	mov     dptr, #_rcnt	movx	a,@dptr	mov	dpl,a	mov	dps, #0x00;	genLabel 00101$:;	genEndFunction 	ret	.area CSEG    (CODE)

⌨️ 快捷键说明

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