📄 main.lst
字号:
906 008c 07C0 rjmp .L27
907 .L24:
63:lcd_cn.c **** else if(sway==0x04)
909 .LM25:
910 008e 8430 cpi r24,lo8(4)
911 0090 61F4 brne .L17
64:lcd_cn.c **** w_lcd(com,0x32), w_lcd(com,0x0d), w_lcd(com,0x07); //cursor flash, move ledt wehn writing
913 .LM26:
914 0092 62E3 ldi r22,lo8(50)
915 0094 80E0 ldi r24,lo8(0)
916 0096 0E94 0000 call w_lcd
917 009a 6DE0 ldi r22,lo8(13)
918 .L27:
919 009c 80E0 ldi r24,lo8(0)
920 009e 0E94 0000 call w_lcd
921 00a2 67E0 ldi r22,lo8(7)
922 .L28:
923 00a4 80E0 ldi r24,lo8(0)
924 .L29:
925 00a6 0E94 0000 call w_lcd
926 .L17:
927 /* epilogue: frame size=0 */
928 00aa CF91 pop r28
929 00ac 0895 ret
930 /* epilogue end (size=2) */
931 /* function set size 54 (51) */
933 .Lscope2:
939 .global rv
941 rv:
65:lcd_cn.c **** // else if(sway==0x40) w_lcd(com,0x34), w_lcd(com,0x34); //not display pitures
66:lcd_cn.c **** // else if(sway==0x41) w_lcd(com,0x36), w_lcd(com,0x36); //display pitures
67:lcd_cn.c **** }
68:lcd_cn.c ****
69:lcd_cn.c **** /*-----------------------------------------------*/
70:lcd_cn.c **** //当type=3,在x0,y0处反白显示16*xl*16.
71:lcd_cn.c **** //当type=2,在x0,y0处前半反白显示8*xl*16.
72:lcd_cn.c **** //当type=1时,在x0,y0处后半反白显示8*xl*16.
73:lcd_cn.c **** //当type=时,不反白显示
74:lcd_cn.c **** //xl为反白显示的长度
75:lcd_cn.c **** void rv(uchar type,uchar xx0,uchar yy0,uchar xl)
76:lcd_cn.c **** { uchar i,j;
943 .LM27:
944 /* prologue: frame size=0 */
945 00ae CF92 push r12
946 00b0 DF92 push r13
947 00b2 EF92 push r14
948 00b4 FF92 push r15
949 00b6 0F93 push r16
950 00b8 1F93 push r17
951 00ba CF93 push r28
952 /* prologue end (size=7) */
953 00bc 962F mov r25,r22
954 00be D22E mov r13,r18
77:lcd_cn.c **** uchar data1,data2,x0,y0;
78:lcd_cn.c **** if(type==0)
956 .LM28:
957 00c0 8823 tst r24
958 00c2 11F4 brne .L32
79:lcd_cn.c **** data1=0,data2=0;
960 .LM29:
961 00c4 082F mov r16,r24
962 00c6 0EC0 rjmp .L53
963 .L32:
80:lcd_cn.c **** else if(type==1)
965 .LM30:
966 00c8 8130 cpi r24,lo8(1)
967 00ca 19F4 brne .L34
81:lcd_cn.c **** data1=0,data2=0xff;
969 .LM31:
970 00cc CC24 clr r12
971 00ce 0FEF ldi r16,lo8(-1)
972 00d0 0AC0 rjmp .L33
973 .L34:
82:lcd_cn.c **** else if(type==2)
975 .LM32:
976 00d2 8230 cpi r24,lo8(2)
977 00d4 21F4 brne .L36
83:lcd_cn.c **** data1=0xff,data2=0;
979 .LM33:
980 00d6 FFEF ldi r31,lo8(-1)
981 00d8 CF2E mov r12,r31
982 00da 00E0 ldi r16,lo8(0)
983 00dc 04C0 rjmp .L33
984 .L36:
84:lcd_cn.c **** else if(type==3)
986 .LM34:
987 00de 8330 cpi r24,lo8(3)
988 00e0 11F4 brne .L33
85:lcd_cn.c **** data1=0xff,data2=0xff;
990 .LM35:
991 00e2 0FEF ldi r16,lo8(-1)
992 .L53:
993 00e4 C02E mov r12,r16
994 .L33:
995 00e6 642F mov r22,r20
996 00e8 7727 clr r23
86:lcd_cn.c **** if(yy0>1)
998 .LM36:
999 00ea 4230 cpi r20,lo8(2)
1000 00ec 58F0 brlo .L39
87:lcd_cn.c **** y0=(yy0-2)*16+0x80,x0=xx0+0x88;
1002 .LM37:
1003 00ee E4E0 ldi r30,4
1004 00f0 660F 1: lsl r22
1005 00f2 771F rol r23
1006 00f4 EA95 dec r30
1007 00f6 E1F7 brne 1b
1008 00f8 50E6 ldi r21,lo8(96)
1009 00fa E52E mov r14,r21
1010 00fc E60E add r14,r22
1011 00fe 48E8 ldi r20,lo8(-120)
1012 0100 F42E mov r15,r20
1013 0102 0AC0 rjmp .L54
1014 .L39:
88:lcd_cn.c **** else
89:lcd_cn.c **** y0=yy0*16+0x80,x0=xx0+0x80;
1016 .LM38:
1017 0104 34E0 ldi r19,4
1018 0106 660F 1: lsl r22
1019 0108 771F rol r23
1020 010a 3A95 dec r19
1021 010c E1F7 brne 1b
1022 010e 20E8 ldi r18,lo8(-128)
1023 0110 E22E mov r14,r18
1024 0112 E60E add r14,r22
1025 0114 80E8 ldi r24,lo8(-128)
1026 0116 F82E mov r15,r24
1027 .L54:
1028 0118 F90E add r15,r25
90:lcd_cn.c **** for(j=0;j<16;j++)
1030 .LM39:
1031 011a 10E0 ldi r17,lo8(0)
1032 .L48:
91:lcd_cn.c **** {
92:lcd_cn.c **** for(i=0;i<xl;i++)
1034 .LM40:
1035 011c C0E0 ldi r28,lo8(0)
1036 .L55:
1037 011e CD15 cp r28,r13
1038 0120 E8F4 brsh .L52
93:lcd_cn.c **** {
94:lcd_cn.c **** w_lcd (com,0x34);
1040 .LM41:
1041 0122 64E3 ldi r22,lo8(52)
1042 0124 80E0 ldi r24,lo8(0)
1043 0126 0E94 0000 call w_lcd
95:lcd_cn.c **** w_lcd (com,y0+j);
1045 .LM42:
1046 012a 6E2D mov r22,r14
1047 012c 610F add r22,r17
1048 012e 80E0 ldi r24,lo8(0)
1049 0130 0E94 0000 call w_lcd
96:lcd_cn.c **** w_lcd (com,x0+i);
1051 .LM43:
1052 0134 8F2D mov r24,r15
1053 0136 8C0F add r24,r28
1054 0138 682F mov r22,r24
1055 013a 80E0 ldi r24,lo8(0)
1056 013c 0E94 0000 call w_lcd
97:lcd_cn.c **** w_lcd (com,0x30);
1058 .LM44:
1059 0140 60E3 ldi r22,lo8(48)
1060 0142 80E0 ldi r24,lo8(0)
1061 0144 0E94 0000 call w_lcd
98:lcd_cn.c **** w_lcd (dat,data1);
1063 .LM45:
1064 0148 6C2D mov r22,r12
1065 014a 81E0 ldi r24,lo8(1)
1066 014c 0E94 0000 call w_lcd
99:lcd_cn.c **** w_lcd (dat,data2);
1068 .LM46:
1069 0150 602F mov r22,r16
1070 0152 81E0 ldi r24,lo8(1)
1071 0154 0E94 0000 call w_lcd
1073 .LM47:
1074 0158 CF5F subi r28,lo8(-(1))
1075 015a E1CF rjmp .L55
1076 .L52:
1078 .LM48:
1079 015c 1F5F subi r17,lo8(-(1))
1080 015e 1031 cpi r17,lo8(16)
1081 0160 E8F2 brlo .L48
100:lcd_cn.c **** }
101:lcd_cn.c **** }
102:lcd_cn.c **** w_lcd (com,0x36);
1083 .LM49:
1084 0162 66E3 ldi r22,lo8(54)
1085 0164 80E0 ldi r24,lo8(0)
1086 0166 0E94 0000 call w_lcd
1087 /* epilogue: frame size=0 */
1088 016a CF91 pop r28
1089 016c 1F91 pop r17
1090 016e 0F91 pop r16
1091 0170 FF90 pop r15
1092 0172 EF90 pop r14
1093 0174 DF90 pop r13
1094 0176 CF90 pop r12
1095 0178 0895 ret
1096 /* epilogue end (size=8) */
1097 /* function rv size 102 (87) */
1107 .Lscope3:
1109 .global rvn
1111 rvn:
103:lcd_cn.c **** }
104:lcd_cn.c ****
105:lcd_cn.c **** void rvn(void)
106:lcd_cn.c **** {
1113 .LM50:
1114 /* prologue: frame size=0 */
1115 /* prologue end (size=0) */
107:lcd_cn.c **** rv(0,0,0,8);
1117 .LM51:
1118 017a 28E0 ldi r18,lo8(8)
1119 017c 40E0 ldi r20,lo8(0)
1120 017e 642F mov r22,r20
1121 0180 842F mov r24,r20
1122 0182 0E94 0000 call rv
108:lcd_cn.c **** rv(0,0,1,8);
1124 .LM52:
1125 0186 28E0 ldi r18,lo8(8)
1126 0188 41E0 ldi r20,lo8(1)
1127 018a 60E0 ldi r22,lo8(0)
1128 018c 862F mov r24,r22
1129 018e 0E94 0000 call rv
109:lcd_cn.c **** rv(0,0,2,8);
1131 .LM53:
1132 0192 28E0 ldi r18,lo8(8)
1133 0194 42E0 ldi r20,lo8(2)
1134 0196 60E0 ldi r22,lo8(0)
1135 0198 862F mov r24,r22
1136 019a 0E94 0000 call rv
110:lcd_cn.c **** rv(0,0,3,8);
1138 .LM54:
1139 019e 28E0 ldi r18,lo8(8)
1140 01a0 43E0 ldi r20,lo8(3)
1141 01a2 60E0 ldi r22,lo8(0)
1142 01a4 862F mov r24,r22
1143 01a6 0E94 0000 call rv
1144 /* epilogue: frame size=0 */
1145 01aa 0895 ret
1146 /* epilogue end (size=1) */
1147 /* function rvn size 25 (24) */
1149 .Lscope4:
1152 .global clr
1154 clr:
111:lcd_cn.c **** }
112:lcd_cn.c ****
113:lcd_cn.c **** void clr(uchar ty)
114:lcd_cn.c **** {
1156 .LM55:
1157 /* prologue: frame size=0 */
1158 01ac FF92 push r15
1159 01ae 0F93 push r16
1160 01b0 1F93 push r17
1161 01b2 CF93 push r28
1162 01b4 DF93 push r29
1163 /* prologue end (size=5) */
1164 01b6 F82E mov r15,r24
115:lcd_cn.c **** uint i,j;
116:lcd_cn.c **** if(ty==1||ty==3) //clean charter
1166 .LM56:
1167 01b8 21E0 ldi r18,lo8(1)
1168 01ba 8217 cp r24,r18
1169 01bc 19F0 breq .L59
1171 .LM57:
1172 01be 83E0 ldi r24,lo8(3)
1173 01c0 F816 cp r15,r24
1174 01c2 41F4 brne .L58
1175 .L59:
117:lcd_cn.c **** w_lcd(com,0x32), w_lcd(com,0x01);
1177 .LM58:
1178 01c4 62E3 ldi r22,lo8(50)
1179 01c6 80E0 ldi r24,lo8(0)
1180 01c8 0E94 0000 call w_lcd
1181 01cc 61E0 ldi r22,lo8(1)
1182 01ce 80E0 ldi r24,lo8(0)
1183 01d0 0E94 0000 call w_lcd
1184 .L58:
118:lcd_cn.c **** if(ty==2||ty==3) //clean piture
1186 .LM59:
1187 01d4 8F2D mov r24,r15
1188 01d6 8250 subi r24,lo8(-(-2))
1189 01d8 8230 cpi r24,lo8(2)
1190 01da F0F4 brsh .L60
119:lcd_cn.c **** {
120:lcd_cn.c **** w_lcd(com,0x34);
1192 .LM60:
1193 01dc 64E3 ldi r22,lo8(52)
1194 01de 80E0 ldi r24,lo8(0)
1195 01e0 0E94 0000 call w_lcd
121:lcd_cn.c **** for(j=0;j<32;j++) //draw the down half piture
1197 .LM61:
1198 01e4 00E0 ldi r16,lo8(0)
1199 01e6 10E0 ldi r17,hi8(0)
1200 .L68:
122:lcd_cn.c **** {
123:lcd_cn.c **** w_lcd(com,0x80+j); //Y address
1202 .LM62:
1203 01e8 802F mov r24,r16
1204 01ea 8058 subi r24,lo8(-(-128))
1205 01ec 682F mov r22,r24
1206 01ee 80E0 ldi r24,lo8(0)
1207 01f0 0E94 0000 call w_lcd
124:lcd_cn.c **** w_lcd(com,0x80); //X address
1209 .LM63:
1210 01f4 60E8 ldi r22,lo8(-128)
1211 01f6 80E0 ldi r24,lo8(0)
1212 01f8 0E94 0000 call w_lcd
1213 01fc CFE1 ldi r28,lo8(31)
1214 01fe D0E0 ldi r29,hi8(31)
1215 .L67:
125:lcd_cn.c **** for(i=0;i<32;i++)
126:lcd_cn.c **** w_lcd(dat,0);
1217 .LM64:
1218 0200 60E0 ldi r22,lo8(0)
1219 0202 81E0 ldi r24,lo8(1)
1220 0204 0E94 0000 call w_lcd
1222 .LM65:
1223 0208 2197 sbiw r28,1
1224 020a D7FF sbrs r29,7
1225 020c F9CF rjmp .L67
1227 .LM66:
1228 020e 0F5F subi r16,lo8(-(1))
1229 0210 1F4F sbci r17,hi8(-(1))
1230 0212 0032 cpi r16,32
1231 0214 1105 cpc r17,__zero_reg__
1232 0216 40F3 brlo .L68
1233 .L60:
127:lcd_cn.c **** }
128:lcd_cn.c **** }
129:lcd_cn.c **** if(ty==8) //clr dis buffer
1235 .LM67:
1236 0218 28E0 ldi r18,lo8(8)
1237 021a F216 cp r15,r18
1238 021c 51F4 brne .L57
1239 021e 80E0 ldi r24,lo8(disbuf)
1240 0220 90E0 ldi r25,hi8(disbuf)
1241 0222 FC01 movw r30,r24
1242 .L73:
130:lcd_cn.c **** {
131:lcd_cn.c **** for(i=0;i<1024;i++)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -