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

📄 dataosforlcd.lst

📁 这是一个单片机开发的包
💻 LST
字号:
Sunplus u'nSP Assembler - Ver. 1.14.3.1
              Listing File Has Been Relocated
                            	//专为任意点显示而存在的代码
                            	/////-----       图形显示模式	    -----/////
                            	.define PAINT_COVER		0
                            	.define PAINT_SET		1
                            	.define PAINT_CLR		2
                            	.define PAINT_REV		3
                            	.define PAINT_RECO		4
                            	
000001A4                    	.ram
                            	.external _CurPaintMode			//Painting mode
                            	.external _Shift_Data_buf//:	.DW 	5	 Dup(0)
                            	.external _Cover_Data_buf
000001A4 00 00              	.var Data_Add
000001A5 00 00              	.var Num_buf
000001A6 00 00              	.var Cover_Mask
000001A7 00 00              	.var Bit_Num
                            	
                            	.external _Shift_Buff
0000BF67                    	.code
                            	.public _F_Data_Cover
                            	_F_Data_Cover:
0000BF67 88 DA              		push r5 to [sp]
0000BF68 08 0B 01 00        		r5 = sp+1
0000BF6A 98 D8              		push r2,r4 to [sp]
0000BF6B 03 92              		r1 = [r5+3]						//Get the Buffer Address
0000BF6C 04 94              		r2 = [r5+4]						//Get Shift Num
0000BF6D 05 96              		r3 = [r5+5]						//Get All the Data`s number want shift
0000BF6E 06 98              		r4 = [r5+6]						//Get bit Numbers
0000BF6F 40 F0 BD BF        		call F_Data_Move
0000BF71 1B D7 A5 01        		[Num_buf] = r3
0000BF73 09 93 B6 02        		r1 = _Shift_Data_buf
0000BF75 43 02              		r1 = r1+3
0000BF76 19 D3 A4 01        		[Data_Add] = r1// to [sp]
0000BF78 1C D9 A7 01        		[Bit_Num] = r4
0000BF7A 0A C5 FF FF        		test r2,0xffff
0000BF7C 01 4E              		jnz F_Data_Cover_L1
0000BF7D 0E EE              		jmp F_Data_Cover_NotS
                            	F_Data_Cover_L1:					//Shift the Number of the source begin....
0000BF7E 11 93 A4 01        		r1 = [Data_Add]
0000BF80 13 97 A5 01        		r3 = [Num_buf]
0000BF82 40 98              		r4 = 0
0000BF83 5C 99              		r4 = r4 lsl 4
                            	F_Data_Cover_L2:
0000BF84 C1 98              		r4 = [r1]
0000BF85 84 99              		r4 = r4 rol 1
0000BF86 C9 D8              		[r1--] = r4
0000BF87 54 99              		r4 = r4 lsl 3
0000BF88 41 26              		r3-=1
0000BF89 46 4E              		jnz	F_Data_Cover_L2
0000BF8A 41 24              		r2-=1
0000BF8B 4E 4E              		jnz	F_Data_Cover_L1				//...end
                            	F_Data_Cover_NotS:
0000BF8C 13 97 A5 01        		r3 = [Num_buf]					//Get the data number for all(word)
0000BF8E 0C 99 B2 02        		r4 = _Shift_Buff			//index to Data of LCD Read Back
0000BF90 43 08              		r4 += 3
0000BF91 0A 95 B6 02        		r2 = _Shift_Data_buf		//index to Data of Source
0000BF93 43 04              		r2 += 3
0000BF94 11 93 AC 02        		r1 = [_CurPaintMode]
0000BF96 02 5E              		jz ?F_Data_Cover_Cover
0000BF97 44 42              		cmp r1,PAINT_RECO//VER
0000BF98 0A 4E              		jnz	?F_Data_Cover_Not
                            	?F_Data_Cover_Cover:
0000BF99 0D 9B BA 02        		r5 = _Cover_Data_buf
0000BF9B 43 0A              		r5 += 3
                            	?F_Data_Cover_L21:
0000BF9C CC 92              		r1 = [r4--]
0000BF9D CD B2              		r1 = r1 & [r5--]
0000BF9E C2 A2              		r1 = r1 | [r2]
0000BF9F CA D2              		[r2--] = r1
0000BFA0 41 26              		r3 -= 1
0000BFA1 46 4E              		jnz ?F_Data_Cover_L21
0000BFA2 17 EE              		jmp F_Data_Cover_Exit
                            	?F_Data_Cover_Not:
