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

📄 main.ls

📁 STM8全部资料
💻 LS
📖 第 1 页 / 共 4 页
字号:
4575  0323 02            	rlwa	x,a
4576  0324 f6            	ld	a,(x)
4577  0325 ad9c          	call	_sendDataST7920
4579                     ; 71 	for(addr=32;addr<48;addr++)
4581  0327 0c01          	inc	(OFST+0,sp)
4584  0329 7b01          	ld	a,(OFST+0,sp)
4585  032b a130          	cp	a,#48
4586  032d 25ea          	jrult	L5262
4587                     ; 75 	for(addr=16;addr<32;addr++)
4589  032f a610          	ld	a,#16
4590  0331 6b01          	ld	(OFST+0,sp),a
4591  0333               L3362:
4592                     ; 77 		sendDataST7920(*(lcd_stack + addr));
4594  0333 7b02          	ld	a,(OFST+1,sp)
4595  0335 97            	ld	xl,a
4596  0336 7b03          	ld	a,(OFST+2,sp)
4597  0338 1b01          	add	a,(OFST+0,sp)
4598  033a 2401          	jrnc	L06
4599  033c 5c            	incw	x
4600  033d               L06:
4601  033d 02            	rlwa	x,a
4602  033e f6            	ld	a,(x)
4603  033f ad82          	call	_sendDataST7920
4605                     ; 75 	for(addr=16;addr<32;addr++)
4607  0341 0c01          	inc	(OFST+0,sp)
4610  0343 7b01          	ld	a,(OFST+0,sp)
4611  0345 a120          	cp	a,#32
4612  0347 25ea          	jrult	L3362
4613                     ; 80 	for(addr=48;addr<64;addr++)
4615  0349 a630          	ld	a,#48
4616  034b 6b01          	ld	(OFST+0,sp),a
4617  034d               L1462:
4618                     ; 82 		sendDataST7920(*(lcd_stack + addr));
4620  034d 7b02          	ld	a,(OFST+1,sp)
4621  034f 97            	ld	xl,a
4622  0350 7b03          	ld	a,(OFST+2,sp)
4623  0352 1b01          	add	a,(OFST+0,sp)
4624  0354 2401          	jrnc	L26
4625  0356 5c            	incw	x
4626  0357               L26:
4627  0357 02            	rlwa	x,a
4628  0358 f6            	ld	a,(x)
4629  0359 cd02c3        	call	_sendDataST7920
4631                     ; 80 	for(addr=48;addr<64;addr++)
4633  035c 0c01          	inc	(OFST+0,sp)
4636  035e 7b01          	ld	a,(OFST+0,sp)
4637  0360 a140          	cp	a,#64
4638  0362 25e9          	jrult	L1462
4639                     ; 84 }
4642  0364 5b03          	addw	sp,#3
4643  0366 81            	ret
4696                     ; 86 void decToAscii(u8* str,u16 dec,u8 width)
4696                     ; 87 {
4697                     	switch	.text
4698  0367               _decToAscii:
4700  0367 89            	pushw	x
4701       00000000      OFST:	set	0
4704  0368 ac070407      	jpf	L3172
4705  036c               L1172:
4706                     ; 90 		switch(width)
4708  036c 7b07          	ld	a,(OFST+7,sp)
4710                     ; 121 			default: *str = '0';
4711  036e 4a            	dec	a
4712  036f 2603cc03f7    	jreq	L7562
4713  0374 4a            	dec	a
4714  0375 2764          	jreq	L5562
4715  0377 4a            	dec	a
4716  0378 2745          	jreq	L3562
4717  037a 4a            	dec	a
4718  037b 2726          	jreq	L1562
4719  037d 4a            	dec	a
4720  037e 2707          	jreq	L7462
4721  0380               L1662:
4724  0380 1e01          	ldw	x,(OFST+1,sp)
4725  0382 a630          	ld	a,#48
4726  0384 f7            	ld	(x),a
4727  0385 2077          	jra	L1272
4728  0387               L7462:
4729                     ; 94 				*str = (dec / 10000 + '0');
4731  0387 1e05          	ldw	x,(OFST+5,sp)
4732  0389 90ae2710      	ldw	y,#10000
4733  038d 65            	divw	x,y
4734  038e 1c0030        	addw	x,#48
4735  0391 1601          	ldw	y,(OFST+1,sp)
4736  0393 01            	rrwa	x,a
4737  0394 90f7          	ld	(y),a
4738  0396 02            	rlwa	x,a
4739                     ; 95 				dec %= 10000;
4741  0397 1e05          	ldw	x,(OFST+5,sp)
4742  0399 90ae2710      	ldw	y,#10000
4743  039d 65            	divw	x,y
4744  039e 51            	exgw	x,y
4745  039f 1f05          	ldw	(OFST+5,sp),x
4746                     ; 96 				break;
4748  03a1 205b          	jra	L1272
4749  03a3               L1562:
4750                     ; 100 				*str = (dec / 1000 + '0');
4752  03a3 1e05          	ldw	x,(OFST+5,sp)
4753  03a5 90ae03e8      	ldw	y,#1000
4754  03a9 65            	divw	x,y
4755  03aa 1c0030        	addw	x,#48
4756  03ad 1601          	ldw	y,(OFST+1,sp)
4757  03af 01            	rrwa	x,a
4758  03b0 90f7          	ld	(y),a
4759  03b2 02            	rlwa	x,a
4760                     ; 101 				dec %= 1000;
4762  03b3 1e05          	ldw	x,(OFST+5,sp)
4763  03b5 90ae03e8      	ldw	y,#1000
4764  03b9 65            	divw	x,y
4765  03ba 51            	exgw	x,y
4766  03bb 1f05          	ldw	(OFST+5,sp),x
4767                     ; 102 				break;
4769  03bd 203f          	jra	L1272
4770  03bf               L3562:
4771                     ; 106 				*str = (dec/100+'0');
4773  03bf 1e05          	ldw	x,(OFST+5,sp)
4774  03c1 90ae0064      	ldw	y,#100
4775  03c5 65            	divw	x,y
4776  03c6 1c0030        	addw	x,#48
4777  03c9 1601          	ldw	y,(OFST+1,sp)
4778  03cb 01            	rrwa	x,a
4779  03cc 90f7          	ld	(y),a
4780  03ce 02            	rlwa	x,a
4781                     ; 107 				dec %= 100;
4783  03cf 1e05          	ldw	x,(OFST+5,sp)
4784  03d1 90ae0064      	ldw	y,#100
4785  03d5 65            	divw	x,y
4786  03d6 51            	exgw	x,y
4787  03d7 1f05          	ldw	(OFST+5,sp),x
4788                     ; 108 				break;
4790  03d9 2023          	jra	L1272
4791  03db               L5562:
4792                     ; 112 				*str = (dec/10+'0');
4794  03db 1e05          	ldw	x,(OFST+5,sp)
4795  03dd 90ae000a      	ldw	y,#10
4796  03e1 65            	divw	x,y
4797  03e2 1c0030        	addw	x,#48
4798  03e5 1601          	ldw	y,(OFST+1,sp)
4799  03e7 01            	rrwa	x,a
4800  03e8 90f7          	ld	(y),a
4801  03ea 02            	rlwa	x,a
4802                     ; 113 				dec %= 10;
4804  03eb 1e05          	ldw	x,(OFST+5,sp)
4805  03ed 90ae000a      	ldw	y,#10
4806  03f1 65            	divw	x,y
4807  03f2 51            	exgw	x,y
4808  03f3 1f05          	ldw	(OFST+5,sp),x
4809                     ; 114 				break;
4811  03f5 2007          	jra	L1272
4812  03f7               L7562:
4813                     ; 118 				*str = (dec+'0');
4815  03f7 7b06          	ld	a,(OFST+6,sp)
4816  03f9 ab30          	add	a,#48
4817  03fb 1e01          	ldw	x,(OFST+1,sp)
4818  03fd f7            	ld	(x),a
4819                     ; 119 				break;
4821  03fe               L1272:
4822                     ; 123 		width--;
4824  03fe 0a07          	dec	(OFST+7,sp)
4825                     ; 124 		str++;
4827  0400 1e01          	ldw	x,(OFST+1,sp)
4828  0402 1c0001        	addw	x,#1
4829  0405 1f01          	ldw	(OFST+1,sp),x
4830  0407               L3172:
4831                     ; 88 	while(width)
4833  0407 0d07          	tnz	(OFST+7,sp)
4834  0409 2703          	jreq	L07
4835  040b cc036c        	jp	L1172
4836  040e               L07:
4837                     ; 126 }
4840  040e 85            	popw	x
4841  040f 81            	ret
4903                     ; 128 void hexToAscii(u8* str,u16 hex,u8 width)
4903                     ; 129 {
4904                     	switch	.text
4905  0410               _hexToAscii:
4907  0410 89            	pushw	x
4908  0411 89            	pushw	x
4909       00000002      OFST:	set	2
4912  0412 accc04cc      	jpf	L1772
4913  0416               L7672:
4914                     ; 133 		switch(width)
4916  0416 7b09          	ld	a,(OFST+7,sp)
4918                     ; 163 			default: *str = '0';
4919  0418 4a            	dec	a
4920  0419 2603          	jrne	L67
4921  041b cc04a0        	jp	L1372
4922  041e               L67:
4923  041e 4a            	dec	a
4924  041f 2758          	jreq	L7272
4925  0421 4a            	dec	a
4926  0422 2730          	jreq	L5272
4927  0424 4a            	dec	a
4928  0425 2709          	jreq	L3272
4929  0427               L3372:
4932  0427 1e03          	ldw	x,(OFST+1,sp)
4933  0429 a630          	ld	a,#48
4934  042b f7            	ld	(x),a
4935  042c acc304c3      	jpf	L7772
4936  0430               L3272:
4937                     ; 137 				tmp = (hex >> 12);
4939  0430 1e07          	ldw	x,(OFST+5,sp)
4940  0432 01            	rrwa	x,a
4941  0433 4f            	clr	a
4942  0434 41            	exg	a,xl
4943  0435 4e            	swap	a
4944  0436 a40f          	and	a,#15
4945  0438 02            	rlwa	x,a
4946  0439 1f01          	ldw	(OFST-1,sp),x
4947                     ; 138 				if(tmp > 9) *str = tmp + ('A' - 10);
4949  043b 1e01          	ldw	x,(OFST-1,sp)
4950  043d a3000a        	cpw	x,#10
4951  0440 2509          	jrult	L1003
4954  0442 7b02          	ld	a,(OFST+0,sp)
4955  0444 ab37          	add	a,#55
4956  0446 1e03          	ldw	x,(OFST+1,sp)
4957  0448 f7            	ld	(x),a
4959  0449 2078          	jra	L7772
4960  044b               L1003:
4961                     ; 139 				else *str = tmp + '0';
4963  044b 7b02          	ld	a,(OFST+0,sp)
4964  044d ab30          	add	a,#48
4965  044f 1e03          	ldw	x,(OFST+1,sp)
4966  0451 f7            	ld	(x),a
4967  0452 206f          	jra	L7772
4968  0454               L5272:
4969                     ; 144 				tmp = (hex >> 8) & 0x000F;
4971  0454 1e07          	ldw	x,(OFST+5,sp)
4972  0456 4f            	clr	a
4973  0457 01            	rrwa	x,a
4974  0458 01            	rrwa	x,a
4975  0459 a40f          	and	a,#15
4976  045b 5f            	clrw	x
4977  045c 02            	rlwa	x,a
4978  045d 1f01          	ldw	(OFST-1,sp),x
4979  045f 01            	rrwa	x,a
4980                     ; 145 				if(tmp > 9) *str = tmp + ('A' - 10);
4982  0460 1e01          	ldw	x,(OFST-1,sp)
4983  0462 a3000a        	cpw	x,#10
4984  0465 2509          	jrult	L5003
4987  0467 7b02          	ld	a,(OFST+0,sp)
4988  0469 ab37          	add	a,#55
4989  046b 1e03          	ldw	x,(OFST+1,sp)
4990  046d f7            	ld	(x),a
4992  046e 2053          	jra	L7772
4993  0470               L5003:
4994                     ; 146 				else *str = tmp + '0';
4996  0470 7b02          	ld	a,(OFST+0,sp)
4997  0472 ab30          	add	a,#48
4998  0474 1e03          	ldw	x,(OFST+1,sp)
4999  0476 f7            	ld	(x),a
5000  0477 204a          	jra	L7772
5001  0479               L7272:
5002                     ; 151 				tmp = (hex >> 4) & 0x000F;
5004  0479 1e07          	ldw	x,(OFST+5,sp)
5005  047b 54            	srlw	x
5006  047c 54            	srlw	x
5007  047d 54            	srlw	x
5008  047e 54            	srlw	x
5009  047f 01            	rrwa	x,a
5010  0480 a40f          	and	a,#15
5011  0482 5f            	clrw	x
5012  0483 5f            	clrw	x
5013  0484 97            	ld	xl,a
5014  0485 1f01          	ldw	(OFST-1,sp),x
5015                     ; 152 				if(tmp > 9) *str = tmp + ('A' - 10);
5017  0487 1e01          	ldw	x,(OFST-1,sp)
5018  0489 a3000a        	cpw	x,#10
5019  048c 2509          	jrult	L1103
5022  048e 7b02          	ld	a,(OFST+0,sp)
5023  0490 ab37          	add	a,#55
5024  0492 1e03          	ldw	x,(OFST+1,sp)
5025  0494 f7            	ld	(x),a
5027  0495 202c          	jra	L7772
5028  0497               L1103:
5029                     ; 153 				else *str = tmp + '0';
5031  0497 7b02          	ld	a,(OFST+0,sp)
5032  0499 ab30          	add	a,#48
5033  049b 1e03          	ldw	x,(OFST+1,sp)
5034  049d f7            	ld	(x),a
5035  049e 2023          	jra	L7772
5036  04a0               L1372:
5037                     ; 158 				tmp = hex & 0x000F;
5039  04a0 7b07          	ld	a,(OFST+5,sp)
5040  04a2 97            	ld	xl,a
5041  04a3 7b08          	ld	a,(OFST+6,sp)
5042  04a5 a40f          	and	a,#15
5043  04a7 5f            	clrw	x
5044  04a8 02            	rlwa	x,a
5045  04a9 1f01          	ldw	(OFST-1,sp),x
5046  04ab 01            	rrwa	x,a
5047                     ; 159 				if(tmp > 9) *str = tmp + ('A' - 10);
5049  04ac 1e01          	ldw	x,(OFST-1,sp)
5050  04ae a3000a        	cpw	x,#10
5051  04b1 2509          	jrult	L5103
5054  04b3 7b02          	ld	a,(OFST+0,sp)
5055  04b5 ab37          	add	a,#55
5056  04b7 1e03          	ldw	x,(OFST+1,sp)
5057  04b9 f7            	ld	(x),a
5059  04ba 2007          	jra	L7772
5060  04bc               L5103:
5061                     ; 160 				else *str = tmp + '0';
5063  04bc 7b02          	ld	a,(OFST+0,sp)
5064  04be ab30          	add	a,#48
5065  04c0 1e03          	ldw	x,(OFST+1,sp)
5066  04c2 f7            	ld	(x),a
5067  04c3               L7772:
5068                     ; 165 		width--;
5070  04c3 0a09          	dec	(OFST+7,sp)
5071                     ; 166 		str++;
5073  04c5 1e03          	ldw	x,(OFST+1,sp)
5074  04c7 1c0001        	addw	x,#1
5075  04ca 1f03          	ldw	(OFST+1,sp),x
5076  04cc               L1772:
5077                     ; 131 	while(width)
5079  04cc 0d09          	tnz	(OFST+7,sp)
5080  04ce 2703          	jreq	L001
5081  04d0 cc0416        	jp	L7672
5082  04d3               L001:
5083                     ; 168 }
5086  04d3 5b04          	addw	sp,#4
5087  04d5 81            	ret
5180                     ; 170 void showLine(const u8 x,const u8 y,u8* lcd_stack,char * str,...)
5180                     ; 171 {
5181                     	switch	.text
5182  04d6               _showLine:
5184  04d6 89            	pushw	x
5185  04d7 5204          	subw	sp,#4
5186       00000004      OFST:	set	4
5189                     ; 172 	u8 coordinate = 16 * y + x;
5191  04d9 9f            	ld	a,xl
5192  04da 97            	ld	xl,a
5193  04db a610          	ld	a,#16
5194  04dd 42            	mul	x,a
5195  04de 9f            	ld	a,xl

⌨️ 快捷键说明

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