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

📄 3310lcd_main.lst

📁 用AVR对诺基亚3310手机黑白液晶的驱动程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
 793               	/* epilogue: frame size=0 */
 794 040c DF91      		pop r29
 795 040e CF91      		pop r28
 796 0410 0895      		ret
 797               	/* epilogue end (size=3) */
 798               	/* function LCD_write_english_string size 15 (10) */
 799               	.LFE11:
 801               	.global	display_one_char
 803               	display_one_char:
 804               	.LFB10:
 805               	.LM74:
 806               	/* prologue: frame size=0 */
 807 0412 FF92      		push r15
 808 0414 0F93      		push r16
 809 0416 1F93      		push r17
 810               	/* prologue end (size=3) */
 811               	.LVL65:
 812 0418 142F      		mov r17,r20
 813               	.LM75:
 814 041a 06E0      		ldi r16,lo8(6)
 815 041c 809F      		mul r24,r16
 816 041e 802D      		mov r24,r0
 817 0420 1124      		clr r1
 818               	.LVL66:
 819 0422 0E94 0000 		call LCD_set_XY
 820               	.LVL67:
 821 0426 1052      		subi r17,lo8(-(-32))
 822 0428 109F      		mul r17,r16
 823 042a 8001      		movw r16,r0
 824 042c 1124      		clr r1
 825 042e 0050      		subi r16,lo8(-(font6x8))
 826 0430 1040      		sbci r17,hi8(-(font6x8))
 827 0432 FF24      		clr r15
 828               	.LVL68:
 829               	.L78:
 830               	.LBB63:
 831               	.LM76:
 832 0434 F801      		movw r30,r16
 833               	/* #APP */
 834 0436 8491      		lpm r24, Z
 835               		
 836               	.LVL69:
 837               	/* #NOAPP */
 838               	.LBE63:
 839 0438 61E0      		ldi r22,lo8(1)
 840 043a 0E94 0000 		call LCD_write_byte
 841               	.LVL70:
 842               	.LM77:
 843 043e F394      		inc r15
 844 0440 0F5F      		subi r16,lo8(-(1))
 845 0442 1F4F      		sbci r17,hi8(-(1))
 846 0444 F6E0      		ldi r31,lo8(6)
 847 0446 FF16      		cp r15,r31
 848 0448 01F4      		brne .L78
 849               	.LM78:
 850 044a 61E0      		ldi r22,lo8(1)
 851 044c 80E0      		ldi r24,lo8(0)
 852 044e 0E94 0000 		call LCD_write_byte
 853               	/* epilogue: frame size=0 */
 854 0452 1F91      		pop r17
 855 0454 0F91      		pop r16
 856 0456 FF90      		pop r15
 857 0458 0895      		ret
 858               	/* epilogue end (size=4) */
 859               	/* function display_one_char size 39 (32) */
 860               	.LFE10:
 862               	.global	LCD_clear
 864               	LCD_clear:
 865               	.LFB7:
 866               	.LM79:
 867               	/* prologue: frame size=0 */
 868 045a CF93      		push r28
 869 045c DF93      		push r29
 870               	/* prologue end (size=2) */
 871               	.LM80:
 872 045e 60E0      		ldi r22,lo8(0)
 873 0460 8CE0      		ldi r24,lo8(12)
 874 0462 0E94 0000 		call LCD_write_byte
 875               	.LM81:
 876 0466 60E0      		ldi r22,lo8(0)
 877 0468 80E8      		ldi r24,lo8(-128)
 878 046a 0E94 0000 		call LCD_write_byte
 879 046e C0E0      		ldi r28,lo8(0)
 880 0470 D0E0      		ldi r29,hi8(0)
 881               	.LVL71:
 882               	.L84:
 883               	.LM82:
 884 0472 61E0      		ldi r22,lo8(1)
 885 0474 80E0      		ldi r24,lo8(0)
 886 0476 0E94 0000 		call LCD_write_byte
 887               	.LM83:
 888 047a 2196      		adiw r28,1
 889 047c 81E0      		ldi r24,hi8(504)
 890 047e C83F      		cpi r28,lo8(504)
 891 0480 D807      		cpc r29,r24
 892 0482 01F4      		brne .L84
 893               	/* epilogue: frame size=0 */
 894 0484 DF91      		pop r29
 895 0486 CF91      		pop r28
 896 0488 0895      		ret
 897               	/* epilogue end (size=3) */
 898               	/* function LCD_clear size 24 (19) */
 899               	.LFE7:
 901               	.global	LCD_init
 903               	LCD_init:
 904               	.LFB6:
 905               	.LM84:
 906               	/* prologue: frame size=0 */
 907               	/* prologue end (size=0) */
 908               	.LM85:
 909 048a C698      		cbi 56-0x20,6
 910               	.LBB64:
 911               	.LBB65:
 912               	.LBB66:
 913               	.LBB67:
 914               	.LM86:
 915 048c 85E0      		ldi r24,lo8(5)
 916 048e 982F      		mov r25,r24
 917               	.LVL72:
 918               	/* #APP */
 919 0490 9A95      		1: dec r25
 920 0492 01F4      		brne 1b
 921               	/* #NOAPP */
 922               	.LBE67:
 923               	.LBE66:
 924               	.LBE65:
 925               	.LBE64:
 926               	.LM87:
 927 0494 C69A      		sbi 56-0x20,6
 928               	.LM88:
 929 0496 C498      		cbi 56-0x20,4
 930               	.LBB68:
 931               	.LBB69:
 932               	.LBB70:
 933               	.LBB71:
 934               	.LM89:
 935 0498 982F      		mov r25,r24
 936               	.LVL73:
 937               	/* #APP */
 938 049a 9A95      		1: dec r25
 939 049c 01F4      		brne 1b
 940               	/* #NOAPP */
 941               	.LBE71:
 942               	.LBE70:
 943               	.LBE69:
 944               	.LBE68:
 945               	.LM90:
 946 049e C49A      		sbi 56-0x20,4
 947               	.LBB72:
 948               	.LBB73:
 949               	.LBB74:
 950               	.LBB75:
 951               	.LM91:
 952               	/* #APP */
 953 04a0 8A95      		1: dec r24
 954 04a2 01F4      		brne 1b
 955               	.LVL74:
 956               	/* #NOAPP */
 957               	.LBE75:
 958               	.LBE74:
 959               	.LBE73:
 960               	.LBE72:
 961               	.LM92:
 962 04a4 60E0      		ldi r22,lo8(0)
 963 04a6 81E2      		ldi r24,lo8(33)
 964               	.LVL75:
 965 04a8 0E94 0000 		call LCD_write_byte
 966               	.LVL76:
 967               	.LM93:
 968 04ac 60E0      		ldi r22,lo8(0)
 969 04ae 88EC      		ldi r24,lo8(-56)
 970 04b0 0E94 0000 		call LCD_write_byte
 971               	.LM94:
 972 04b4 60E0      		ldi r22,lo8(0)
 973 04b6 86E0      		ldi r24,lo8(6)
 974 04b8 0E94 0000 		call LCD_write_byte
 975               	.LM95:
 976 04bc 60E0      		ldi r22,lo8(0)
 977 04be 82E1      		ldi r24,lo8(18)
 978 04c0 0E94 0000 		call LCD_write_byte
 979               	.LM96:
 980 04c4 60E0      		ldi r22,lo8(0)
 981 04c6 80E2      		ldi r24,lo8(32)
 982 04c8 0E94 0000 		call LCD_write_byte
 983               	.LM97:
 984 04cc 0E94 0000 		call LCD_clear
 985               	.LM98:
 986 04d0 60E0      		ldi r22,lo8(0)
 987 04d2 8CE0      		ldi r24,lo8(12)
 988 04d4 0E94 0000 		call LCD_write_byte
 989               	.LM99:
 990 04d8 C498      		cbi 56-0x20,4
 991               	.LM100:
 992 04da 0E94 0000 		call LCD_clear
 993               	/* epilogue: frame size=0 */
 994 04de 0895      		ret
 995               	/* epilogue end (size=1) */
 996               	/* function LCD_init size 49 (48) */
 997               	.LFE6:
 999               		.data
 1000               	.LC0:
 1001 0000 3231 3920 		.string	"219 da yin shi"
 1001      6461 2079 
 1001      696E 2073 
 1001      6869 00
 1002               		.text
 1003               	.global	main
 1005               	main:
 1006               	.LFB16:
 1007               	.LM101:
 1008               	/* prologue: frame size=0 */
 1009 04e0 CF92      		push r12
 1010 04e2 DF92      		push r13
 1011 04e4 EF92      		push r14
 1012 04e6 0F93      		push r16
 1013 04e8 CF93      		push r28
 1014 04ea DF93      		push r29
 1015               	/* prologue end (size=6) */
 1016               	.LM102:
 1017 04ec 8DE9      		ldi r24,lo8(-99)
 1018 04ee 81BF      		out 81-0x20,r24
 1019               	.LM103:
 1020 04f0 87B3      		in r24,55-0x20
 1021 04f2 886F      		ori r24,lo8(-8)
 1022 04f4 87BB      		out 55-0x20,r24
 1023               	.LM104:
 1024 04f6 709A      		sbi 46-0x20,0
 1025               	.LM105:
 1026 04f8 8DB1      		in r24,45-0x20
 1027 04fa 8065      		ori r24,lo8(80)
 1028 04fc 8DB9      		out 45-0x20,r24
 1029               	.LM106:
 1030 04fe 0E94 0000 		call LCD_init
 1031 0502 90E0      		ldi r25,lo8(AVR_bmp)
 1032 0504 C92E      		mov r12,r25
 1033 0506 90E0      		ldi r25,hi8(AVR_bmp)
 1034 0508 D92E      		mov r13,r25
 1035 050a C0E0      		ldi r28,lo8(.LC0)
 1036 050c D0E0      		ldi r29,hi8(.LC0)
 1037               	.L92:
 1038               	.LM107:
 1039 050e EE24      		clr r14
 1040 0510 00E0      		ldi r16,lo8(0)
 1041 0512 23E0      		ldi r18,lo8(3)
 1042 0514 4CE0      		ldi r20,lo8(12)
 1043 0516 63E0      		ldi r22,lo8(3)
 1044 0518 80E0      		ldi r24,lo8(0)
 1045 051a 0E94 0000 		call LCD_write_chinese_string
 1046               	.LM108:
 1047 051e 00E2      		ldi r16,lo8(32)
 1048 0520 20E3      		ldi r18,lo8(48)
 1049 0522 A601      		movw r20,r12
 1050 0524 62E0      		ldi r22,lo8(2)
 1051 0526 84E2      		ldi r24,lo8(36)
 1052 0528 0E94 0000 		call LCD_draw_bmp_pixel
 1053               	.LM109:
 1054 052c AE01      		movw r20,r28
 1055 052e 65E0      		ldi r22,lo8(5)
 1056 0530 80E0      		ldi r24,lo8(0)
 1057 0532 0E94 0000 		call LCD_write_english_string
 1058               	.LM110:
 1059 0536 44E6      		ldi r20,lo8(100)
 1060 0538 60E0      		ldi r22,lo8(0)
 1061 053a 80E0      		ldi r24,lo8(0)
 1062 053c 0E94 0000 		call LCD_move_chinese_string
 1063 0540 00C0      		rjmp .L92
 1064               	/* epilogue: frame size=0 */
 1065               	/* epilogue: noreturn */
 1066               	/* epilogue end (size=0) */
 1067               	/* function main size 49 (43) */
 1068               	.LFE16:
 1070               	.global	AVR_bmp
 1071               		.section	.progmem.data,"a",@progbits
 1074               	AVR_bmp:
 1075 0000 00        		.byte	0
 1076 0001 00        		.byte	0
 1077 0002 00        		.byte	0
 1078 0003 00        		.byte	0
 1079 0004 80        		.byte	-128
 1080 0005 E0        		.byte	-32
 1081 0006 FC        		.byte	-4
 1082 0007 FF        		.byte	-1
 1083 0008 FF        		.byte	-1
 1084 0009 FF        		.byte	-1
 1085 000a 7F        		.byte	127
 1086 000b FF        		.byte	-1
 1087 000c FE        		.byte	-2
 1088 000d FC        		.byte	-4
 1089 000e F0        		.byte	-16
 1090 000f C1        		.byte	-63
 1091 0010 0F        		.byte	15
 1092 0011 7F        		.byte	127
 1093 0012 FF        		.byte	-1
 1094 0013 FF        		.byte	-1
 1095 0014 FE        		.byte	-2
 1096 0015 F0        		.byte	-16
 1097 0016 C0        		.byte	-64
 1098 0017 00        		.byte	0
 1099 0018 00        		.byte	0
 1100 0019 00        		.byte	0
 1101 001a C0        		.byte	-64
 1102 001b F8        		.byte	-8
 1103 001c FE        		.byte	-2
 1104 001d FF        		.byte	-1
 1105 001e FF        		.byte	-1
 1106 001f 3F        		.byte	63
 1107 0020 07        		.byte	7
 1108 0021 C1        		.byte	-63
 1109 0022 F0        		.byte	-16
 1110 0023 FE        		.byte	-2
 1111 0024 FF        		.byte	-1
 1112 0025 FF        		.byte	-1
 1113 0026 FF        		.byte	-1
 1114 0027 1F        		.byte	31
 1115 0028 07        		.byte	7
 1116 0029 8F        		.byte	-113
 1117 002a CF        		.byte	-49
 1118 002b FF        		.byte	-1
 1119 002c FF        		.byte	-1
 1120 002d FF        		.byte	-1
 1121 002e FE        		.byte	-2
 1122 002f FC        		.byte	-4
 1123 0030 00        		.byte	0
 1124 0031 80        		.byte	-128
 1125 0032 F0        		.byte	-16
 1126 0033 FC        		.byte	-4
 1127 0034 FF        		.byte	-1
 1128 0035 FF        		.byte	-1
 1129 0036 FF        		.byte	-1
 1130 0037 7F        		.byte	127
 1131 0038 7F        		.byte	127
 1132 0039 78        		.byte	120
 1133 003a 78        		.byte	120
 1134 003b 79        		.byte	121
 1135 003c 7F        		.byte	127
 1136 003d 7F        		.byte	127
 1137 003e FF        		.byte	-1
 1138 003f FF        		.byte	-1
 1139 0040 FC        		.byte	-4
 1140 0041 F0        		.byte	-16
 1141 0042 C1        		.byte	-63
 1142 0043 07        		.byte	7
 1143 0044 1F        		.byte	31
 1144 0045 FF        		.byte	-1
 1145 0046 FF        		.byte	-1
 1146 0047 FE        		.byte	-2
 1147 0048 FC        		.byte	-4
 1148 0049 FF        		.byte	-1
 1149 004a FF        		.byte	-1
 1150 004b FF        		.byte	-1
 1151 004c 1F        		.byte	31
 1152 004d 07        		.byte	7
 1153 004e C1        		.byte	-63
 1154 004f F0        		.byte	-16
 1155 0050 FE        		.byte	-2
 1156 0051 FF        		.byte	-1
 1157 0052 FF        		.byte	-1
 1158 0053 3F        		.byte	63
 1159 0054 0F        		.byte	15
 1160 0055 0F        		.byte	15
 1161 0056 7F        		.byte	127
 1162 0057 FF        		.byte	-1
 1163 0058 FF        		.byte	-1
 1164 0059 FF        		.byte	-1
 1165 005a FF        		.byte	-1
 1166 005b E7        		.byte	-25
 1167 005c 07        		.byte	7
 1168 005d 03        		.byte	3
 1169 005e 01        		.byte	1
 1170 005f 00        		.byte	0
 1171 0060 02        		.byte	2
 1172 0061 03        		.byte	3
 1173 0062 03        		.byte	3
 1174 0063 03        		.byte	3
 1175 0064 03        		.byte	3
 1176 0065 03        		.byte	3
 1177 0066 00        		.byte	0
 1178 0067 00        		.byte	0
 1179 0068 00        		.byte	0
 1180 0069 00        		.byte	0
 1181 006a 00        		.byte	0
 1182 006b 00        		.byte	0
 1183 006c 00        		.byte	0
 1184 006d 00        		.byte	0
 1185 006e 00        		.byte	0
 1186 006f 03        		.byte	3

⌨️ 快捷键说明

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