0000BFA3 41 42              		cmp r1,PAINT_SET
0000BFA4 06 4E              		jnz ?F_Data_Cover_Not1
                            	?F_Data_SET_L1:
0000BFA5 CC 92              		r1 = [r4--]
0000BFA6 C2 A2              		r1 = r1|[r2]
0000BFA7 CA D2              		[r2--] = r1
0000BFA8 41 26              		r3-=1
0000BFA9 45 4E              		jnz ?F_Data_SET_L1
0000BFAA 0F EE              		jmp F_Data_Cover_Exit
                            	?F_Data_Cover_Not1:
0000BFAB 42 42              		cmp r1,PAINT_CLR
0000BFAC 08 4E              		jnz ?F_Data_Cover_Not2
                            	?F_Data_CLR_L1:
0000BFAD C2 92              		r1 = [r2]
0000BFAE 09 83 FF FF        		r1 = r1^0xffff
0000BFB0 CC B2              		r1 = r1&[r4--]
0000BFB1 CA D2              		[r2--] = r1
0000BFB2 41 26              		r3-=1
0000BFB3 47 4E              		jnz ?F_Data_CLR_L1
0000BFB4 05 EE              		jmp	F_Data_Cover_Exit
                            	?F_Data_Cover_Not2:
                            	?F_Data_REV_L1:
0000BFB5 CC 92              		r1 = [r4--]
0000BFB6 C2 82              		r1 = r1^[r2]
0000BFB7 CA D2              		[r2--] = r1
0000BFB8 41 26              		r3-=1
0000BFB9 45 4E              		jnz ?F_Data_REV_L1
                            	F_Data_Cover_Exit:
0000BFBA 98 92              		pop r2,r4 from [sp]
0000BFBB 88 98              		pop r5 from [sp]
0000BFBC 90 9A              		retf
                            		
                            	F_Data_Move:
0000BFBD A0 DA              		push r2,r5 to [sp]
0000BFBE 0C B7 0F 00        		r3 = r4&0x0f
0000BFC0 7C 99              		r4 = r4 lsr 4
0000BFC1 04 03              		r1 = r1+r4
0000BFC2 0B C7 FF 00        		test r3,0xff
0000BFC4 02 4E              		jnz F_Data_Move_NotAd
0000BFC5 41 22              		r1-=1
0000BFC6 01 EE              		jmp	F_Data_Move_22
                            	F_Data_Move_NotAd:
0000BFC7 41 08              		r4 = r4+1
                            	F_Data_Move_22:
0000BFC8 0A 95 B6 02        		r2 = _Shift_Data_buf
0000BFCA 43 04              		r2 = r2+3
0000BFCB 15 9B AC 02        		r5 = [_CurPaintMode]
0000BFCD 44 4A              		cmp r5,PAINT_RECO
0000BFCE 07 4E              		jnz F_Data_Move_Loop
                            	F_Data_Move_Loop1:
0000BFCF C9 96              		r3 = [r1--]
0000BFD0 0B 87 FF FF        		r3 = r3^0xffff
0000BFD2 CA D6              		[r2--] = r3				//bug1
0000BFD3 41 28              		r4-=1
0000BFD4 46 4E              		jnz	F_Data_Move_Loop1
0000BFD5 04 EE              		jmp F_Data_Move_Exit
                            	F_Data_Move_Loop:
0000BFD6 C9 96              		r3 = [r1--]
0000BFD7 CA D6              		[r2--] = r3				//bug1
0000BFD8 41 28              		r4-=1
0000BFD9 44 4E              		jnz	F_Data_Move_Loop
                            	F_Data_Move_Exit:
0000BFDA A0 92              		pop r2,r5 from [sp]
0000BFDB 90 9A              		retf
                            	
                            	//************************************************************************
                            	// 
                            	// 设计者: xinqiang
                            	// 描  述:
                            	// 日  期: 2005.6.20
                            	// 版本号: 1.0
                            	//*************************************************************************
                            	.public _F_Cover_Initial
                            	_F_Cover_Initial:
0000BFDC 88 DA              		push r5 to [sp]
0000BFDD 08 0B 01 00        		r5 = sp+1
0000BFDF A0 D8              		push r1,r4 to [sp]
0000BFE0 04 94              		r2 = [r5+4]				//Get the shift number
                            	//	r4 = [r5+5]
0000BFE1 03 92              		r1 = [r5+3]				//Get the bit number
0000BFE2 01 4E              		jnz	?F_Cover_NZ
0000BFE3 26 EE              		jmp	?F_Cover_Exit	
                            	?F_Cover_NZ:
