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

📄 main.ls

📁 STM8全部资料
💻 LS
📖 第 1 页 / 共 4 页
字号:
4932  03fb 90f6          	ld	a,(y)
4933  03fd f7            	ld	(x),a
4935  03fe acd804d8      	jpf	L5303
4936  0402               L3303:
4937                     ; 189 		else if(*str == '%')
4939  0402 1e0b          	ldw	x,(OFST+7,sp)
4940  0404 f6            	ld	a,(x)
4941  0405 a125          	cp	a,#37
4942  0407 2703          	jreq	L011
4943  0409 cc04c8        	jp	L7303
4944  040c               L011:
4945                     ; 191 			str++;
4947  040c 1e0b          	ldw	x,(OFST+7,sp)
4948  040e 1c0001        	addw	x,#1
4949  0411 1f0b          	ldw	(OFST+7,sp),x
4950                     ; 192 			if (*str == 'd' || *str == 'D')
4952  0413 1e0b          	ldw	x,(OFST+7,sp)
4953  0415 f6            	ld	a,(x)
4954  0416 a164          	cp	a,#100
4955  0418 2707          	jreq	L3403
4957  041a 1e0b          	ldw	x,(OFST+7,sp)
4958  041c f6            	ld	a,(x)
4959  041d a144          	cp	a,#68
4960  041f 2637          	jrne	L1403
4961  0421               L3403:
4962                     ; 194 				str++;
4964  0421 1e0b          	ldw	x,(OFST+7,sp)
4965  0423 1c0001        	addw	x,#1
4966  0426 1f0b          	ldw	(OFST+7,sp),x
4967                     ; 195 				decToAscii(&lcd_stack[coordinate],va_arg(marker,u16),(*str-'0'));
4969  0428 1e0b          	ldw	x,(OFST+7,sp)
4970  042a f6            	ld	a,(x)
4971  042b a030          	sub	a,#48
4972  042d 88            	push	a
4973  042e 1e03          	ldw	x,(OFST-1,sp)
4974  0430 1c0002        	addw	x,#2
4975  0433 1f03          	ldw	(OFST-1,sp),x
4976  0435 1e03          	ldw	x,(OFST-1,sp)
4977  0437 5a            	decw	x
4978  0438 5a            	decw	x
4979  0439 fe            	ldw	x,(x)
4980  043a 89            	pushw	x
4981  043b 7b0c          	ld	a,(OFST+8,sp)
4982  043d 97            	ld	xl,a
4983  043e 7b0d          	ld	a,(OFST+9,sp)
4984  0440 1b07          	add	a,(OFST+3,sp)
4985  0442 2401          	jrnc	L001
4986  0444 5c            	incw	x
4987  0445               L001:
4988  0445 02            	rlwa	x,a
4989  0446 cd0247        	call	_decToAscii
4991  0449 5b03          	addw	sp,#3
4992                     ; 196 				coordinate += (*str-'0'-1);
4994  044b 1e0b          	ldw	x,(OFST+7,sp)
4995  044d f6            	ld	a,(x)
4996  044e a031          	sub	a,#49
4997  0450 1b04          	add	a,(OFST+0,sp)
4998  0452 6b04          	ld	(OFST+0,sp),a
5000  0454 acd804d8      	jpf	L5303
5001  0458               L1403:
5002                     ; 198 			else if(*str == 'c' || *str == 'C')
5004  0458 1e0b          	ldw	x,(OFST+7,sp)
5005  045a f6            	ld	a,(x)
5006  045b a163          	cp	a,#99
5007  045d 2707          	jreq	L1503
5009  045f 1e0b          	ldw	x,(OFST+7,sp)
5010  0461 f6            	ld	a,(x)
5011  0462 a143          	cp	a,#67
5012  0464 261f          	jrne	L7403
5013  0466               L1503:
5014                     ; 200 				lcd_stack[coordinate] = va_arg(marker,u16);
5016  0466 7b09          	ld	a,(OFST+5,sp)
5017  0468 97            	ld	xl,a
5018  0469 7b0a          	ld	a,(OFST+6,sp)
5019  046b 1b04          	add	a,(OFST+0,sp)
5020  046d 2401          	jrnc	L201
5021  046f 5c            	incw	x
5022  0470               L201:
5023  0470 02            	rlwa	x,a
5024  0471 1602          	ldw	y,(OFST-2,sp)
5025  0473 72a90002      	addw	y,#2
5026  0477 1702          	ldw	(OFST-2,sp),y
5027  0479 1602          	ldw	y,(OFST-2,sp)
5028  047b 905a          	decw	y
5029  047d 905a          	decw	y
5030  047f 90e601        	ld	a,(1,y)
5031  0482 f7            	ld	(x),a
5033  0483 2053          	jra	L5303
5034  0485               L7403:
5035                     ; 202 			else if(*str == 'x' || *str == 'X')
5037  0485 1e0b          	ldw	x,(OFST+7,sp)
5038  0487 f6            	ld	a,(x)
5039  0488 a178          	cp	a,#120
5040  048a 2707          	jreq	L7503
5042  048c 1e0b          	ldw	x,(OFST+7,sp)
5043  048e f6            	ld	a,(x)
5044  048f a158          	cp	a,#88
5045  0491 2645          	jrne	L5303
5046  0493               L7503:
5047                     ; 204 				str++;
5049  0493 1e0b          	ldw	x,(OFST+7,sp)
5050  0495 1c0001        	addw	x,#1
5051  0498 1f0b          	ldw	(OFST+7,sp),x
5052                     ; 205 				hexToAscii(&lcd_stack[coordinate],va_arg(marker,u16),(*str - '0'));
5054  049a 1e0b          	ldw	x,(OFST+7,sp)
5055  049c f6            	ld	a,(x)
5056  049d a030          	sub	a,#48
5057  049f 88            	push	a
5058  04a0 1e03          	ldw	x,(OFST-1,sp)
5059  04a2 1c0002        	addw	x,#2
5060  04a5 1f03          	ldw	(OFST-1,sp),x
5061  04a7 1e03          	ldw	x,(OFST-1,sp)
5062  04a9 5a            	decw	x
5063  04aa 5a            	decw	x
5064  04ab fe            	ldw	x,(x)
5065  04ac 89            	pushw	x
5066  04ad 7b0c          	ld	a,(OFST+8,sp)
5067  04af 97            	ld	xl,a
5068  04b0 7b0d          	ld	a,(OFST+9,sp)
5069  04b2 1b07          	add	a,(OFST+3,sp)
5070  04b4 2401          	jrnc	L401
5071  04b6 5c            	incw	x
5072  04b7               L401:
5073  04b7 02            	rlwa	x,a
5074  04b8 cd02f0        	call	_hexToAscii
5076  04bb 5b03          	addw	sp,#3
5077                     ; 206 				coordinate += (*str - '0' - 1);
5079  04bd 1e0b          	ldw	x,(OFST+7,sp)
5080  04bf f6            	ld	a,(x)
5081  04c0 a031          	sub	a,#49
5082  04c2 1b04          	add	a,(OFST+0,sp)
5083  04c4 6b04          	ld	(OFST+0,sp),a
5084  04c6 2010          	jra	L5303
5085  04c8               L7303:
5086                     ; 212 			lcd_stack[coordinate] = *str;
5088  04c8 7b09          	ld	a,(OFST+5,sp)
5089  04ca 97            	ld	xl,a
5090  04cb 7b0a          	ld	a,(OFST+6,sp)
5091  04cd 1b04          	add	a,(OFST+0,sp)
5092  04cf 2401          	jrnc	L601
5093  04d1 5c            	incw	x
5094  04d2               L601:
5095  04d2 02            	rlwa	x,a
5096  04d3 160b          	ldw	y,(OFST+7,sp)
5097  04d5 90f6          	ld	a,(y)
5098  04d7 f7            	ld	(x),a
5099  04d8               L5303:
5100                     ; 214 		str++;
5102  04d8 1e0b          	ldw	x,(OFST+7,sp)
5103  04da 1c0001        	addw	x,#1
5104  04dd 1f0b          	ldw	(OFST+7,sp),x
5105                     ; 215 		coordinate++;
5107  04df 0c04          	inc	(OFST+0,sp)
5108  04e1               L5203:
5109                     ; 180 	while(*str != '\0')
5111  04e1 1e0b          	ldw	x,(OFST+7,sp)
5112  04e3 7d            	tnz	(x)
5113  04e4 2703          	jreq	L211
5114  04e6 cc03d7        	jp	L3203
5115  04e9               L211:
5116  04e9 acdd03dd      	jpf	L7203
5204                     ; 20 main()
5204                     ; 21 {
5205                     	switch	.text
5206  04ed               _main:
5208  04ed 88            	push	a
5209       00000001      OFST:	set	1
5212                     ; 23 	AT24CXX_Init();
5214  04ee cd00c8        	call	_AT24CXX_Init
5216                     ; 24 	st7920LcdInit();
5218  04f1 cd013d        	call	_st7920LcdInit
5220                     ; 26 	showLine(0,0,lcd_buffer,"AT24Cxx Example");
5222  04f4 ae001f        	ldw	x,#L3213
5223  04f7 89            	pushw	x
5224  04f8 ae0000        	ldw	x,#_lcd_buffer
5225  04fb 89            	pushw	x
5226  04fc 5f            	clrw	x
5227  04fd 4f            	clr	a
5228  04fe 95            	ld	xh,a
5229  04ff cd03b6        	call	_showLine
5231  0502 5b04          	addw	sp,#4
5232                     ; 27 	showLine(0,1,lcd_buffer,"Program and");
5234  0504 ae0013        	ldw	x,#L5213
5235  0507 89            	pushw	x
5236  0508 ae0000        	ldw	x,#_lcd_buffer
5237  050b 89            	pushw	x
5238  050c ae0001        	ldw	x,#1
5239  050f 4f            	clr	a
5240  0510 95            	ld	xh,a
5241  0511 cd03b6        	call	_showLine
5243  0514 5b04          	addw	sp,#4
5244                     ; 28 	showLine(0,2,lcd_buffer,"Verify");
5246  0516 ae000c        	ldw	x,#L7213
5247  0519 89            	pushw	x
5248  051a ae0000        	ldw	x,#_lcd_buffer
5249  051d 89            	pushw	x
5250  051e ae0002        	ldw	x,#2
5251  0521 4f            	clr	a
5252  0522 95            	ld	xh,a
5253  0523 cd03b6        	call	_showLine
5255  0526 5b04          	addw	sp,#4
5256                     ; 29 	showLine(0,3,lcd_buffer,"Results:");
5258  0528 ae0003        	ldw	x,#L1313
5259  052b 89            	pushw	x
5260  052c ae0000        	ldw	x,#_lcd_buffer
5261  052f 89            	pushw	x
5262  0530 ae0003        	ldw	x,#3
5263  0533 4f            	clr	a
5264  0534 95            	ld	xh,a
5265  0535 cd03b6        	call	_showLine
5267  0538 5b04          	addw	sp,#4
5268                     ; 30 	refreshLCD(lcd_buffer);
5270  053a ae0000        	ldw	x,#_lcd_buffer
5271  053d cd01d7        	call	_refreshLCD
5273                     ; 32 	AT24CXX_WriteAByte(0x01,'P');
5275  0540 ae0050        	ldw	x,#80
5276  0543 a601          	ld	a,#1
5277  0545 95            	ld	xh,a
5278  0546 cd00cb        	call	_AT24CXX_WriteAByte
5280                     ; 33 	delay_ms(10);
5282  0549 ae000a        	ldw	x,#10
5283  054c cd0000        	call	_delay_ms
5285                     ; 34 	tmp=AT24CXX_ReadAByte(0x01);
5287  054f a601          	ld	a,#1
5288  0551 cd00e0        	call	_AT24CXX_ReadAByte
5290  0554 6b01          	ld	(OFST+0,sp),a
5291                     ; 36 	showLine(9,3,lcd_buffer,"%c",tmp);
5293  0556 7b01          	ld	a,(OFST+0,sp)
5294  0558 88            	push	a
5295  0559 ae0000        	ldw	x,#L3313
5296  055c 89            	pushw	x
5297  055d ae0000        	ldw	x,#_lcd_buffer
5298  0560 89            	pushw	x
5299  0561 ae0003        	ldw	x,#3
5300  0564 a609          	ld	a,#9
5301  0566 95            	ld	xh,a
5302  0567 cd03b6        	call	_showLine
5304  056a 5b05          	addw	sp,#5
5305                     ; 37 	refreshLCD(lcd_buffer); 
5307  056c ae0000        	ldw	x,#_lcd_buffer
5308  056f cd01d7        	call	_refreshLCD
5310  0572               L5313:
5311                     ; 38 	while (1);
5313  0572 20fe          	jra	L5313
5326                     	xdef	_main
5327                     	xdef	_SPI_rechar
5328                     	xdef	_SPI_sendchar
5329                     	xdef	_SPI_Init
5330                     	switch	.ubsct
5331  0000               _lcd_buffer:
5332  0000 000000000000  	ds.b	64
5333                     	xdef	_lcd_buffer
5334                     	xdef	_showLine
5335                     	xdef	_hexToAscii
5336                     	xdef	_decToAscii
5337                     	xdef	_refreshLCD
5338                     	xdef	_st7920LcdInit
5339                     	xdef	_sendDataST7920
5340                     	xdef	_sendCodeST7920
5341                     	xdef	_AT24CXX_ReadAByte
5342                     	xdef	_AT24CXX_WriteAByte
5343                     	xdef	_AT24CXX_Init
5344                     	xdef	_I2C_RcvDat
5345                     	xdef	_I2C_SendDat
5346                     	xdef	_I2C_SendDAdr
5347                     	xdef	_I2C_Start
5348                     	xdef	_I2C_Init
5349                     	xdef	_delay_us
5350                     	xdef	_delay_ms
5351                     .const:	section	.text
5352  0000               L3313:
5353  0000 256300        	dc.b	"%c",0
5354  0003               L1313:
5355  0003 526573756c74  	dc.b	"Results:",0
5356  000c               L7213:
5357  000c 566572696679  	dc.b	"Verify",0
5358  0013               L5213:
5359  0013 50726f677261  	dc.b	"Program and",0
5360  001f               L3213:
5361  001f 415432344378  	dc.b	"AT24Cxx Example",0
5381                     	end

⌨️ 快捷键说明

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