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

📄 liveosci.asm

📁 10MS/s USB-2.0 ("high speed") oscilloscope with two 8 bit sampling inputs
💻 ASM
📖 第 1 页 / 共 3 页
字号:
00131$:;     genCmpLt;     genCmp	cjne	r4,#0x08,00141$00141$:;     genIfxJump;       Peephole 108    removed ljmp by inverse jump logic	jnc     00134$00142$:;liveosci.c:263: if(config & (0x80U>>i))  SET_TXD_HIGH();;     genRightShift	mov	b,r4	inc	b	mov	r5,#0x80	mov	r6,#0x00	sjmp	00144$00143$:	clr	c	mov	a,r6	rrc	a	mov	r6,a	mov	a,r5	rrc	a	mov	r5,a00144$:	djnz	b,00143$;     genCast	mov	ar7,r3	mov	r0,#0x00;     genAnd	mov	a,r7	anl	ar5,a	mov	a,r0	anl	ar6,a;     genIfx	mov	a,r5	orl	a,r6;     genIfxJump;       Peephole 110    removed ljmp by inverse jump logic	jz      00110$00145$:;     genOr	orl	_IOA,#0x80;liveosci.c:264: else                     SET_TXD_LOW();;       Peephole 112.b  changed ljmp to sjmp	sjmp    00116$00110$:;     genAssign	mov	r5,_IOA;     genAnd	mov	a,#0x7F	anl	a,r5	mov	_IOA,a;liveosci.c:267: SET_SCK_HIGH();00116$:;     genOr	orl	_IOA,#0x08;liveosci.c:268: SET_SCK_LOW();;     genAssign	mov	r5,_IOA;     genAnd	mov	a,#0xF7	anl	a,r5	mov	_IOA,a;liveosci.c:258: for(i=0; i<8; i++);     genPlus;     genPlusIncr	inc	r4;       Peephole 112.b  changed ljmp to sjmp	sjmp    00131$00134$:;liveosci.c:272: if(keep_rck_high);     genIfx	mov	a,r2;     genIfxJump;       Peephole 110    removed ljmp by inverse jump logic	jz      00129$00146$:;liveosci.c:274: SET_CKGEN_INT1_SREG_RCK_HIGH();;     genOr	orl	_IOA,#0x02;       Peephole 112.b  changed ljmp to sjmp	sjmp    00135$00129$:;liveosci.c:282: uint8 tmp=IOA;;     genAssign	mov	r2,_IOA;liveosci.c:283: SET_CKGEN_INT1_SREG_RCK_HIGH();;     genOr	orl	_IOA,#0x02;liveosci.c:284: IOA=tmp;;     genAssign	mov	_IOA,r200135$:	ret;------------------------------------------------------------;Allocation info for local variables in function 'SetClockSpeed';------------------------------------------------------------;ckspeed                   Allocated to registers r2 ;rv                        Allocated to registers ;j                         Allocated to registers ;------------------------------------------------------------;liveosci.c:292: static uint8 SetClockSpeed(uint8 ckspeed);	-----------------------------------------;	 function SetClockSpeed;	-----------------------------------------_SetClockSpeed:;     genReceive	mov	r2,dpl;liveosci.c:303: WriteIOModuleConfig(/*keep_rck_high=*/1);;     genCall	mov	dpl,#0x01	push	ar2	lcall	_WriteIOModuleConfig	pop	ar2;liveosci.c:317: for(j=0; j<100; j++);     genAssign	mov	r3,#0x6400106$:;liveosci.c:318: { NOP; NOP; NOP; NOP; NOP; NOP; NOP; NOP; NOP; NOP; };     genInline	 nop; ;     genInline	 nop; ;     genInline	 nop; ;     genInline	 nop; ;     genInline	 nop; ;     genInline	 nop; ;     genInline	 nop; ;     genInline	 nop; ;     genInline	 nop; ;     genInline	 nop; ;     genDjnz;       Peephole 112.b  changed ljmp to sjmp;       Peephole 205    optimized misc jump sequence	djnz    r3,00106$00111$:00112$:;liveosci.c:317: for(j=0; j<100; j++);liveosci.c:320: CkGen_SerialIOByte(CMD_CKGEN_SET_CLOCK_SPEED);;     genCall	mov	dpl,#0x01	push	ar2	lcall	_CkGen_SerialIOByte	pop	ar2;liveosci.c:321: rv=(CkGen_SerialIOByte(ckspeed)!=CMD_CKGEN_SET_CLOCK_SPEED);;     genCall	mov	dpl,r2	lcall	_CkGen_SerialIOByte	mov	r2,dpl;     genCast	mov	r3,#0x00;     genCmpEq;       Peephole 241.b  optimized compare	clr     a	cjne    r2,#0x01,00113$	cjne    r3,#0x00,00113$	inc     a00113$:00114$:;     genNot;       Peephole 105    removed redundant mov	mov     r2,a	cjne	a,#0x01,00115$00115$:	clr	a	rlc	a	mov	dpl,a;liveosci.c:326: SET_CKGEN_INT1_SREG_RCK_LOW();;     genAssign	mov	r2,_IOA;     genAnd	mov	a,#0xFD	anl	a,r2	mov	_IOA,a;liveosci.c:328: return(rv);;     genRet00107$:	ret;------------------------------------------------------------;Allocation info for local variables in function 'SetIOModuleConfig';------------------------------------------------------------;config                    Allocated to registers ;------------------------------------------------------------;liveosci.c:336: static uint8 SetIOModuleConfig(uint8 config);	-----------------------------------------;	 function SetIOModuleConfig;	-----------------------------------------_SetIOModuleConfig:;     genReceive	mov	_iomodule_config,dpl;liveosci.c:340: WriteIOModuleConfig(/*keep_rck_high=*/0);;     genCall	mov	dpl,#0x00	lcall	_WriteIOModuleConfig;liveosci.c:342: return(0);;     genRet	mov	dpl,#0x0000101$:	ret;------------------------------------------------------------;Allocation info for local variables in function 'HandleEP1Data';------------------------------------------------------------;len                       Allocated to registers r2 ;buf                       Allocated to registers ;rv                        Allocated to registers r3 ;speed                     Allocated to registers r4 ;config                    Allocated to registers r4 ;dest                      Allocated to registers ;------------------------------------------------------------;liveosci.c:348: static void HandleEP1Data(void);	-----------------------------------------;	 function HandleEP1Data;	-----------------------------------------_HandleEP1Data:;liveosci.c:350: uint8 len=EP1OUTBC;  // 0..64;     genAssign	mov	dptr,#_EP1OUTBC	movx	a,@dptr	mov	r2,a;liveosci.c:351: xdata uint8 *buf=EP1OUTBUF;;liveosci.c:352: uint8 rv=0xff;  // "Unknown command.";     genAssign	mov	r3,#0xFF;liveosci.c:356: if(len<2)  return;;     genCmpLt;     genCmp	cjne	r2,#0x02,00120$00120$:;     genIfxJump;       Peephole 108    removed ljmp by inverse jump logic	jnc     00102$00121$:;     genRet;       Peephole 112.b  changed ljmp to sjmp	sjmp    00112$00102$:;liveosci.c:358: switch(*buf);     genPointerGet;     genFarPointerGet	mov	dptr,#_EP1OUTBUF	movx	a,@dptr	mov	r4,a;     genCast	mov	r5,#0x00;     genCmpEq	cjne	r4,#0x01,00122$	cjne	r5,#0x00,00122$;       Peephole 112.b  changed ljmp to sjmp	sjmp    00105$00122$:;     genCmpEq;       Peephole 112.b  changed ljmp to sjmp;liveosci.c:368: } break;;       Peephole 112.b  changed ljmp to sjmp;       Peephole 198    optimized misc jump sequence	cjne    r4,#0x02,00109$	cjne    r5,#0x00,00109$	sjmp    00108$;00123$:00105$:;liveosci.c:363: if(len>=3);     genCmpLt;     genCmp	cjne	r2,#0x03,00124$00124$:;     genIfxJump;       Peephole 112.b  changed ljmp to sjmp;       Peephole 160    removed sjmp by inverse jump logic	jc      00109$00125$:;liveosci.c:365: uint8 speed=buf[2];;     genPointerGet;     genFarPointerGet	mov	dptr,#(_EP1OUTBUF + 0x0002)	movx	a,@dptr;liveosci.c:366: rv=SetClockSpeed(speed);;     genCall;       Peephole 244.c  loading dpl from a instead of r4	mov	r4,a	mov	dpl,a	push	ar2	lcall	_SetClockSpeed	mov	r3,dpl	pop	ar2;liveosci.c:368: } break;;liveosci.c:377: } break;;       Peephole 112.b  changed ljmp to sjmp	sjmp    00109$00108$:;liveosci.c:372: if(len>=3);     genCmpLt;     genCmp	cjne	r2,#0x03,00126$00126$:;     genIfxJump;       Peephole 112.b  changed ljmp to sjmp;       Peephole 160    removed sjmp by inverse jump logic	jc      00109$00127$:;liveosci.c:374: uint8 config=buf[2];;     genPointerGet;     genFarPointerGet	mov	dptr,#(_EP1OUTBUF + 0x0002)	movx	a,@dptr;liveosci.c:375: rv=SetIOModuleConfig(config);;     genCall;       Peephole 244.c  loading dpl from a instead of r4	mov	r4,a	mov	dpl,a	push	ar2	lcall	_SetIOModuleConfig	mov	r3,dpl	pop	ar2;liveosci.c:378: }00109$:;liveosci.c:381: if(!(EP01STAT & 0x4U));     genCast	mov	r4,_EP01STAT	mov	r5,#0x00;     genAnd	mov	a,r4;     genIfxJump;       Peephole 112.a  removed ljmp by inverse jump logic	jb      acc.2,00112$00128$:;liveosci.c:383: xdata uint8 *dest=EP1INBUF;;liveosci.c:384: dest[0]=buf[0];  // Copy command. ;     genPointerGet;     genFarPointerGet	mov	dptr,#_EP1OUTBUF	movx	a,@dptr;     genPointerSet;     genFarPointerSet;       Peephole 100    removed redundant mov	mov     r4,a	mov     dptr,#_EP1INBUF	movx    @dptr,a;liveosci.c:385: dest[1]=buf[1];  // Copy serial. ;     genPointerGet;     genFarPointerGet	mov	dptr,#(_EP1OUTBUF + 0x0001)	movx	a,@dptr;     genPointerSet;     genFarPointerSet;       Peephole 100    removed redundant mov	mov     r4,a	mov     dptr,#(_EP1INBUF + 0x0001)	movx    @dptr,a;liveosci.c:386: dest[2]=len;     // Store received size. ;     genPointerSet;     genFarPointerSet	mov	dptr,#(_EP1INBUF + 0x0002)	mov	a,r2	movx	@dptr,a;liveosci.c:387: dest[3]=rv;      // Status code. ;     genPointerSet;     genFarPointerSet	mov	dptr,#(_EP1INBUF + 0x0003)	mov	a,r3	movx	@dptr,a;liveosci.c:390: EP1INBC=4;;     genAssign	mov	dptr,#_EP1INBC	mov	a,#0x04	movx	@dptr,a00112$:	ret;------------------------------------------------------------;Allocation info for local variables in function 'main';------------------------------------------------------------;oldstat                   Allocated to registers r2 ;curstat                   Allocated to registers r3 ;------------------------------------------------------------;liveosci.c:397: void main();	-----------------------------------------;	 function main;	-----------------------------------------_main:;liveosci.c:401: Initialize();;     genCall	lcall	_Initialize;liveosci.c:405: oldstat=EP01STAT;;     genAssign	mov	r2,_EP01STAT;liveosci.c:408: EP1OUTBC=0x01;  ;     genAssign	mov	dptr,#_EP1OUTBC	mov	a,#0x01	movx	@dptr,a;liveosci.c:413: SetClockSpeed(1);  // FIXME;     genCall	mov	dpl,#0x01	push	ar2	lcall	_SetClockSpeed	pop	ar200106$:;liveosci.c:417: uint8 curstat=EP01STAT;;     genAssign	mov	r3,_EP01STAT;liveosci.c:421: if(!(curstat & 0x02) && (oldstat && 0x02));     genAnd	mov	a,r3;     genIfxJump;       Peephole 112.a  removed ljmp by inverse jump logic	jb      acc.1,00102$00113$:;     genIfx	mov	a,r2;     genIfxJump;       Peephole 110    removed ljmp by inverse jump logic	jz      00102$00114$:;liveosci.c:424: HandleEP1Data();;     genCall	push	ar3	lcall	_HandleEP1Data	pop	ar3;liveosci.c:427: EP1OUTBC=0x01;;     genAssign	mov	dptr,#_EP1OUTBC	mov	a,#0x01	movx	@dptr,a00102$:;liveosci.c:430: oldstat=curstat;;     genAssign	mov	ar2,r3;       Peephole 112.b  changed ljmp to sjmp	sjmp    00106$00108$:	ret	.area CSEG    (CODE)	.area XINIT   (CODE)

⌨️ 快捷键说明

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