0000BFE4 0D 9B BA 02        		r5 = _Cover_Data_buf
0000BFE6 43 0A              		r5+=3
0000BFE7 44 96              		r3 = 4
0000BFE8 0C 99 FF FF        		r4 = 0xffff
0000BFEA C5 D8              		[r5] = r4
0000BFEB 40 98              		r4 = 0
0000BFEC 5C 99              		r4 = r4 lsl 4
                            	?F_Cover_Loop1:
0000BFED C5 98              		r4 = [r5]
0000BFEE 84 99              		r4 = r4 rol 1
0000BFEF CD D8              		[r5--] = r4
0000BFF0 94 99              		r4 = r4 rol 3
0000BFF1 41 26              		r3-=1
0000BFF2 46 4E              		jnz ?F_Cover_Loop1
0000BFF3 44 0A              		r5+=4
0000BFF4 40 98              		r4 = 0
0000BFF5 5C 99              		r4 = r4 lsl 4
0000BFF6 44 96              		r3 = 4
0000BFF7 41 22              		r1-=1
0000BFF8 4C 4E              		jnz ?F_Cover_Loop1
0000BFF9 0A C5 FF FF        		test r2,0xffff
0000BFFB 01 4E              		jnz	?F_Cover_Loop2
0000BFFC 0D EE              		jmp	?F_Cover_Exit
                            	?F_Cover_Loop2:
0000BFFD 0C 99 FF FF        		r4 = 0xffff;
0000BFFF 5C 99              		r4 = r4 lsl 4
0000C000 44 96              		r3 = 4
                            	?F_Cover_Loop3:
0000C001 C5 98              		r4 = [r5]
0000C002 84 99              		r4 = r4 rol 1
0000C003 CD D8              		[r5--] = r4
0000C004 54 99              		r4 = r4 lsl 3
0000C005 41 26              		r3-=1
0000C006 46 4E              		jnz ?F_Cover_Loop3
0000C007 44 0A              		r5+=4
0000C008 41 24              		r2-=1
0000C009 4D 4E              		jnz ?F_Cover_Loop2
                            	?F_Cover_Exit:
0000C00A A0 90              		pop r1,r4 from [sp]
0000C00B 88 98              		pop r5 from [sp]
0000C00C 90 9A              		retf
                            	
                            	//****************************************************************************************************
                            	// 128X64I液晶底层驱动画圆误差计算  W_Red_Err(int *a,int *b,int *r)
                            	// 设计者: powerint
                            	// 描  述: 系统初始化
                            	// 日  期: 2004.5.9
                            	// 版本号: 1.2
                            	//****************************************************************************************************
                            	.PUBLIC _W_Red_Err
0000C00D 88 DA              	_W_Red_Err: push bp,bp to [sp]
0000C00E 08 0B 01 00        	            bp = sp+1
0000C010 03 96              	            r3 = [bp+3]
0000C011 C3 96              	            r3 = [r3]
0000C012 41 06              	            r3 = r3+1
0000C013 03 99              	            r4 = r3
0000C014 0C F6              	            mr = r3*r4,us
0000C015 03 93              	            r1 = r3
0000C016 04 96              	            r3 = [bp+4]
0000C017 C3 96              	            r3 = [r3]
0000C018 03 99              	            r4 = r3
0000C019 0C F6              	            mr = r3*r4,us
0000C01A 03 03              	            r1+= r3
0000C01B 05 96              	            r3 = [bp+5]
0000C01C C3 96              	            r3 = [r3]
0000C01D 03 99              	            r4 = r3
0000C01E 0C F6              	            mr = r3*r4,us
0000C01F 03 23              	            r1-=r3
0000C020 06 3E              	            jl squ1
0000C021 04 98              	            r4 = [bp+4]
0000C022 C4 96              	            r3 = [r4]
0000C023 03 23              	            r1-= r3
0000C024 02 3E              	            jl squ1
0000C025 41 26              	            r3-=1
0000C026 C4 D6              	            [r4] = r3;
0000C027 03 98              	      squ1: r4 = [bp+3]
0000C028 C4 96              	            r3 = [r4]
0000C029 41 06              	            r3+=1
0000C02A C4 D6              	            [r4] = r3
0000C02B 88 98              	            pop bp,bp from [sp]
0000C02C 90 9A              	            retf       
0 error(s), 0 warning(s).

⌨️ 快捷键说明

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